取引環境に対応する際の典型的な間違いとその対処法 - ページ 8

 
fxsaber:

レシピは、世界共通と言うことです。

  1. IDが0の成行注文を満たした - 即座に終了する。
  2. MT5-OrderSendは常に0でないResult.dealを返すように書き換えられました。
  3. 各OrderSendまたはSleep送信後、ステップ1へ。
この方法であれば、どんな(絶対的な100%の)TCでも機能します。

これは、私が言っているのとは違うの?

人は時として、情報に対して奇妙な認識を持っているものです :)

ただ、IDがゼロの注文はすぐに終了せず、同じティックで処理される - ある種の事前定義された期待値。

あとは、私が言っていたことがすべてです。底であることが判明 :)))

 

自社のTORの妥当性を考えること。MT4で毎日起きている実際の状況

  1. 何も開いていない。
  2. BuyLimitを発注した後、OrderSendがない。
  3. しばらくすると、3つの買いポジションと買い指値が見つかります。
  4. しばらくすると、2つの買いポジションと買い指値が検出されます。
  5. しばらくしたら、5つの買いポジションを決済する必要があります。
  6. しばらくすると、1BUYポジションを検出する必要があります。
  7. しばらくすると、ポイント1が検出されます。

これが一番簡単です。したがって、提案するテンプレートには

// Находит позицию соответствующего типа
bool PositionsScan( const string Symb, const ENUM_POSITION_TYPE Type );
まあ、それと、どのレベルのレジリエンスTCを誰のために書くか、それは人それぞれで決めることです。
 
fxsaber:

  1. 何も開封していない。
  2. BuyLimitを設定した後、OrderSendがない。
  3. しばらくすると、3つのBUYポジションとBuyLimitがあります。
  4. しばらくすると、2つの買いポジションとBuyLimitができます。
  5. しばらくすると、買いポジションが5つになります。
  6. しばらくすると、1BUYポジションを検出する必要があります。
  7. 一定時間経過すると、ポイント1を検出します。

BuyLimitはEAのポジションなんですね。他は手動です。

どんなTSでも、自分の立場と他人の立場を区別することができます。

会話は、自分たちの立場についてでした。

 
Artyom Trishkin:

つまり、BuyLimitはアドバイザーが設定するものです。他は手動です。

どんなTSでも、自分のものと他人のものを区別することができます。

会話は、それぞれの立場についてでした。

手動または他のExpert Advisorによるものはありません。BuyLimitは1つだけ公開されます。記載されているすべてのBUYポジションは、BuyLimitと同じ魔法を持っています。

 
fxsaber:

手動や他のアドバイザーによるものはありません。BuyLimitは1つだけ設定されています。記載されているすべての買いポジションは、BuyLimitと同じマジックナンバーを使用しています。

だから-部分実行。

 
Artyom Trishkin:

だから-部分的なパフォーマンス。

ただ、それだけです。

 
fxsaber:

Influence QBがバグのあるコードを投稿しないようにする、それだけの価値はあると思います。

 
Artyom Trishkin:

ただ、IDが0の注文は即座に終了せず、同じティックで処理すること、つまり何らかの設定された待ち時間があることです。

はい、すぐに終了するのは良い解決 策ではありません。

 
このトピックに関係のないコメントは、「MQL4に関する初心者の質問、アルゴリズムやコードに関するヘルプや議論」に移動しました。
 
Ivan Ivanov:


2018.02.20 15:20:35.845 取引注文 #66745055 買い 0.01 / 0.01 EURUSDeur at market done in 610.625 ms

2018.02.20 15:20:35.935 トレード案件 #5461453 買い 0.01 EURUSDeur at 1.23403 完了(注文#66745055に基づく)

2018.02.20 15:20:35.845 TestBUY (EURUSDeur,M15)retcode=10009 deal=0 order=66745055

要求が満たされた場合(10009)、なぜdeal=0なのか?

こんにちは。

皆さん、特にfxsaberさんに同じような質問をさせていただきます。
原始的な質問のようだが、答えが見つからない。
こちら https://www.mql5.com/ru/forum/6343/page939 「検索してみてください」と言われました。fxsaberはこの問題に取り組んでいます。何がうまくいったのか、わからない、興味がない。"そこで、あなたに聞いてみることにしました。

問題はこれです。ポジションをオープンし、MqlTradeResultの 内容を表示させたい。

        MqlTradeRequest request={0};
        MqlTradeResult  result={0};
        
        request.action   = TRADE_ACTION_DEAL;    // type of trade operation
        request.symbol   = Pair1;                // symbol
        request.volume   = lots;                 // volume of lot
        request.type     = oper;                 // order type
        request.price    = priceOpen;            // price for opening
        request.deviation= Slippage;             // allowed deviation from the price
        request.magic    = magic;   
 //============================================================     
        if(OrderSend(request,result))       
        Print ("retcode = " +IntegerToString (result.retcode) + "; ");        
        Print ("deal = " +IntegerToString (result.deal) + "; ");
        Print ("order = " +IntegerToString (result.order) + "; "); 
        Print ("volume = " +DoubleToString (result.volume) + "; ");  
        Print ("price = " +DoubleToString (result.price) + "; ");

retcode、order、volumeは印字されますが、dealとpriceは常に0です。
また、結果構造のコンテンツにアクセスする方法(少なくとも、最初に印刷する)についても教えてください。

Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2018.10.29
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...