自動売買選手権2007:エキスパートにありがちなミス - ページ 8

 
どちらかというと
 if(OrderStopLoss()!=(Bid-Point*TrailingStop))
いずれにせよ、ストップロスがpips単位であるか、式がpips単位であるかを確認します。

また、0.1刻みで5ロットまでのロットを必要とする人

TmpRound = MathRound(Lots/0.1);
        Lots = TmpRound*0.1;       
        if(Lots>5)Lots=5;
        if(Lots<0.1)Lots=0.1;
 
1)専門家にありがちな間違いを指摘するだけでなく、その解決策を示すとよいのではないか。

2)誰にとっても便利なものである。しかし、例えば、開発者が例として書いたクラシックなMACD Sample.mq4 Expert Advisorは、1番のエラーでテスト自体をパスすることができません。
なぜ、初心者のトレーダーが 正解の例を見るのか?

3)ところで、Expert Advisorをプログラミングするためのすべての要件を満たし、良いルールを設定する例として、例えば中央値に基づく簡単なExpert Advisorを残すことは素晴らしいアイデアである。多くの人に喜ばれるそれは、自動売買システム構築のベースとなるMQL4の良いプロモーションになるのではないでしょうか。
 
AstaLavista:
1) EAによくある間違いを指摘するだけでなく、その解決策を示すとよい。

2)すべての人が恩恵を受ける。しかし、例えば、例として書いた古典的なMACD Sample.mq4 Expert Advisorは、1番のエラーでテストそのものをパスしません。
なぜ初心者のトレーダーが正解の例を見るのでしょうか?

3)ところで、Expert Advisorをプログラミングするためのすべての要件を満たし、良いルールを設定する例として、例えば中央値に基づく簡単なExpert Advisorを残すことは素晴らしいアイデアである。多くの人に喜ばれるそれは、自動売買システム構築のベースとなるMQL4の良いプロモーションになるのではないでしょうか。


金言!

少なくとも、今後予定されている「ウィザード」によるコード作成テンプレートでは、この点が考慮されることを期待します。

 
2 AstaLavista: Roshの末尾のコードの方が正しいです(ただし、括弧付きの比較行の oldTPをoldSL、newTPをnewSLに変更すべきです) - 彼の条件は">"です。そして、あなたの場合、価格がロールバックすれば、条件が満たされるため、トレーリングもロールバックすることになります
 
Stepler2442:
2 AstaLavista: Roshの末尾のコードの方が正しいです(ただし、括弧付きの比較行のoldTPをoldSL、newTPをnewSLに変更すべきです) - 彼の条件は">"です。そして、あなたの場合、価格がロールバックすれば、トレーリングもロールバックします、なぜなら条件が満たされるからです
その場合、ベイの場合は、次のように置き換えるだけです。
 if(OrderStopLoss()<(Bid-Point*TrailingStop)

等しい値では条件を満たさず、エラー1を回避し、設定したストップより低い値では修正を行わず、つまり本格的なトレーリングストップとして機能します。
OrderStopLoss() и (Bid-Point*TrailingStop)

 
Stepler2442:
2 AstaLavista: Roshの末尾のコードの方が正しいです(ただし、括弧付きの比較行のoldTPをoldSL、newTPをnewSLに変更すべきです) - 彼の条件は">"です。そして、あなたの場合、価格がロールバックすれば、条件が満たされるため、トレーリングもロールバックすることになります
ありがとうございます、訂正しました。
 
AstaLavista:
Stepler2442:
2 AstaLavista: Roshのtrailingのコードの方が正しい(ただし、括弧内のoldTPをoldSL、newTPをnewSLに変更すべき) - 彼は「>」の条件を持っている。そして、あなたの場合、価格がロールバックすれば、条件が満たされるため、トレーリングもロールバックします!

この場合、ケースベイを に置き換えるだけです。
 if(OrderStopLoss()<(Bid-Point*TrailingStop)


はい、うまくいきます。Roshが提案するトレーリングの唯一の違いといくつかの利点は、それを使って簡単にトレーリングだけでなく、ステップで行うことができるということです、すべてのピップを 心配しないと変更のストリームであなたのブローカーを気にしないように:)
 

残念ながらうまくいかないこともありますが(私も経験あり)、これなら必ずうまくいきます。

if(NormalizeDouble(OrderStopLoss(),Digits) < NormalizeDouble(Bid-Point*TrailingStop,Digits))
 
すべてにおいて、模範的なアドバイザーという形で最適解が見つかれば最高なのですが......。
 

皆さん、EAの 自動テストで生成されたログは、ダウンロードして見ることができますか?プロフィールに記載がないのですが。