エキスパート: 小規模預金のためのマルティン

 

小規模預金のためのマルティン:

特に小規模預金のために設計されたマーチンゲールに基づいたエキスパートアドバイザーです。


作者: Vladimir Karputov

 

こんにちは、ウラジミール!

このExpert Advisorをデモとテスターで少しテストしてみました。最初のテストでも2番目のテストでも、コードの正しさに疑問がありました。例えば、Expert Advisorをデモで使用した際、ある期間において、すべてのポジションを最小ロットではなく、次のステップで決済した後、新しいポジションをオープンしました。確かに残高はかなり増えましたが、ロジックが失敗したのだと思います。また、ビジュアライゼーションでテストしていたところ、2-3ポジションを建てて、InpMinProfit変数で設定した以上の利益が出た後、Expert Advisorはそれらを決済せず、利益確定で すべてが決済されるのを待つことが珍しくありませんでした。

残念ながら、私はOOPとC++プログラミングが苦手なので、ソースコードを見てもなぜこのようなことが起こるのか理解できません。

 

このEAが、最小利益に設定された一般的な「クローズ・オール」ではなく、エクイティの「ハイ・ウォーター・マーク」のXドル 上で終了することが可能かどうかわかりません。現在のEA(素晴らしいEA)では、いつでも手動で計算することができますが、「ハイ・ウォーター・マーク思考」を導入することは革命的でしょう!また、手動で静的に設定するのではなく、ATRを使ったステップを自動化できたら最高ではないでしょうか?そうすることで、このEAが低調な時間帯に「自己調整」できるようになる。

mb

 
良い戦略だ。彼はどのシグナルで買いを建て、売りを建てるのですか?
 
sergiomt :
良い戦略だ。彼はどのシグナルで買い付けを開始し、セールスを開始するのだろうか?

決定ブロック

   if(count_buys==0 || count_sells==0) // ポジション "売り "のオープンをチェックする。
     {
      if(count_buys==0 && count_sells>0)
        {
         if(m_symbol.Bid()-price_highest_sell>ExtStep)
            need_to_open_a_sell=true;
        }
      else if(count_sells==0 && count_buys>0)
        {
         if(price_lowest_buy-m_symbol.Ask()>ExtStep)
            need_to_open_a_buy=true;
        }
     }

「need_to_open_a_sell」と「need_to_open_a_sell」 - 売買シグナル

 
パラメータ-全決済の最小利益で オープンポジションを 決済しない。
 
qazzaq12345:
パラメータ -すべてのクローズの最小利益 の値でオープンポジションを クローズしません。

Expert Advisor の設定とログファイルを表示してください。どのポジションがクローズされませんでしたか?

 
StopLossはどこですか?
 
forexprofitid :
ストップロスはどこですか?

マーチンゲールにはストップロスは ありません。マーチンゲールには自然なストップロスしかありません。

 

こんにちは。

エントリーパラメーターを売りだけ、買いだけに分けることは可能でしょうか?ATT

 

こんにちは、ウラジミール。興味深いです。

私はMT5コーディングの初心者です。

void CloseAllPositions () の関数をどのように理解すればよいでしょうか?

この関数はすべてのポジションをクローズするのではなく、利益確定 pipsにヒットしたポジションのみをクローズするようです。

順を追って説明してください。また、最大に開いた取引が利益ピップに達したら、すべてのポジションを閉じるようにするには、どのように変更すればよいでしょうか?

ありがとうございます。

Void CloseAllPositions()
  {
   for(int i=PositionsTotal()-1;i>=0;i--) // 現在のポジションの数を返す
      if(m_position.SelectByIndex(i))     // プロパティにさらにアクセスするために、インデックスによって位置を選択する。
         if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
            m_trade.PositionClose(m_position.Ticket()); // 指定したシンボルでポジションを閉じる
   }