すべて、
私はMTとmqlのコード作成の世界には初めてです。私はAmibrokerをしばらく使っていて、私の取引要件に合うようにAFLを書いています。私はダウチャートのためにMTの私のAFLの1つからのロジックをテストしたいと思いました。 Mql4について少し読んだ後、私はエキスパートアドバイザーを書き始めました。
初心者のための私の論理はかなり簡単です、そして私は購入と販売のための矢印を示すGIFファイルを添付しました(Dowのための単純なバックテスト)。
購入する – >閉じる> 10ma
売る – >閉じる<10ma
私が理解できないのはこれらです – >
1)各信号には、傾向線と2つの矢印という3つのオブジェクトがあるようです。また、これらの矢印はシグナルが生成された日付を指しているようには見えません。
2)2番目に ▲瀬Δ10maを超えると、First Buyシグナルが表示されます。売り基準が満たされるまで、私は買いシグナルを得続けます。反転信号が与えられるまで繰り返しのフォローアップ信号が生成されないようにするにはどうすればよいですか?
どんなポインタでも役に立つでしょう。
前もって感謝します。
乾杯、
ガーリック
ダウ – サンプル
矢印は買い注文/売り注文のようです (100%確実にコードを確認する必要があります)。新規ポジションをオープンしないようにするには、オープンポジションの数を確認する場合にを追加します。 EAを作成する製品と移動平均の例があります – フォーラムでmolanisを検索するだけです。
Amibrokerについてもっと知りたいです。 Amibrokerはどの程度優れていますか。また、そのオンラインコミュニティ/ユーザー数はどのくらいですか?どのフォーラムがベストのAmibrokerフォーラムですか?ありがとう。
買いシグナルの繰り返しに関して、EAは注文が既にオープンしているかどうかを確認するためにチェックしていないようです。私はあなたのコードを持っていないので、私は確かに知りませんが、私は仮定をしました、そして可能な解決策として以下を提案しました。
私はあなたのコードがやっていると思います:
if(閉じる> 10ma){
OrderSend(購入)
}
EAがループするたびに、ifステートメントの条件がチェックされ、条件が真である限り、新しい順序が生成されます。 EAは、注文が既にオープンしているかどうかを確認しません。すでにオープンしているオーダーがあっても、指示されたとおりに処理して新し いオーダーを開きます。
すでにオープンオーダーがあるかどうかを確認することをお勧めします。
あなたのコードが何をすべきか:
if(閉じる> 10ma){
if(他に注文が開かれていない場合){
OrderSend(購入)
}
}
疑似コードの例で、プログラムは別の注文を送信する前に、注文がすでにオープンされているかどうかを確認する方法を確認します。
売り注文についても同じことが言えます。
これは拡張することができます、例えば、EAはあなたが売りシグナルを受け取ったときに買い注文を閉じるようにプログラムすることができます。
矢印に関しては、多分彼らは注文が満たされた場所を示していますか?
前述したように、私はあなたのコードを見たことがないのでこれは私があなたに与えること できるアドバイスを制限します。
molanisfxのように、私はAmibrokerについて読むことにも興味があります。 MetaTraderの他には何がありますか?
5289: https://www.mql5.com/en/forum/124184
Originally posted 2019-08-04 03:53:24.