Mt4 サポート終了。 - ページ 21

 
Andrei:

...単一のインターフェースでは、あらゆる計算タスクのプログラミングに全く適用できない...。

同じようなタスクが1000個もあって、それを1つのフラグにまとめ、その多くのタスクのどれに対しても、機能ごとにユニバーサルハンドラを作るとなると、話は別です。

敬具

 
Реter Konow:

少し遅れて申し訳ございませんでした。

以下は、その関数の最初のバージョンです。さらに磨きをかけて発展させることができます。もし、間違いに気づかれた方がいらっしゃいましたら、コメントをお願いします。

ああ...ああ...もちろん、私は突っ込みませんでした。私にとって、このようなコードを読むのはとても難しいことなのです。仮に、それが想定しているものを返すとしましょう。

また、EURUSDとUSDCADの新しいバーが それぞれM5、H1、D1の3つのタイムフレームで表示されることをどのようにして知ることができますか?

 
Andrey Kisselyov:

千差万別

同じようなタスクは2つもないと思うんです。:)関数を1000回呼んでも、それは1つのタスクであって、1000回ではない。

 
Artyom Trishkin:

ああ...ああ...もちろん、それには手をつけませんでした。私にとって、その種のコードを読むのはとても難しいことなのです。仮に、それが想定しているものを返すとしましょう。

また、EURUSDとUSDCADの新しいバーの 事実をどのように知ることができますか - M5、H1、D1の3つの時間枠でそれぞれについて。

引用元が1つのサーバーであれば、どのような楽器であっても問題ありません。結局、バーは各シンボルごとに同時に開かれる。

しかし、引用元が世界各地にある場合は、まったく別問題です。分単位の場合は問題ありませんが、それ以上の時間軸の場合は問題があるかもしれません。おそらく、時間関数をもっと詳しく研究し、正確な時間補正を行う必要があるのでしょう。しかし、それはこのソリューションの次のステージの話であって......。

この機能のためにキャリブレーションを行う必要があるのですが...。

 
Реter Konow:

引用元が同じサーバーであれば、どの楽器でもかまいません。結局のところ、バーは各楽器で同時に開かれる。

引用元が世界各地にある場合は別です。分単位の場合は問題ありませんが、それ以上の時間軸の場合は問題があるかもしれません。おそらく、時間関数をもっと詳しく研究し、正確な時間補正を行う必要があるのでしょう。しかし、それはこのソリューションの次のステージの話であって......。

この機能にはキャリブレーションが必要なのですが...。


一味違う

 
Andrei:

同じようなタスクは2つもないと思うんです。:)この関数は1000回呼び出すことができますが、1000回ではなく、1回のタスクです。

EAで関数を呼び出すという話ではなく、普遍的なインターフェース(ハンドラ)を書くという話です。

ロボットを書く ための1000のタスクがあり、それぞれのタスクは基本的に次のような構成になっています。
1 開放信号を取得する機能
2. 注文受付の機能
3 オーダートラッキングの機能
4 注文を決済する信号を受信する
といった具合に。
これらの機能は、ロボットごとに異なりますが、1000プロジェクト内では繰り返し使用されます。 そのため、機能を汎用性の高いモジュールにまとめ、タスクに応じて適切なモジュールを呼び出すことができます。

よろしくお願いします。
 
Vladimir Pastushak:

一味違う

説明する。
 
Реter Konow:

引用元が同じサーバーであれば、どの楽器でもかまいません。結局のところ、バーは各楽器で同時に開かれる。

引用元が世界各地にある場合は別です。分単位の場合は問題ありませんが、それ以上の時間軸の場合は問題があるかもしれません。おそらく、時間関数をもっと詳しく研究し、正確な時間補正をする必要があるのでしょう。しかし、この解決策は次の段階へ...。

この機能にはキャリブレーションが必要なのですが...。

新しいバーは、バーの最初のティックが到着したときに形成され、楽器は役割を果たします。


を尊重します。

 
Реter Konow:

引用元が同じサーバーであれば、どの楽器でもかまいません。結局のところ、バーは各楽器で同時に開かれる。

引用元が世界各地にある場合は別です。分単位の場合は問題ありませんが、それ以上の時間軸の場合は問題があるかもしれません。おそらく、時間関数をもっと詳しく研究し、正確な時間補正をする必要があるのでしょう。しかし、この解決策は次の段階へ...。

この機能にはキャリブレーションが必要なのですが...。

必要なのは、3つのタイムフレームで提案されたシンボルのどれかに新しいバーを 開くという事実です。

どのシンボルにも気配値がない場合、新しいバーの開始を確認することはできません。また、新しいバーは、新しいティックの到来にのみ表示されます。EURUSDに新しいバーがあっても、USDCADがまだ新しいバーに対応する新しい気配値を受け取っていない場合、新しいバーは構築されません。しかし、私たちはその時期について何の遠慮もなく、新しいバーの開店の事実を正確に知る必要があるのです。新バー開始の事実を知る必要がある。

EURUSDのM5で新しいバーがあれば
EURUSDのH1に新しいバーがある場合、...
EURUSDでD1上に新しいバーがあれば
--------
USDCADのM5で新しいバーがあれば
USDCADのH1に新しいバーがある場合、...
USDCADのD1に新しいバーがある場合、...

 
...そして Time[0] は iTime(_Symbol,PERIOD_M1,0) に置き換える必要があります。
分単位で計算されないため