前回の記事で、①+DIと-DIを持ってくる。というところまで行きました。
もう一度復習すると、MT4のADXをJForexで再現するためには
①+DIと-DIを持ってくる。
②+DIと-DIをEMA化させる
③DXを作成する
④DXをEMA化させる
の4ステップを踏まなくてはいけません。
今日は2ステップ目です。
②+DIと-DIをEMA化させる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//簡素化するために全体的に相当中略しております。 //getIndicatorでEMAを持ってくる ema = indicatorsProvider.getIndicator("EMA"); ema2 = indicatorsProvider.getIndicator("EMA"); //+DIをEMA化させる ema.setInputParameter(0, plus_diOutput); ema.setOutputParameter(0, outputs[0]); IndicatorResult emaResult = ema.calculate(startIndex, plus_diResult.getNumberOfElements() -1); //-DIをEMA化させる ema2.setInputParameter(0, minus_diOutput); ema2.setOutputParameter(0, outputs[1]); IndicatorResult ema2Result = ema2.calculate(startIndex, minus_diResult.getNumberOfElements() -1); |
前回アウトプットしたでたデータを使って、EMAで計算する
前回の記事で+DIのデータはplus_diOutputに入り、-DIのデータはminus_diOutputに入りました。
後は、これを再度、EMAで計算すれば良いわけです。
そのために、setInputParameterに、plus_diOutputとminus_diOutputを入れております。
これで、インディケーターで表示させれば、MT4の+DIと-DIは再現されるのでした。
(話を簡素化するためにかなりコードを中略しております)