• Get $30 off VIP with code SUMMER30. Ends July 27. Happy trading!

Create Strategy to open position on 3rd candle above 9 SMA

IM140.6

New member
Sorry, I'm just no good at deciphering the language at TOS Learning Center. All I want to do is to have my strategy issue a BUY when the 3rd candles opens above the 9 SMA and CLOSE my position when the candle finally closes below the 9 SMA.

So basically, to open: candle 1 crosses above 9 SMA, candle 2 closes above 9 SMA, candle 3 (buy) opens above 9 SMA. Sounds so easy but I just can't figure it out. :(
 

BenTen

Administrative
Staff
VIP
My attempt:

Code:
#
# TD Ameritrade IP Company, Inc. (c) 2017-2020
#

input price = close;
input length = 9;
input displace = 0;

def AvgExp = ExpAverage(price[-displace], length);

def condition1 = close[3] crosses above AvgExp;
def condition2 = close > AvgExp;

def buy = condition1 and condition2;
def sell = close crosses below AvgExp;

AddOrder(OrderType.BUY_TO_OPEN, condition = buy, price = close,1, tickcolor = Color.GREEN, arrowcolor = Color.GREEN, name = "Long");
AddOrder(OrderType.SELL_TO_CLOSE, condition = sell, price = close,1, tickcolor = Color.GREEN, arrowcolor = Color.GREEN, name = "Cover");
 

MerryDay

Well-known member
VIP
@poststreet Now you gotz arrows: :)
Code:
# Buy 3rd candle above 9SMA
input price = close;
input length = 9;
input displace = 0;

def AvgExp = ExpAverage(price[-displace], length);
def condition1 = close[3] crosses above AvgExp;
def condition2 = close > AvgExp;

def buy = condition1 and condition2;
def sell = close crosses below AvgExp;

def arrow_plots = high – low;
def plotHigh    = high + arrow_plots * 0.3;
def plotLow     = low  - arrow_plots * 0.3;

plot buyarrow  = if buy then plotLow else double.NaN ;
plot sellarrow = if sell then plotHigh else double.NaN ;

buyarrow.SetPaintingStrategy(PaintingStrategy.ARROW_UP) ;
buyarrow.SetLineWeight(2);
buyarrow.SetDefaultColor(color.cyan) ;

sellarrow.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
sellarrow.SetLineWeight(2);
sellarrow.SetDefaultColor(color.magenta) ;

# Alerts
Alert(buyarrow, " ", Alert.Bar, Sound.Ring);
Alert(sellarrow, " ", Alert.Bar, Sound.Bell);
 

Similar threads

Top