Hey guys I've searched this forum but cant seem to find the answer. I'm trying to figure out how set up a scan using this Supertrend strategy.
https://github.com/sureshja/ThinkOrSwim/blob/master/SuperTrend.ts
I've tried everything I can think of but cant figure it out. Hoping someone here can help me figure out how to do it. Thank you
https://github.com/sureshja/ThinkOrSwim/blob/master/SuperTrend.ts
I've tried everything I can think of but cant figure it out. Hoping someone here can help me figure out how to do it. Thank you
Code:
declare upper;
input ST_Coeff = 3; # Between 1 - 100
input ST_Period = 7; #Between 1 - 100
def iATR = ATR(ST_Period);
def tmpUp = hl2 - (ST_Coeff * iATR);
def tmpDn = hl2 + (ST_Coeff * iATR);
def finalUp = If(close[1] > finalUp[1], Max(tmpUp, finalUp[1]), tmpUp);
def finalDn = If(close[1] < finalDn[1], Min(tmpDn, finalDn[1]), tmpDn);
def trendDir = If( close > finalDn[1], 1, If( close < finalUp[1], -1, If(!IsNaN(trendDir[1]), trendDir[1], 1) ) );
def trendLine = If(trendDir == 1, finalUp, finalDn);
plot SuperTrend = trendLine;
SuperTrend.DefineColor( "up", Color.GREEN );
SuperTrend.DefineColor( "dn", Color.RED );
SuperTrend.AssignValueColor(SuperTrend.Color("up"));
SuperTrend.AssignValueColor( if close[1] > SuperTrend[1] then SuperTrend.Color( "up" ) else SuperTrend.Color( "dn" ) );
SuperTrend.SetLineWeight( 2 );
def entryPrice = open[-1];
def exitPrice = open[-1];
def tSize = 100;
def sma200 = MovingAverage(AverageType.SIMPLE, close, 200);
def bullMarket = open[-1] > sma200;
def bearMarket = open[-1] < sma200;
input price = close;
input length200 = 200;
input averageType200 = AverageType.EXPONENTIAL;
plot Avg200 = MovingAverage(averageType200, price, length200);
Avg200.SetDefaultColor(GetColor(4));
# Bull Market BUY
AddOrder(OrderType.BUY_TO_OPEN, price is greater than Avg200 and
close[-1] > SuperTrend[-1] and close[0] < SuperTrend[0]
, price = entryPrice, tradeSize = tSize, tickcolor = GetColor(1), arrowcolor = GetColor(1), name = "BUY");
# Bull Market SELL
AddOrder(OrderType.SELL_TO_CLOSE, close[-1] < SuperTrend[-1]
and close[0] > SuperTrend[0], price = exitPrice, tradeSize = tSize, tickcolor = GetColor(0), arrowcolor = GetColor(0), name = "SELL");
Last edited by a moderator: