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

 
こんな風にやってみました。
if(id==CHARTEVENT_OBJECT_CLICK && sparam=="button1")
      ObjectSetInteger(0,"button1",OBJPROP_STATE,false);

しかし、クリックすると、視覚的にボタンがクリックされていないように見えるだけで、意味はあるのです。

 
Nerd Trader #:
こんな風にやってみました。

しかし、クリックすると、視覚的にボタンがクリックされていないように見えるだけで、意味はあるのです。

if(sparam=="button1")
      Sleep(100);
      ObjectSetInteger(0,"button1",OBJPROP_STATE,false);
 
MakarFX #:
そうですね、ありがとうございます。
 
MakarFX #:

プログラム全体が遅れている。良くないな...。シンプルなバリアントなら、もちろん問題ありません。しかし、通常の場合、押されたボタンの値をミリ秒タイマーでポーリングし、ボタンを押した後に必要な遅延時間が経過したら、フラグを設定する必要があります。

 
Nerd Trader #:
そうですね、ありがとうございます。

閉じた市場では、このようなボタンが機能することに驚きます。

 
MakarFX #:

これを試してみてください。

それよりも、処方してください。

売りの注文がない場合は、売りの行を削除してください。

バイに似ている

ヒントありがとうございましたが、役に立ちませんでした

 
Artyom Trishkin #:

プログラム全体が遅れている。良くないな...。シンプルなバリアントなら、もちろん問題ありません。しかし、通常の場合、押されたボタンの値をミリ秒タイマーでポーリングし、ボタンを押した後に必要な遅延時間が経過したら、フラグを設定する必要があります。

そう、よくないんです。大丈夫でしょうか?

     if(id==CHARTEVENT_OBJECT_CLICK && sparam=="button1"){
       ulong ms=GetMicrosecondCount();
       for(;;){
         if(GetMicrosecondCount()-ms>100000){
           ObjectSetInteger(0,"button1",OBJPROP_STATE,false);
           break;
         }
       }
     }
Sleep(100)と同等ではないでしょうか?結局、breakが実行されるまで、プログラムはループでぶら下がることになります。
 
2つのスライドを交差させるためのアラート付きのインジケータを提案してください。
 
無料 ...
 
Nerd Trader #:

ええ、それは困りますね。いいんですか?

Sleep(100)と同等ではないでしょうか?結局、breakが実行されるまで、プログラムはループでぶら下がることになります。
また、「ms」がグローバル化された場合
ulong ms=0;
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
      if(id==CHARTEVENT_OBJECT_CLICK && sparam=="button1")
         {ms=GetMicrosecondCount();}
  }
//+------------------------------------------------------------------+
void OnTimer()
  {
   if(GetMicrosecondCount()-ms>100000)
     {
      ObjectSetInteger(0,"button1",OBJPROP_STATE,false);
      ms=0;
     }
  }
//+------------------------------------------------------------------+