OrderModify()の質問 - ページ 6

 

Whoodoo。

あなたの頭蓋骨には何も浸透していないようなので、ここの親切なモデレーターがあなたのために物事を綴るのを手伝ってあげましょう。

私はいくつかのポイントを示すためにあなたのコードを修正しました。

  • あなたのコードは、単純なアルゴリズムの目的を達成するためだけに、ずさんで複雑に入り組んでいます。中括弧の使い方が雑で冗長であることを指摘されましたが、これはあなたの頭の中が雑な状態であることを示しています。
  • MQL4のマニュアルを熟読し、最初のEAチュートリアルに沿って、Order*()関数を ユニットテストする代わりに、時間を浪費し、自分が無視する事柄について他の人に匙を投げてもらうことを望むのでしょう。
  • もしこのようなアプローチを取るのであれば、MQL4を実際に使えるようになるまでの道のりが非常に長いことを認識した方が良いでしょう。皮肉なことに、それはMQL4が複雑だからではなく(比較的シンプルです)、あなたが妙に支持している姿勢のせいなのです。
がんばってください、そしてあなたの魂に神の慈悲がありますように。
 

Richardさん、あなたの煽り文句に注目です。巻の改訂版と投稿をありがとうございました。どちらも感謝しています。

ありがとうございました。

 

サイモンです。

コードはOrderSelect()関数と OrderSymbol()関数がUSDJPYであるかどうかをチェックしています。もし両方が真であれば、OrderPrint()関数が実行されます。OrderSelect()は問題なく実行されますが、 ;) OrderSymbol()がUSDJPYでない場合、チケット変数iは1だけ増加します。

質問です。なぜ「i++;」でiの値を1回だけ増やしているのか? OrderSymbol()がUSDJPYになるまで、この変数が増え続けることを意図している)。

int start()
  {
   
   int i;

   if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderSymbol()=="USDJPY"))
   
     OrderPrint();      
     
     else i++;
   
 // Print(GetLastError());
 
Comment("i = " ,i);

   return(0);
  }

添付のファイルはEAです。私はこのファイルタイプでテストを実行するのが簡単だと思います。

ありがとうございます。

ファイル: