cheual
New member
Hello!
I'm a novice to programming and ThinkScript. I'm working on the backtesting and struggling to write a script that I can change the AddOrder by simply letting the user change it via Input as Long Only or Short Only.
Note: this script isn't working yet but would appreciate everyone's input to make it work. Thanks in advance for helping me learn ThinkScript.
#Backtest for if Long Only or Short Only
input Direction = {default Long Only, Short Only};
def EMA = ExpAverage(close, 8);
def BUYarrow = close < EMA;
def SELLarrow = close > EMA;
plot BUYarrow;
plot SELLarrow;
BUYarrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
SELLarrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
switch (direction) {
case Long Only:
AddOrder(OrderType.BUY_TO_OPEN, condition = BUYarrow, price = ohlc4, tickcolor = Color.CYAN, arrowcolor = Color.CYAN, name = "BUY @ " + ohlc4);
AddOrder(OrderType.SELL_TO_CLOSE, condition = SELLarrow, price = ohlc4, tickcolor = Color.MAGENTA, arrowcolor = Color.WHITE, name = "SELL @ " + ohlc4);
case Short Only:
AddOrder(OrderType.SELL_TO_OPEN, condition = SELLarrow, price = ohlc4, tickcolor = Color.CYAN, arrowcolor = Color.CYAN, name = "BUY @ " + ohlc4);
AddOrder(OrderType.BUY_TO_CLOSE, condition = BUYarrow, price = ohlc4, tickcolor = Color.MAGENTA, arrowcolor = Color.WHITE, name = "SELL @ " + ohlc4);
}
I'm a novice to programming and ThinkScript. I'm working on the backtesting and struggling to write a script that I can change the AddOrder by simply letting the user change it via Input as Long Only or Short Only.
Note: this script isn't working yet but would appreciate everyone's input to make it work. Thanks in advance for helping me learn ThinkScript.
#Backtest for if Long Only or Short Only
input Direction = {default Long Only, Short Only};
def EMA = ExpAverage(close, 8);
def BUYarrow = close < EMA;
def SELLarrow = close > EMA;
plot BUYarrow;
plot SELLarrow;
BUYarrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
SELLarrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
switch (direction) {
case Long Only:
AddOrder(OrderType.BUY_TO_OPEN, condition = BUYarrow, price = ohlc4, tickcolor = Color.CYAN, arrowcolor = Color.CYAN, name = "BUY @ " + ohlc4);
AddOrder(OrderType.SELL_TO_CLOSE, condition = SELLarrow, price = ohlc4, tickcolor = Color.MAGENTA, arrowcolor = Color.WHITE, name = "SELL @ " + ohlc4);
case Short Only:
AddOrder(OrderType.SELL_TO_OPEN, condition = SELLarrow, price = ohlc4, tickcolor = Color.CYAN, arrowcolor = Color.CYAN, name = "BUY @ " + ohlc4);
AddOrder(OrderType.BUY_TO_CLOSE, condition = BUYarrow, price = ohlc4, tickcolor = Color.MAGENTA, arrowcolor = Color.WHITE, name = "SELL @ " + ohlc4);
}