初心者の方からの質問 MQL4 MT4 MetaTrader 4 - ページ 101

 
MikeZv:

ニコライさん、ありがとうございました...。
両方のラインから取りました。
そして、それらを1つに統合した(バッファを1つ残した)。同じ結果です。


以下は、すべてが正しく動作していることを示すスクリプトです。

printout result 2017.11.04 01:15:45.359 check EURUSD,H1: 1.163966063602423 2147483647.0。


このインディケータはdraw_begin=500という変数を持っています。つまり、チャートが描画されるローソクの端から(最も新しいローソクから)何本目のローソクかです。
また、iCustom()メソッドで指標値を抽出した場合、この500はどのローソク足からカウントされるのでしょうか?
なぜ重要かというと、draw_beginは描画に使われるだけでなく、インジケータの計算にも参加しているからです。

例えば、値が500の場合、600のバーをカウントしても、結果は得られません。

ファイル:
check.mq4  2 kb
 
Nikolay Ivanov:

以下は、すべてが正しく動作していることを示すスクリプトです。

printout result 2017.11.04 01:15:45.359 check EURUSD,H1: 1.163966063602423 2147483647.0。



Nicholasさん、ご返答ありがとうございます!
EURUSD D1チャートに スクリプトを適用すると、以下のように出力されます。

2017.11.04 12:54:37.009 check EURUSD,Daily: 2147483647.0 1.103082155651458

----------------------------------------------------------------------------------
また、テスト中のEAから、チャートを開いていない状態でiCustom()を読み込むと、(draw_beginの質問に対して)どのローソク足からインジケータが読み込まれるのでしょうか?
また、もし私が2010年のテストをしているのであれば、このインジケータは使用できませんか?

 
MikeZv:


また、テストで、チャートを開かずにExpert AdvisorからiCustom()を読み込んだ場合、どのローソク足からインジケータを計算するのでしょうか(drawing_beginの質問)。
また、もし私が2010年のテストをしているのであれば、このインジケータは使用できませんか?


テスターでも実機でも、グラフの有無に関わらず、0バーでOKでしょう。この値の算出に使用されます。

 
Nikolay Ivanov:

テスターでも実機でも、グラフの有無に関わらず、0バーでOKでしょう。そこからカウントされることになります。


つまり、ゼロバーは最後にダウンロードした(アーカイブに含まれる)バーということですか?

 
MikeZv: つまり、ゼロバーは最後にアップロードされた(アーカイブに含まれる)バーということですか?

テスターは、与えられた範囲内の履歴を見ます。このとき、最後に表示されたバーがヌルバーとなります。次の小節は、まだ小節がないかのような状態です。そして、次のヒストリーバーが取られ、ゼロになる。これは、あらかじめ設定された試験範囲の終了まで継続されます。実取引の完全シミュレーション

 
STARIJ:

テスターは、指定された範囲の履歴に目を通します。最後に見たバーで、現時点では0になります。次の小節は、まだ小節がないかのような状態です。そして、次のヒストリーバーが取られ、ゼロになる。これは、あらかじめ設定された試験範囲の終了まで続けられます。実取引の完全シミュレーション


STARIJさん、ご返信ありがとうございます。
つまり、テスターのゼロバーが現時点でのカウントであり、アーカイブの最後の1本にシフトし続けるのです。
すなわち、500 D1キャンドルの期間が設定されている場合、それはどのような場合(テスターで) - 問題の各キャンドルの前に2年です。
ちゃんと理解できたかな?

 
MikeZv:

STARIJさん、ご返信ありがとうございます。
つまり、テスターのゼロバーが現時点でのカウントであり、アーカイブの最後の1本にシフトし続けるのです。

ゼロバーは、現時点で最後の1本です。そして、指定されたテスト間隔が終わる前にアーカイブの終わりに向かって移動します。


すなわち、500 D1キャンドルの期間が設定されている場合、それはどのような場合(テスターで) -問題の各キャンドルの前に2年 です。
ちゃんと理解できたかな?

そして、この部分がわかりにくいのです。

2年がどう関係するんだ?ゼロバーは、現在検討中のもので、一番最後に表示されるものです。それ以降は、バーが存在しないようなものです。しかし、ある期間が過ぎると(実際には次のバーの準備ができたのでもっと早く、今すぐ手に入れることができ、必要な計算を終えるだけでよい)次のバーが導入されるのです。今は最後の1枚、今は0枚です。しかし、期間が過ぎると次のバーが入力される。今は最後の1枚、今は0枚です。そして、全試験範囲の終了まで。

 
STARIJ:

2年と何の関係があるんだ?ゼロバーは、現時点で問題になっているのは、LASTの方です。それ以降は、バーが存在しないようなものです。しかし、一定期間が過ぎると(実際には次のバーの準備ができたので、もっと早く、必要な計算を終えるだけ)、次のバーが導入されます。今は最後の1枚、今は0枚です。しかし、期間が過ぎると次のバーが入力される。今は最後の1枚、今は0枚です。そして、全試験範囲の終了まで。

おそらく、「BidとAskの現在の価格がゼロバーである場合」と表現した方が分かりやすいと思います。

 
Vitaly Muzichenko:

おそらく、「現在の価格がBidで、Askがゼロバーのところ」と言った方がわかりやすいと思います。

チャート上の価格は下から上への縦軸、時間とバーナンバーは右の横軸になります

ゼロバーは、現在利用可能な最後のバーです。以下のバーは履歴に存在するが、テスターではまだ利用できない。その後、この小節がカウントされると、テスターは次の小節に行き、これが彼にとってゼロとなる。

 
STARIJ:

下から上への縦軸のチャートに価格、右の横軸に時間とバーナンバリングが表示される

ゼロバーとは、現在利用可能な最後のバーの ことです。以下のバーは履歴に存在するが、テスターではまだ利用できない。その後、この小節がカウントされると、テスターは次の小節に行き、これが彼にとってゼロとなる。

さて、私は何を書いたのでしょうか?