多分、あなたはこれを読む時です:book.mql4.com
笑!ごめんなさいRRあなたを気にしたくありません。私はゆっくりだが確かにチュートリアルを読んでいる。私はおそらく、物事が実際にどのように働くかの代わりに、物事がどのように働くべきであるかの先入観のせいでうんざりしているでしょう。とにかく、ありがとう!Originally Posted by ;
ああ、私の悪い。とにかく、あなたが考慮する必要がある合併症があります。ティックベースでティックで作業している場合、価格はMAの両サイドで前後にフリップされることがあり、あなたのEAが多くのポジションを開いて閉じることがあります。これを処理するには、ある種のバッファが必要です。 EAはすべてのダニで呼び出されます。 BidとAskは処理中のダニの現在の価格です。現在のチックの入札=バーの[0]を閉じます。インデックス0のiMA()によって計算されたデータは、現在のMA値です。挿入されたコード#define ABOVE 1 #define BELOW 2 int start()static int prev_state = 0; double ma_current = iMA(NULL、0,5,0、MODE_SMA、PRICE_CLOSE、0); if(bidgt; ma_current prev_state = BELOW){prev_state = ABOVE;/売り注文を閉じる//買い注文を開く} if(bidlt; ma1_current state = ABOVE){prev_state = BELOW;/prev_state == 0){if(bidgt; = ma_current); prev_state = ABOVE;/前回の注文を処理します。 if(bidlt; ma_current)prev_state = BELOW; }}Originally Posted by ;
まあ、少し考えた後、私は自分の目標を達成するためにAEがM1 MAからデータを得なければならないと信じています。だから、もし私が価格のクロスが1時間のチャートで10SMAと言うことができる信号が生成されたい。私はM1、600SMAについて何かをコードする必要があります。 MAは完全に1時間の10SMAには一致しませんが、少なくとも私は最後のM1バーから60分遅れて1分遅れのデータを取得します。私はこれを試して、それがよりリアルに見えるかどうかを見なければならないと思う。再びすべての人に感謝!