MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 632

 
Artyom Trishkin:

樽の中身をグラスに注いでみてください。

グラスにだけ注ぐ方法 -スタックから溢れない ようにするには?
 
Ghabo:
グラスにグラスだけを注ぐ方法 -スタックから溢れない ようにするには?

上記ですでにお答えしていますが、これはあなたの場合ではありません。コップにだけ注ぐには、「床にこぼれた余分なものを素早く片付ける」のではなく、「注がれた液体の量をコントロールする」ことが必要なのです。

 
Artyom Trishkin:

関節を隠すのが簡単な解決策?

ラインとは何ですか?どこから来たのか?いつ作られるのですか?どんなことをするのか?

はい)))

わからない、原因がわからない。時間経過や切り替えの際に、どこから来るのか?

 
Ghabo:

はい)))

わからない、理由が見つからない。経時変化や切り替え時の座標など

そのインジケーターはあなたのものですか?

 
Artyom Trishkin:

そのインジケーターはあなたのものですか?

作者不詳)

SendMessageAの何が問題なのでしょうか?

 
Ghabo:

作者不詳)

SendMessageAの何が問題なのでしょうか?

図解してください。caciのマッシュアップに興味がない - 幼稚だ。

 
Artyom Trishkin:

図解してください。caciを被せても面白くない......幼稚なんです。

セリフの問題じゃないんです。

問題は、なぜコンパイラが"MetaTrader4_Internal_Message" という行で 悪態をついているのか、ということです。

SendMessageA(hwnd, RegisterWindowMessageA("MetaTrader4_Internal_Message"), 14, WindowExpertName());
 

ごあいさつ

どうしてこうなるのか、どう対処すればいいのか教えてください。コード中にgochangeという 変数があり、 ログに出力するように規定されて います。 しかし、全ティックでテストしたときだけ、そのことをメッセージとして表示せずに変化し、それぞれアルゴリズムも 変化する ことがある のです。そのあるべき姿の一例をご紹介します。

そして、こうなるのです。



すべてリンク先で。

https://cloud.mail.ru/public/3hFn/acNemAU3f

以下は、この断片が全てに当てはまらないコードの一部です。文体にはこだわらないでください。

if (go==4)
   {Print("go== ", go, " Last2OrdersBuyProfit()== ", Last2OrdersBuyProfit(), " Orders5Profit()== ", Orders5Profit());
   if (Last2OrdersBuyProfit()<=0)
      {
         Print("Last2OrdersBuyProfit()<=0 == ", Last2OrdersBuyProfit(), "  Last2OrdersBuyClose()"); Last2OrdersBuyClose();  
         
         ticketB4 = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);   
         if (ticketB4) {Print("ticketB4== ", ticketB4);}
         else {Print("go OP_BUY ERR ", GetLastError());} 
                  
         ticketB4 = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "", Magic, 0, Blue);   
         if (ticketB4) {Print("ticketB4== ", ticketB4);}
         else {Print("go OP_BUY ERR ", GetLastError());} 
                  
         ticketS4 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, "", Magic, 0, Red);   
         if (ticketS4) {Print("ticketS4== ", ticketS4);}
         else {Print("go OP_SELL ", GetLastError());} 
         
         price2=(Ask+Bid)/2; go=3; Print("go = 4 to ", go, " price2= ", price2);
      }
   if (Orders5Profit()>=0)
      { 
      Print("go== ", go, " Orders5Profit()>=0 ==", Orders5Profit(), "  count5== ", count5, "  OrdersClose4()"); 
      OrdersClose4(); price1=(Ask+Bid)/2; go=2; trall2=0 ;  Print("go == 4 to ", go, " price1= ", price1);
      }
   }   
Файл из Облака Mail.Ru
Файл из Облака Mail.Ru
  • cloud.mail.ru
Облако Mail.Ru - это ваше персональное надежное хранилище в интернете. Все нужные файлы всегда под рукой, доступны в любой точке мира с компьютера или смартфона.
 
Andrey Sokolov:

ごあいさつ

どうしてこのようなことが起こるのか、その対処法を教えてください。コード中にgochangeという 変数があり、 ログに出力するように規定されて います。 しかし、全ティックでテストしたときだけ、そのことをメッセージとして表示せずに変化し、それぞれアルゴリズムも 変化する ことがある のです。そのあるべき姿の一例をご紹介します。

そして、こうなるのです。



すべてリンク先で。

https://cloud.mail.ru/public/3hFn/acNemAU3f

以下は、この断片が全てに当てはまらないコードの一部です。文体にはこだわらないでください。

テスターログはすべてを表示できるわけではなく、高速化するためのスキップがあります。PCMでフルログを見る

 
Artyom Trishkin:

すべてをテスターログに出力することはできませんが、高速化のためにスキップがあります。PCMでログを見る

だろう?