[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 576

 
Ekburg:

それが問題です、すべてがそこに正常です!私はテスト中にどのような値が修正関数に渡されるかを追跡するためにプリンタを設定し、すべてがそこに正常です、停止は異なっている、何も不必要なものは投げられない、すべてがサーバーによって許可された制限内にあり、上記のコード内の反対者は同じ値を渡すことを許可しない...。

このように改造する前に確認してみてください。

      double Erunda=16.0*Point;// от 12 для пятизнаков, от 2 для четырех
//
      if(MathAbs(OrderStopLoss()-sl)<Erunda && MathAbs(OrderTakeProfit()-tp)<Erunda){нет_необходимости_модифицировать;}
      else { модифицировать;}

 
Sepulca:

このように改造する前にチェックをしてみてください。


この機能、何のためにあるのでしょうか? 今まで見たことも使ったこともないのですが。
 
Desead:

この問題との戦いに疲れてきた、すべての保留中の注文が正常に削除されないので、私はこのループを使用してそれらを削除しています。

ループにFOR FORとWHILEを追加しても、すべての保留中の注文は削除されないままです。削除する注文の保留が多くて20個くらいあるんだけど、もしかしてこれって何か難があるのかな?

保留中の注文も含めて削除する例です(この注文で 削除しました)。

このコードでは、すべての保留中の注文が存在するわけではありません(選択フィルターに)。別のエラーのバリエーション:保留中の注文が開くときに受け取るMagickをチェックします(独自のコードで)。

 
Ekburg:

ありがとうございます。コードベースを見て、何かを見つけ、それを置き換えようとし、あれこれ変えて、何千行ものプロコードを読みましたが、それだけでなく、修正時にエラー1が出て、それっきり、何をすればいいのかさっぱりわかりません。EAを書いたり、作業する上で様々な困難に直面しましたが、自分で解決しようとします、そうしないと良い経験ができません、ヘルプを読み、教科書を読み直し、問題を解き、始めた時とは少し違う考え方になりましたが、自分で解決できなかったので、プロの皆さんに頼みました!。Trailynは、EAの仕事に必要でなければ書かなかったでしょう:)
エラー1については、チュートリアルで説明されていますし、フォーラムでも議論されています。その答えは、こちらで ご覧いただけます。
 
Ekburg:

この機能は何なのでしょうか。


機能ではなく、あくまで修正前のチェックで、SLやTPの値が以前とかなり違っていたら修正します。少なくとも証券会社を刺激するようなTPやSLを1pip単位で修正する意味はない。
 
Sepulca:


これは機能ではなく、修正前のチェックで、SLやTPの値が以前の値と十分違っていれば修正する、というものです。迷惑なDTを避けるためなら、TPやSLを1pip単位で修正するのは意味がない。

ありがとうございます、良いアイデアですね、これから使ってみます。
 
TarasBY:
あなたはすべてを読み直したのか、それとも「そう読んだ」のか)不信感を抱かせてください。エラー1の問題は教科書に載っていますし、この掲示板で何度も議論されています。その答えは、こちらで ご覧いただけます。


もちろん全部読んだわけではありませんが、何度も教科書を読み直してエラーの原因を探しましたが、どうやらコードにはないようです...。私はあなたのリンクを見て、もう一度主題の全体の記事を読んで、あなたが得点していないことを、助けをありがとうございます:)
 

フォーラムの皆さん、こんにちは。

MT4でトレードしているため、mql4のチュートリアルを読んでいるところです。このチュートリアルでダウンロードしたmqhファイルは、MetaEditor 5(Mt5もインストールしています)で(自動的に)開くのです!そして、ここで面白いことがあります。Mt4では使えないということでしょうか?

 
Ekburg:

この機能、何のためにあるのでしょうか? 今まで見たことも使ったこともないのですが。


関数ではなく、正規化されていない数値を比較する方法です。 互いに比較することはできませんが、一方を他方から引いた結果をゼロと比較することはできます。

そして、私が持っているチェックはこんな感じです。

//+------------------------------------------------------------------+ 
 double ND(double nd){return(NormalizeDouble(nd,Digits));}
//+------------------------------------------------------------------+ 
if(ND(price)!=OrderOpenPrice()||ND(SL)!=OrderStopLoss()||ND(TP)!=OrderTakeProfit()||Expiration!=OrderExpiration())
   {
   OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE);
}
else return;
     
 
lottamer:

フォーラムの皆さん、こんにちは。

MT4でトレードしているので、mql4のチュートリアルを読んでいるところです。このチュートリアルでダウンロードしたmqhファイルは、MetaEditor 5(Mt5もインストールしています)で(自動的に)開くのです!そして、ここで面白いことがあります。Mt4では使えないということでしょうか?


コンパイルしてみればわかる。