MQL4ファーストステップ - ページ 2

 

iCustomの命令/関数で 移動平均のインジケータから値を引っ張ってきて、名前をコピーしてスクリプトを実行して値を見ることができたんだ...。

あなたのマスタープログラマーは誰ですか?)

その他、読んでもよくわからないことがいくつかあるので、よろしければお願いします。

1.EAにonTickとOnTimerという項目がありますが、最終的には、EAが価格の動きに基づいてトリガーされる場合はonTickが優先され、チャートのタイミング、例えばM1バーのオープンとクローズに基づく場合はプログラムのonTimerセクションを使用するという理解でよろしいでしょうか。

2.2.iCustomや他のi[indicators]に組み込まれているインジケータが複数の入力を持っている場合、同じ1行の関数ですべての追加入力を参照するのですか?

3.No1の理解が正しいのであれば、チャートタイマーと同期して開始することができますか?例えば、M1の残り42秒のチャート時間で、バーの最初の5秒と最後の5秒を見るEAをロードした場合、そのように実行するように私のEAを同期することができますか、それとも自動的にそうするのでしょうか?

ありがとうございます。


MW

 
MUZZLE_ZA:

1.EAにonTickとOnTimerという項目がありますが、最終的には、EAが価格の動きに基づいてトリガーされる場合はonTickを優先し、チャートのタイミング、例えばM1バーのオープンとクローズに基づく場合はプログラムのOnTimerセクションを使用するという理解でいいのでしょうか?


今のところ、OnTimerを使う必要がある状況に一度も遭遇したことがありません。

新しいティックが入るまで、バーを閉じたり、新しいバーを開くことはできません。ですから、もし新しいバーをチェック する必要があるなら(新しいバーとは、前のバーが閉じていることを意味します)、OnTickでそれを行ってください。

 
MUZZLE_ZA:

2.iCustomや他のi[indicators]内蔵のインジケータで、複数の入力がある場合、同じ1行関数ですべての追加入力を参照するのですか、それとも、例えば、kPeriod、dPeriodなどがあるストキャスティックインジケータでは、入力の回数だけ関数を複製しなければなりませんか?

私は質問を理解していない
 

おはようございます、Gumraiです。

ご返信ありがとうございます。OnTickの定義について混乱しています。私の理解では、OnTickは価格変化、すなわち時間に依存しないFXレートの変動ということでしょうか?

MQLのリファレンスです。Tickは 、ある瞬間のシンボルの新しい価格によって特徴づけられるイベントです。

上記を踏まえて私が最初に考えたのは、もし価格が10秒間動かなかったら、その期間はTickイベントが発生しないのでは?

おそらくもっと明確にする必要があるのではないでしょうか?

質問2に関しては、なんとか自己治療ができたので、目標達成で満足です!- ありがとうございました。

あなたの番です :)


MW

 
MUZZLE_ZA:

おはようございます、Gumraiです。

ご返信ありがとうございます。OnTickの定義について混乱しています。私の理解では、OnTickは価格変化、すなわち時間に依存しないFXレートの変動ということでしょうか?

MQLのリファレンスです。Tickは 、ある瞬間のシンボルの新しい価格によって特徴づけられるイベントです。

はい、その通りです。

M1チャートで考えてみましょう。

バーが12:01:00に開くとします。

そのバーの最後のティックが12:01:59に入力されました。

その時点では、それが最後のティックであることは分からず、まだ1ティック以上追加する時間が残っています。

しかし

次のティックが12:02:05に入り、これが新しいバーが開いて古いバーが閉じる時間です。6秒間ティックのない時間があったため、ティックが入るまで新しいバーの開始を検出することはできません。そこで、OnTickで新しいバーの有無をテストします。

 

おっしゃることはわかるような気がします。

では、OnTimerは何のためのEAなのでしょうか?

もし、ある期間とその期間内に発生したアクションを見るのがメインなら、OnTimerを選ばないのでしょうか?

つまり、12:01:00から12:02:00の間に何が起こるかに興味があるのです。その結果、その時間帯に価格が上昇したり、価格が下落したり、あるいは価格が変動しなかったりするのでしょうか?

お分かりいただけたでしょうか?

 

皆さん、おはようございます。

基本的なルールセットのロジックをプログラマーの友人に手伝ってもらい、関連するグラフのインジケータ関数をすべて呼び出すことができました。

問題は、EAをグラフにロードすると、必要なアラートではなく、多数のストキャスティックアラートが返されることです...

ストラテジーテスターで EAを実行しても、アラートが発生するはずのルールセットが何も返ってこないので、EAのアラートが正しく動作しているのかどうかわかりません。

EAがイベントを発生させたことを確認するにはどうしたらよいでしょうか?

EAがチャートにしかめ面をしていることに気づきましたが、ライブトレードを許可することに興味がないので、まだ大丈夫だと思います?

もし私がEAからライブ取引を行わず、ストラトテスター上でEAを実行する場合、テスト中にアラートを発し、停止する必要がありますか、それともテスターではその機能を提供しないのでしょうか?

ありがとうございます。


M

 
ストラテジーテスターでは ポップアップアラートは表示されませんが、ジャーナルには記載されます
 

やあ、GumRai...。

良い週末をお過ごしでしょうか?

さて、エディターでインジケーターのコードを開き、アラートの値をfalseに変更しました。これにより、EAをロードしたときにストックスダイバージェンスからのアラートがスパムになることはなくなりました。- これが私のEAに悪影響を与えないことを祈ります。

このインジケータをM1チャートで2日以上動かして、ジャーナルを見ると、Custom Indicators xyz: removedと書かれています - これは、コードがプログラムのOnTickブロックにあるときに期待される動作のように聞こえますか?

頭をぶつけながら... :)

 

こんにちは、皆さん。

EAの処理に数秒の遅れはあるのでしょうか?

システム時刻とチャート時刻が異なり、アラートが表示された場合、ローカル時刻とチャート時刻のどちらを基準にしたアラートなのでしょうか?

MqlTick関数でlast_tick.bidを取得していますが、これは最新の買いティック価格ですか?

OPEN(0)を使用する場合、ティッカーが現在いるローソクの始値 でしょうか?