エラー、バグ、質問 - ページ 972

 
voix_kas:

24*OBJ_LABELと1*OBJ_BITMAP_LABELではどちらがMT5の処理と表示が簡単/速いですか?

24*TextOutもOBJ_BITMAP_LABELに投入 されることを想定している。

つまり、性能面においてです。

グラフィックオブジェクトの性能に関する情報に興味を持つ人がいるかもしれない...。

次のような目標を設定した。26*OBJ_LABELを1*OBJ_BITMAP_LABELに 置き換えることで、パフォーマンスを向上させる

これらのグラフィックオブジェクトは、Expert Advisorの現在の状態を示しています。合計26枚のラベルが使用され、そのうち13枚は常に再計算された値で更新されます。つまり、最初の13個はパラメータの説明で、残りの13個はそれに対応する値である。

ラベルを使った作業の一般原則。OnInit()で26枚全てのラベルを作成し、アライメントを行う。OnTick()では13個だけ更新(テキスト)されます。

ビットマップを扱う際の一般的な原則。キャンバステンプレートは、OnInit() で作成します。説明文の13の要素をすべて含んでいる必要があります。OnTick() では、canvas テンプレート (uint 配列) を作業用 canvas 配列にコピーし、残りの 13 個の値ラベルを追加しています。

なんて言ったらいいんだろう。1枚のビットマップは、従来の26枚のラベルに比べ、一桁遅く動作する(!)。OnTick()でテンプレートを作業用キャンバス(配列 uint 250*410)にコピーする操作を除外して、つまり1つのキャンバスで作業するようにしてみました。リアルタイムにしか感じられない利得がある。テスターでもそれは同じで、絶対的な生産性の低下が見られます。COLOR_FORMAT_ARGB_NORMALIZE モードは、他のモードでは美観が 損なわれるため、使用しました。今後のことを考えると、1枚のキャンバスで作業するのは、過去のオーバーレイ(クリアエリア)の重なりを把握しなければならないので、難しいと言わざるを得ません。

私にとっての結論は。

OBJ_BITMAP_LABELと 比較すると、2つの欠点があります:1)フォントスタイルを変更できない、2)プログラマーの観点からは、1つの要素(ビットマップ)を制御する方が26個のラベルよりも簡単 である。

 

エキスパートが作成したオブジェクトを動かす、つまり普通に作成したように見せる方法を教えてください。

トライアル

      result&=obj.SetInteger(OBJPROP_HIDDEN,true);
      result&=obj.SetInteger(OBJPROP_SELECTED,false);
      result&=obj.SetInteger(OBJPROP_SELECTABLE,true);
      result&=obj.SetInteger(OBJPROP_ZORDER,100);

さまざまなバリエーションで。

ヘルプに出くわした人。

 
vdv2001:

エキスパートが作成したオブジェクトを動かす、つまり普通に作成したように見せる方法を教えてください。

トライアル

さまざまなバリエーションで。

ヘルプに出くわした人。

OBJPROP_SELECTABLE プロパティは、オブジェクトを選択する機能を担っています。
 
tol64:
OBJPROP_SELECTABLE プロパティは、オブジェクトを選択できるようにするためのものです。

はい、オブジェクトは選択されていますが、マウスで移動することはできません(ターミナル4のように)。

また、Expert Advisorで作成されたすべてのオブジェクトの移動は、イベントによって処理される必要があります。

 
voix_kas:

もしかしたら、グラフィカルなオブジェクトの性能に関する情報に興味を持つ人がいるかもしれませんね...。


リスペクトとリスペクト !

 

皆さん、インジケーターが点滅する原因を教えてください。 DRAW_ZIGZAGプロットが断続的に 点滅します)また、どのように対処したらよいでしょうか?

 
vdv2001:

はい、オブジェクトは選択されていますが、マウスで移動することはできません(ターミナル4のように)。

また、Expert Advisorで作成されたすべてのオブジェクトを動かすには、イベントによって処理する必要があります。

Expert Advisorで作成されたオブジェクトが選択され、移動することができます。どのように行うかを示す(短い例)。
 
tol64:
Expert Advisorで作成したオブジェクトを選択し、移動できるようにしています。どのように行うか教えてください(短い例)。

オブジェクトのプロパティがあります

objprop_selectable

オブジェクトの可用性

ブール

デフォルトでは、プログラムによって作成されたオブジェクトには false が設定されています。

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 
joo:
最適化の際に、前方部分が今か今でないかをどのように判断しているのでしょうか?
いいえ
 
Rosh:

オブジェクトのプロパティがあります

objprop_selectable

オブジェクトの可用性

ブール

デフォルトでは、プログラムによって作成されたオブジェクトには false が設定されています。

ありがとうございます、それは分かっています。vdv2001 は何か問題があるようです。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

バグ、バグ、質問

vdv2001, 2013.04.25 06:10

他のもので動かそうとしたことはないのですが、そのような動きは見たことがありません。

あるいは、Expert Advisorが作成したすべてのオブジェクトの動きをイベントによって処理することが必要になりました。

//---

そのエラーを見つけるために、どのように行うかを見たかった。