マルチカレンシー - マルチタイムアドバイザー - ページ 7

 
Fast528:

ゼロバーでインジケータデータを取得できない理由がよくわからないのですが、新しいバーと どのような関係があるのでしょうか?

信号は、任意のティックの間に、常に待機する必要があるため、新しいバーではなく、すべての期間といくつかの通貨ペアでそれに加えて、+。

 
Tango_X:

なぜなら、新しいバーではなくティックごとに、そしてすべての時間枠と複数の通貨ペアで、常にシグナルを待つ必要があるからです。

1秒後にタイマーで信号が出ます。すべて[symbol][period]の配列に保存するのです。そして、タイマーの新しいシグナルを常に監視し、シグナルがあれば、その値を以前に保存した値と比較します。値が一致しなければ、そのシグナルは新しいもので、取引できます。

 
Tango_X:

信号は常に、任意のダニの間に、新しいバーではなく、すべての期間といくつかの通貨ペアでそれを+待つ必要があるため

ですから。

  1. インジケーターのコードをExpert Advisorに 転送します。
  2. タイマーから信号サーチ機構をスタートさせる(少なくとも16ms毎)。
インジケーターに依存する限り、シグナルを見逃す確率がある。EAにコードがあれば、見逃すことはないでしょう。

 
Реter Konow:

ですから。

  1. インジケーターコードをEAに転送する。
  2. タイマーから信号探索機構を実行する(少なくとも16ms毎)。
インジケーターに依存している限り、シグナルを見逃す可能性があります。Expert Advisor にコードがあれば、見逃すことはないでしょう。

それでは、異なる期間とペアを持つタイマーでEAからインジケータを呼び出すにはどうすればよいのでしょうか。

 
Tango_X:

次に、異なる期間とペアでタイマーのEAからどのようにインジケータを呼び出すのですか - 簡単な例を挙げることができますか?

コードを完全に移動し、インジケータを取り除く。可能であれば

取引の視覚的なサポートとしてインジケータが必要な場合は、別途実行してください。

インジケーターの計算部分のみ必要です。


最後にもうひとつ。

信号が通過した後、一瞬でもインジケータを要求すると、信号を見逃してしまい、認識することさえできません。

EAにインジケータコードがあれば、前後の値を比較して、シグナルが瞬間的なものであったと判断することができます。つまり、配列に書かれた値を比較することで見逃した事実を知ることができるので、見逃した信号に反応することができるようになる。

インジケーターを使ったコミュニケーションでは、これがかなり難しく、効率的でないこともあります。

 
皆さん、ヒントをありがとうございましたひとつひとつ試してみて、自分に合ったものが見つかると思います。
 
Expert Advisorはティックシグナルを見逃すことがありますが、これは開発者によって特別に行われたものです。そのため、すでに履歴に残っているティックに働きかけると、遅れは出るものの、シグナルを見逃すことはない。しかし、分足バーのOHLCは、ほとんど見逃したシグナルをリカバーするのに十分だと思うのです。
 
Aleksey Vyazmikin:
Expert Advisorはティックシグナルをスキップすることがありますが、これは開発者によって特別に設計されたものです。そのため、ヒストリーに既に存在するティックを使って作業する必要があります。 遅延は発生しますが、シグナルを見逃すことはありません。しかし、分足バーのOHLCは、ほとんど見逃したシグナルをリカバーするのに十分だと思うのです。

ダニを飛ばすにはどうしたらいい?わざわざこんなことをする開発者がいるのか?何を言ってるんだ?

 
ElenaVVT:

ダニを飛ばすにはどうしたらいい?わざわざこんなことをする開発者がいるのか?どういうことですか?

Renat は、Expert Advisor は新しいティックの出現時に計算を実行し、新しいティックが現れるまで待つと書きました。 データ処理中にさらにティックがあった場合、それらはキューに入れられず、単にスキップされ、さもなければターミナルはフリーズします。

クライアント端末のイベント

ニューチック

NewTickイベントは 新しい相場が来たときに発生し、付属のExpert AdvisorのOnTick() 関数で処理されます。 新しい相場が到着したときに、前の相場で実行されている OnTick 関数が実行されると、対応するイベントが EA イベントキューに配置されていないため、受信した相場は Expert Advisor によって無視されます。

プログラムの実行中に来た新しい相場は、次のOnTick()関数の実行が終了するまで、すべてプログラムによって無視されます。それ以降は、新しい見積書が来たときだけ機能を起動する。

NewTickイベントは、自動売買の有効・無効(「自動売買の有効・無効」ボタン)に関係なく生成されます。自動売買の禁止は、Expert Advisorからの取引要求の送信を禁止するだけで、Expert Advisorの動作が停止するわけではありません。

指定されたボタンによる自動売買の禁止は、現在のOnTick()関数の実行を中断させない。

 
Aleksey Vyazmikin:

新しいティックが表示されると、Expert Advisor は計算を実行し、新しいティックを待ちます。 データ処理期間中にさらにティックがあった場合、それらはキューに入れられず、単にスキップされ、さもなければターミナルはただフリーズするだけです。

クライアント端末のイベント

ニューチック

NewTickイベントは 新しい相場が到着したときに生成され、付属のExpert AdvisorのOnTick() 関数で処理されるイベントです。 新しい相場が到着したときに、前の相場で実行されている OnTick 関数が実行されると、対応するイベントが EA イベントキューに配置されていないため、受信した相場は Expert Advisor によって無視されます。

プログラムの実行中に来た新しい相場は、次のOnTick()関数の実行が終了するまで、すべてプログラムによって無視されます。それ以降は、新しい見積書が来たときだけ機能を起動する。

NewTickイベントは、自動売買の有効・無効(「自動売買の有効・無効」ボタン)に関係なく生成されます。自動売買の禁止は、Expert Advisorからの取引要求の送信を禁止するだけで、Expert Advisorの動作が停止するわけではありません。

指定ボタン押下による自動売買の禁止は、OnTick()関数の実行を中断させない。

これは常に、OnTickが返されなかった場合、入力されるティックはスキップされます。EAはティックウェイティングモードでのみそれらを追跡します。しかし、意図的にダニを見逃したという話のようですが?私にとってはバグです。