This video explains how to use conditional statements in coding. It covers if-else statements, switches, and ternary operators for decision-making. Paul demonstrates coding examples, including indentation, conditions, assignments, and plotting. The concepts are explained through practical coding and examples in PineScript.
Conditional statements are powerful tools in Pine Script, the scripting language for creating custom indicators and strategies on TradingView. In this post, we’ll delve into the world of conditional statements, exploring if-else statements, the ternary operator, and the new switch statement introduced in Pine Script version 5. Whether you’re a seasoned Pine Script developer or just starting out, this guide will help you understand how to make informed decisions in your trading strategies.
At the heart of conditional statements are if-else statements. These allow you to execute different blocks of code based on specified conditions. Let’s start by breaking down a simple if-else statement:
d = false
if close > open
d := true
plotshape(d, style=shape.triangleup, location=location.abovebar)
Here, we’re checking if the close price is greater than the open price. If true, we set the variable d
to true
, and we plot an upward triangle above the bar. Notice the use of indentation to define the code block under the if
condition.
The ternary operator offers a concise way to write conditional statements in a single line. It allows you to assign a value based on a condition. Here’s how you can rewrite the previous example using the ternary operator:
d = close > open ? true : false
plotshape(d, style=shape.triangleup, location=location.abovebar)
In this case, d
is assigned true
if the condition holds and false
otherwise. The ternary operator can make your code cleaner and more readable, especially for simpler conditions.
Pine Script version 5 introduced the switch statement, which is handy when dealing with multiple cases. Let’s say you want to select a moving average type based on user input. Here’s how you can achieve this using the switch statement:
//@version=5
indicator("Moving Average Selector", overlay=true)
maType = input.string(title="MA Type", defval="SMA", options=["SMA", "EMA", "WMA"])
maSource = input.source(title="MA Source", defval=close)
maLength = input.int(title="MA Length", defval=14)
selectedMA =
switch maType
"SMA" => ta.sma(maSource, maLength)
"EMA" => ta.ema(maSource, maLength)
"WMA" => ta.wma(maSource, maLength)
// Default case
na
plot(selectedMA, title="Selected MA", color=color.blue)
In this example, the switch statement checks the value of maType
and returns the corresponding moving average type. The code is efficient and easy to read, making it a great choice for managing multiple conditions.
Conditional statements are essential for building flexible and dynamic trading strategies in Pine Script. Whether you prefer the traditional if-else approach, the concise ternary operator, or the new switch statement for managing multiple cases, each method has its merits. Choose the one that suits your coding style and strategy requirements. With a solid understanding of conditional statements, you’ll be well-equipped to make informed decisions in your trading scripts.
quiz doesn’t tell you which question(s) had an error.
Hey Daga, when you are finished with the quizzes you can click “View Questions” and it will show you which questions you got right and wrong.