PDA

View Full Version : Referencing data values


NinjaTrader_Ray
03-05-2006, 03:22 AM
How to write a code like this.

If CCI(14) > 0 then BarColor = Color.Blue;
if ema(34) > BarClose and CCI(14) > 100 then BarColor = Color.Green;
else
if CCI(14) < 0 then BarColor = Color.Fushcia;
if ema(34) < BarClose and CCI(14)< -100 then BarColor = Color.Red.


thanks for your help

I am guessing but it seems you are coming from TradeStation. There are some major coding style differences between EasyLanguage and NinjaTrader NinjaScript which is based on the C# language. Several things that I notice are:

1. Correctly referencing price data
2. Using braching statements
3. Price property names

In the Help Guide there is a NinjaScript primer which reviews basic coding structure. I suggest taking a quick review of that.

Below is what your code should look like in NinjaScript.

if (CCI(14)[0] > 0)
BarColor = Color.Blue;
else if (CCI(14)[0] > 100 &&EMA(34)[0] > Close[0])
BarColor = Color.Green;
else if (CCI(14)[0] < 0)
BarColor = Color.Fushcia;
else if (CCI(14)[0] < -100 && EMA(34)[0] < Close[0])
BarColor = Color.Red;

Alternatively you could also write it in the following way. It is more efficient but you would never notice:

double cciValue = CCI(14)[0];
double emaValue = EMA(34)[0];

if (cciValue > 0)
BarColor = Color.Blue;
else if (cciValue > 100 &&emaValue >Close[0])
BarColor = Color.Green;
else if (cciValue < 0)
BarColor = Color.Fushcia;
else if (cciValue < -100 && emaValue < Close[0])
BarColor = Color.Red;

ViperSpeed Trader
04-07-2006, 01:48 PM
From what I see....if the code is TradeStation....it doesn't look like the newer versions....after TS 2000i. Part of the code does look similar....but not all. I work with EasyLanguage....but have never worked with TS 2000i....so I don't know.

ViperSpeed Trader