Fort Lupton, CO/ USA
Experience: Intermediate
Platform: NinjaTrader, Market Delta
Broker: AMP Futures and CQG Data
Trading: 30yr Bonds ZB
Posts: 7 since Aug 2009
Thanks Given: 2
Thanks Received: 1
|
Hello Everyone,
I was wondering if someone could convert the following Tradestation Code To Ninja Trader? If someone thinks its easy and doesn't mind converting it then posting the executable ninja script on the thread for us all I would appreciate it greatly! Basically its an indicator of all indicators like stos, rsi, macd dstoch, etc all rolled into one! It's really good with helping confirm when a market is extremely ob/os. Instead of looking at several indicators you can get it all from one! If coded hopefully it will help everyone out here! Hope you guys find use out of it, I know I have when I used it on tradestation. Thanks in advance for the code help! Warm Regards, Brian
Original TS Code Below:
input: sdlen(14),sklen(14),rsilen(14),ccilen(4),macdlen(7);
input: dbuy(20),dsell(80),kbuy(20),ksell(80); input: rsell(65),
rbuy(35), sline(90),bline(10); input: baseline(49); value1=SlowD(sdlen);
value2=SlowK(sklen); value3=RateOfChange(c,10);value4=xaverage
(RateOfChange(c,10),3); value5=xaverage(RateOfChange(c,10),8); value6=RSI(c,rsilen); value7=CCI(12);
value13=Midoriup(5); value11=Midoridn(5); value17=xaverage(cci(12),ccilen); value8=macd(c,12,26);
value9=xaverage(MACD(c,12,26),macdlen); value12=Etchujimaosc(20); value10=0;
If value1 > dsell then value10=value10 +9; If value2 > ksell then value10=value10 + 9; If value1 < dbuy then value10=value10 - 9;
If value2 < kbuy then value10=value10 - 9; If value4 < 0 and value5 < 0 and value4 < value5 then value10 = value10 - 9;
If value4 > 0 and value5 > 0 and value4 > value5 then value10 = value10 + 9; If value6 > rsell then value10 = value10 + 9;
If value6 < rbuy then value10 = value10 - 9; If value8 > 0 and value9 > 0 and value8 > value9 then value10 = value10 +9;
If value8 < 0 and value9 < 0 and value8 < value9 then value10 = value10 - 9;
If value7 > 100 and value17 > 100 and value7 > value17 then value10 = value10 + 9;
If value7 < -100 and value17 < -100 and value7 < value17 then value10 = value10 -9 ;
If value11<value7[2]and value7[2] <value7[3] then value10 = value10-9; If value13>value7[2]and value7[2]>value7[3] then value10 = value10+9;
If value12 > 85 then value10=value10 + 7;
If value12 < 15 then value10= value10 - 7; value10=value10+60;
plot1(value10,"Loser's"); plot2(sline,"sell"); plot3(bline,"buy"); plot4(baseline,"baseline"); {end; end; end; }
______________________________________________________________________________________________
Midoriup Function Code:
Inputs: Len(NumericSimple); {Lookback period}
Vars: k(0), x(0), counter(0), AverageRange(0);
k = 0;
x = 0;
If CurrentBar <> 0 then Begin
k = LowestBar(Low,Len);
For counter = 0 to k - 1 Begin
x = Rangerover(H,L,C)[counter] + x;
End;
If k <> 0 then
AverageRange = x / k;
If AverageRange * SquareRoot(k) <> 0 then
Midoriup = (High[0] - Lowest(Low,Len)) / (AverageRange * SquareRoot(k));
End;
_________________________________________________________________________
Midoridn Function Code:
Inputs: Len(NumericSimple); {Lookback period}
Vars: k(0), x(0), counter(0), AverageRange(0);
k = 0;
x = 0;
If CurrentBar <> 0 then Begin
k = HighestBar(High,Len);
For counter = 0 to k -1 Begin
x = RangeRover(H,L,C)[counter] + x;
End;
If k <> 0 then
AverageRange = x / k;
If AverageRange * SquareRoot(k) <> 0 then
Midoridn = (Highest(High,Len) - Low[0]) /
(AverageRange * SquareRoot(k));
End;
_________________________________________________________________________________________________
ETCHUJIMAOsc Function Code:
input:length(numericsimple);
Value1=average(c,length) - close;
ETCHUJIMAOSC=value1;
|