記事"ZigZag インディケータ:新鮮なアプローチと新しいソリューション"についてのディスカッション - ページ 5

 
全くの初心者の質問ですが、インジケーターに基づいてポジションを建てるために、このEAを自動化するにはどうすればよいのでしょうか?
 

AdvancedZigZag.mqhでは、次のように変更しなければならなかった。


74行目: zzH[h]=(MqlZigZag)zz[i]; から zzH[h].price=zz[i].value;

80行目:zzL[l]=(MqlZigZag)zz[i];をzzL[l].price=zz[i].valueに変更;


また、メイン・プログラムtwo_comment.mq5には、次のコード・ブロックがある。

//--- 予備計算の整合性をチェックする -CopyBuffer関数は エラーになるため、err=-1が返され、プログラムの残りの部分は実行されません。

エラーチェックをコメントアウトするか、int err=1に設定するだけで、プログラムブロックは実行されない。


//--- 予備計算の整合性をチェックする。

if(err<0)

{

//--- ジグザグのピークについて、ノードのMAからの偏差の合計を計算する。

ArrayInitialize(sumHi,0.0);

for(int j=H-1; j>=0; j--)

{

for(int i=0; i<NUMBER_MA; i++)

{

err=CopyBuffer(handle_MA_H[i],0,Azz.zzH[j].t,1,MA);

if(err<0) return;

sumHi[i]+=Azz.zzH[j].price-MA[0];

//Print("No error! sumHi: ", sumHi[i]);

}

}

//--- ジグザグの谷のMAからのノードの乖離の合計を計算する。

Print("Error Number: ", err);

ArrayInitialize(sumLo,0.0);

for(int j=L-1; j>=0; j--)

{

for(int i=0; i<NUMBER_MA; i++)

{

err=CopyBuffer(handle_MA_L[i],0,Azz.zzL[j].t,1,MA);

if(err<0) return;

sumLo[i]+=MA[0]-Azz.zzL[j].price;

}

}

}

 

上記のコードを挿入するには、</>ボタンを使用してください。


 

皆さんへ、

ファイルをコンパイルしたのですが、以下のエラーメッセージが表示されます。


 

こんにちは、パーカス、

74行目を赤で示したコードに置き換えてください。

ご質問にはありませんでしたが、<advancedzigzag.mqh>と<getextremums.mqh>ファイルは<...◆MQL5Include>ディレクトリにコピーする必要があります。advancedzigzag.mqhをAdvancedZigZag.mqhに、getextremums.mqhをGetExtremums.mqhに、最後にtwo_comets.mq5をAdvancedZigZag.mq5にリネームすることをお勧めする。最後のものはエキスパートなので、プラグインを整理するために、<...୧MQL5ExpertsAdvisors゙Downloads゙ZigZag゙>ディレクトリにコピーした。


エラー訂正

 
このコメッツのアドバイザーをmql4バージョンで使用することは可能でしょうか?ありがとうございます。
 
このような優れたインジケーターは搭載できないので、アドバイスを求める!各ファイルをどのフォルダに入れるか
 
何をするのか教えてほしい
 

こんにちは、

ソースコードを修正して、もう一度アップロードしてもらえますか?

コンパイルしようとしたら、30個のエラーが表示されました!

ありがとうございます。

 

zzH[h]=(MqlZigZag)zz[i];
h++;
}
else
{
&nbsp; zzL[l]=(MqlZigZag)zz[i]; 'dextremum'を'MqlZigZag'にキャストできない。

'MqlZigZag'に'dextremum'をキャストできない AdvancedZigZag.mqh 74 17
'MqlZigZag'に'dextremum'をキャストできない AdvancedZigZag.mqh 79 17
を読み取ることができない。