MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 133

 
560で修正されたものが562では動作しない。OBJ_EDITの 上にあるボタンがまた機能しない。
 
pro_:
560で修正されたものが562では動作しない。OBJ_EDITの上に配置したボタンが再び動作しない。
563ビルドをお試しください。
 
Renat:
563のビルドを試してみてください。
ビジュアルモードでない最適化またはテスト中に、コード内にアラートまたは可聴イベントアラートがある場合、それらはすべて音とアラートウィンドウがポップアップ表示されます。テスターではビジュアルモード以外は無視した方がいいのかも?
 
artmedia70:
ビジュアルモードでない最適化またはテスト中に、コード内にアラートまたは可聴イベントアラートがある場合、それらはすべて音とアラートウィンドウがポップアップ表示されます。テスターではビジュアルモード以外は無視した方が良いのでしょうか?


コードに挿入して、自分で迂回させる

void CreateOrSetLine(const string NameObj,datetime Time1,double Price1,datetime Time2,double Price2,color cColor)
  {
   if(IsOptimization()==true)
      return;
   if(ObjectFind(NameObj)==-1)
     {
      ObjectCreate(NameObj,OBJ_TREND,0,Time1,Price1,Time2,Price2);
      ObjectSet(NameObj,OBJPROP_RAY,false);
      ObjectSet(NameObj,OBJPROP_BACK,false);
      ObjectSet(NameObj,OBJPROP_COLOR,cColor);
     }
...
... в т ч  алерты
... и прочие сообщения - которые на оптимизации не нужны

и так получаю более быстродействующий код
 
 
YuraZ:

をコードに組み込み、自分を迂回させる

それはわかります。質問は別のことです。グラフィックを集中的に使い、本格的に最適化したifの処理にどれだけの時間がかかるか。また、非ビジュアルモードでグラフィックやアラート、サウンドの出力をテスター自身に無視させるだけでよいのです。
 
artmedia70:
はい、クリアです。質問が違う。グラフィックを多用し、本格的に最適化した場合、ifの処理にどれくらいの時間がかかるか。そして、非ビジュアルモードでグラフィック、アラート、サウンドの出力をテスターに無視させればいいのです。

一部同意しますが、テスターにコードがない場合は、条件遷移1つで対応できるので、問題はそれほど大きくありません

いずれにせよ、処理速度の短縮につながる

ただ、あなたの提案では、テスターはとにかくコードを這いずり回って、グラフィックとサウンドの出力だけをバイパスします。

テスト中に不要なコードブロックのうち、何が省略可能で何が不要かは、作者である私がよく知っています。

で、この方法はかなり高速です。

作者が最適化のためにこれ以上のコードが必要ないことを正確に知っている場所に直行するよりも、テスターがコードのブロック全体を速く処理することは事実ではありません。

 
Renat:
563ビルドを試してみてください。

はい、ありがとうございます、速やかに修正されました。しかし、残念ながらOBJ_EDITの 新しい不可解な挙動があります。解説してみます。
OBJ_EDITが2つ あるのですが、1つは別の 上にあります。まだ描画順が確定していないので、オブジェクトの名前で勝負することになります。ま もう 慣れましたけどね。
下の方を "1_abc"、上の方を "abc "と呼びます。初期図面では、すべて正しく表示されています。プログラム再描画時(サイズ変更など)、上の "abc "が消える(下の "abc "の下に入る)。そして、それがあった場所をクリックすると、彼自身は見えないが、彼のフィールドがハイライトされる。他の名前を付けて描画順を変えてみても、やはり同じ挙動に...。は前回の563回目のビルドで現れました、それ以前は問題ありませんでした。
 

563ビルドは動作しません。

ObjectSetString(chartid,NAME,OBJPROP_TOOLTIP,tooltip);

同じコードが5でも正常に動作します。

 
pro_:

OBJ_EDITは2つ あり、1つは他のOBJ_EDITの 上にあります。レンダリングの順番がまだ確定していないので、オブジェクト名を弄る必要があります。


どうして直らないの?現在は、アルファベット順ではなく、厳密には年代順に描かれています。ビルドに入らなかったのですか?

問題を説明するコードの例を提示してください。

 
Wahoo:

563ビルドは動作しません。

同じコードがbuild 5でも問題なく動作します。


ああ、効いている。

ピュアグラフィックスでチェックすると、テンプレートのバグが原因かもしれません。