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

 
Roman:

それを熱くするために、次にイベントタイミングでファイルマッピングを使用します。

ヒント - 純粋なMQLでは...たまたま思いついたのですが

 
A100:

ヒント - 純粋なMQLでは...たまたま思いついたのですが

変数をクラスでラップし、オブジェクトディスクリプタを 取得します。
Expert Advisor にディスクリプターを渡す方法は、オブジェクトから直接取得することです。))
試していないのでわかりませんが、私も思いつきました。でも、私はクラスは苦手なので、マッピングを使いますね。
全ては標準のWinApiで利用可能です。

Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
Указатели объектов - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Roman:

インジケータにint変数を作って初期化し、そこに数値を格納するのです。
インジケータでは、この変数を返すカスタム関数を定義します。
exportキーワードで関数を定義します。
Expert Advisor にこの関数を name_indicator.ex4 からインポートする
必要に応じてこの関数を呼び出す。
速度は測定していません。

この方式はうまくいかないようです。初歩的な例を示してくださいよ。

 
Nikolai Semko:

user32.dllを使用することが重要でない場合、別の選択肢を 紹介します。寸法については何も覚えていませんが、下の方に「早く効きそう」と書いてあります。
ソリューションは、イベントドリブンではなく、ユニバーサル(端末間でも使用可能)です。タイマーを使って作業することになります。ただし、OnChartEventの イベント間の最小時間は、1/64秒以下にもできません

ありがとうございます。しかし、次のような状況が考えられるため、うまくいきません。

Expert1 と Expert2 は Indicator1 から、Expert3 は Indicator2 からデータを読み取ります。


イベントドリブン型は必要ない。つまり、Expert Advisorは必要なときだけ数字を読み取れるようにしなければなりません。インジケーターが数値を変える瞬間を捉える必要はない。つまり、この問題の本質は非常にシンプルなのです。


グローバル変数の言語では、解決策は次のようになります。

指標となる。

GlobalVariableSet(IndividualName, Number);


エキスパート・アドバイザー

Number = (int)GlobalVariableGet(IndividualName);


この実装では、読み込みが恐ろしく遅い。数時間、Resourcesでバリアントを観察すると、約100倍の速度が出ていることがわかります。

 
A100:

ヒント - 純粋なMQLでは...たまたま思いついただけなんです。

解決策を待ちます。

 
fxsaber:

ありがとうございます。しかし、このような状況が考えられるので、しっくりきません。

Expert1 と Expert2 は Indicator1 のデータを、Expert3 は Indicator2 のデータを読み取ります。

文字列の中に小さなint配列を入れ、"分割統治 "することができるのです。

 
Nikolai Semko:

文字列の中に小さなint配列を入れ、"分割統治 "することができるのです。

そして、Indicator1とIndicator2を何らかの方法で同期させ、両方の数値を1つの共通の文字列で書けるようにする必要があります。

これは非常に複雑なソリューションです。

 
fxsaber:

そして、Indicator1とIndicator2を何らかの方法で同期させ、両方の数値を同じ共通線に書き込めるようにしなければならない。

これは非常に複雑なソリューションです。

1つのチャートに2つのインジケーターとEAを表示?

 
fxsaber:

そして、Indicator1とIndicator2を何らかの方法で同期させ、両方の数値を同じ共通線に書き込めるようにする必要がある。

これは非常に複雑なソリューションです。

GlobalVariableSetOnConditionという 関数は、古くから同期のために考案されたものです
Документация по MQL5: Глобальные переменные терминала / GlobalVariableSetOnCondition
Документация по MQL5: Глобальные переменные терминала / GlobalVariableSetOnCondition
  • www.mql5.com
GlobalVariableSetOnCondition - Глобальные переменные терминала - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Slava:
GlobalVariableSetOnCondition 関数は、昔、同期を取るために考案された関数です。

意識して、使い方を知っている。グローバルなものから離れようとすると、恐ろしく遅くなるので。