Announcement

Collapse

Looking for a User App or Add-On built by the NinjaTrader community?

Visit NinjaTrader EcoSystem and our free User App Share!

Have a question for the NinjaScript developer community? Open a new thread in our NinjaScript File Sharing Discussion Forum!
See more
See less

Partner 728x90

Collapse

Force Index with ATR Channels

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Force Index with ATR Channels

    I was wondering if anyone could help me with adding ATR Channels as used in Keltner Channels around Alexander Elders Force Index indicator? I have the code for ThinkOrSwim below, I just don't know how to convert it to NT8.



    input length = 13;


    plot FI = ExpAverage(data = (close - close[1]) * volume, length);

    FI.SetDefaultColor(GetColor(8));


    def h = FI;

    def l = FI;

    def c = FI;


    input ATR_length = 26;

    input EMA_length = 26;

    input displace = 0;

    input multiplier_factor = 1.0;

    input mf2 = 2.0;

    input mf3 = 3.0;


    def val = ExpAverage(c, Ema_length);


    def average_true_range = WildersAverage(TrueRange(h, c, l), length = atr_length);


    plot Upper_Band = val[-displace] + multiplier_factor * average_true_range[-displace];

    Upper_Band.SetDefaultColor(GetColor(0));


    plot Midline = val[-displace];

    midline.DefineColor("Up", Color.DARK_GREEN);

    midline.DefineColor("Down", Color.RED);

    midline.DefineColor("Even", Color.WHITE);

    midline.AssignValueColor(if midline > midline[1] then midline.Color("Up") else (if midline == midline[1] then midline.Color("Even") else midline.Color("Down")));

    midline.SetLineWeight(2);


    plot Lower_Band = val[-displace] - multiplier_factor * average_true_range[-displace];

    Lower_Band.SetDefaultColor(GetColor(0));


    plot Upper_Band2 = val[-displace] + mf2 * average_true_range[-displace];

    Upper_Band2.SetDefaultColor(GetColor(0));


    plot Lower_Band2 = val[-displace] - mf2 * average_true_range[-displace];

    Upper_Band2.SetDefaultColor(GetColor(0));


    plot Upper_Band3 = val[-displace] + mf3 * average_true_range[-displace];

    Upper_Band2.SetDefaultColor(GetColor(0));


    plot Lower_Band3 = val[-displace] - mf3 * average_true_range[-displace];

    Upper_Band2.SetDefaultColor(GetColor(0));


    plot UpSignal = if Upper_Band3 < FI then FI else Double.NaN;

    plot DownSignal = if Lower_Band3 > FI then FI else Double.NaN;


    UpSignal.SetDefaultColor(Color.UPTICK);

    UpSignal.SetPaintingStrategy(PaintingStrategy.ARRO W_UP);

    DownSignal.SetDefaultColor(Color.DOWNTICK);

    DownSignal.SetPaintingStrategy(PaintingStrategy.AR ROW_DOWN);

    #2
    Hello djdalgetrades,

    While our supprt cannot make items for you we can advise on various topics if you wanted to learn NinjaScript. This would be a good item to learn with as it seems the calculation is just a few lines of math.

    AddPlot would be needed to create plots to access previous bar data: https://ninjatrader.com/support/help...ghtsub=addplot

    You can use the NinjaScript editor to create items: https://ninjatrader.com/support/help...nt8/editor.htm
    JesseNinjaTrader Customer Service

    Comment

    Latest Posts

    Collapse

    Topics Statistics Last Post
    Started by cre8able, 02-11-2023, 05:43 PM
    3 responses
    236 views
    0 likes
    Last Post rhubear
    by rhubear
     
    Started by frslvr, 04-11-2024, 07:26 AM
    8 responses
    114 views
    1 like
    Last Post NinjaTrader_BrandonH  
    Started by stafe, 04-15-2024, 08:34 PM
    10 responses
    47 views
    0 likes
    Last Post stafe
    by stafe
     
    Started by rocketman7, Today, 09:41 AM
    3 responses
    11 views
    0 likes
    Last Post NinjaTrader_Jesse  
    Started by traderqz, Today, 09:44 AM
    2 responses
    10 views
    0 likes
    Last Post NinjaTrader_Gaby  
    Working...
    X