初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 622 1...615616617618619620621622623624625626627628629...1504 新しいコメント Aleksey Vyazmikin 2016.09.16 16:32 #6211 MT4でインジケーターを初期化する前に、テスターのバー 数を増やすにはどうしたらいいですか?インジケータは履歴上で計算されるはずです。テスターで正しいかどうか確認する必要があります。 Aleksey Vyazmikin 2016.09.16 17:33 #6212 もう一つ質問ですが、MT4で初期化時に履歴の整合性を確認するにはどうしたらいいでしょうか?初期化時に履歴が入れ替わっていて、事前計算に影響があるのでは...? 削除済み 2016.09.16 18:00 #6213 -Aleks-: もう一つ質問ですが、MT4で初期化時に履歴の整合性を確認するにはどうしたらいいでしょうか?初期化の時点で履歴が入れ替わっていて、それが事前計算に影響しているのではと疑っているのですが...。バーの数 rate_total を確認します。rates_total > prev_calculated+1 - 1本以上のバーをスワップしたため、履歴がスワップされている状態です。 Aleksey Vyazmikin 2016.09.16 18:06 #6214 Alexey Kozitsyn:バーの数 rate_total を確認します。rates_total > prev_calculated+1 の場合 - 1本以上のバーを交換したため、履歴が交換されたことを意味します。 そして、1秒に1回頻度をチェックし、長い休止の後、初期化を継続するのですね? 削除済み 2016.09.16 18:11 #6215 -Aleks-: また、チェックの頻度は1秒に1回で、長い休止の後、初期化を続けるのですね?一般的に、最近SDで言われたことだが、指標ではタイマーはない方がいい。指標の初回起動と完全再計算の条件として、if( prev_calculated <= 0 || rates_total > prev_calculated+1 ) という条件を追加すればよいのです。OnCalculate()の 中でやれば問題ないでしょう。 削除済み 2016.09.16 18:14 #6216 また、「長い間」とは何のことでしょうか? Aleksey Vyazmikin 2016.09.16 18:15 #6217 Alexey Kozitsyn:一般的には、最近SDで言われたように、インジケータではタイマはない方が良い。指標の初回起動と完全再計算の条件として、if( prev_calculated <= 0 || rates_total > prev_calculated+1 ) という条件を追加すればよいのです。OnCalculate()の中でやれば問題ないでしょう。Expert Advisorでindicator type classを正しく計算させたい。もし、1つのチャートに10,000本のバーがあり、それがあるならば、新しいバーがあってもBarsは10000本以上返しません。では、履歴を読み込んだときに新しいバーがあるかどうかは、どうすればわかるのでしょうか。 Aleksey Vyazmikin 2016.09.16 18:17 #6218 また、DCに接続する前の端末ロード時にEAが初期化されるため、初期化時にチェックしてはいけないらしい...。 削除済み 2016.09.16 19:28 #6219 -Aleks-:さて、私のEAで正しく計算されるために、インジケータタイプ クラスが必要です。もし、1つのチャートに10000本のバーが表示できるのであれば、新しいバーが表示されても、Barsは10000本以上表示されないことになります。では、履歴を読み込むときに新しいバーがあるかどうかを知るにはどうすればよいのでしょうか。なぜダメなのか?はい、そうなります。そして、Bars()とrates_totalが増加します。OnCalculate()で数値を確認します。 端末に設定したバー数は、テスターのバー数(100000本弱)には影響しない。 Aleksey Vyazmikin 2016.09.16 22:21 #6220 Alexey Kozitsyn:なぜダメなのか?そうなります。Bars()とrates_totalの両方が増加します。OnCalculate()で数値を確認します。 端末に設定したバー数は、テスターのバー数(100000弱)に影響を与えなかった。 いいえ、私はテスターではなく、実際のチャート上で端末を実行するときにそれが必要です - それは歴史がバーの 最大数 未満である場合にのみ動作します、または私は間違っていますか? 1...615616617618619620621622623624625626627628629...1504 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
もう一つ質問ですが、MT4で初期化時に履歴の整合性を確認するにはどうしたらいいでしょうか?初期化の時点で履歴が入れ替わっていて、それが事前計算に影響しているのではと疑っているのですが...。
バーの数 rate_total を確認します。rates_total > prev_calculated+1 の場合 - 1本以上のバーを交換したため、履歴が交換されたことを意味します。
また、チェックの頻度は1秒に1回で、長い休止の後、初期化を続けるのですね?
一般的に、最近SDで言われたことだが、指標ではタイマーはない方がいい。
指標の初回起動と完全再計算の条件として、if( prev_calculated <= 0 || rates_total > prev_calculated+1 ) という条件を追加すればよいのです。OnCalculate()の 中でやれば問題ないでしょう。
一般的には、最近SDで言われたように、インジケータではタイマはない方が良い。
指標の初回起動と完全再計算の条件として、if( prev_calculated <= 0 || rates_total > prev_calculated+1 ) という条件を追加すればよいのです。OnCalculate()の中でやれば問題ないでしょう。
Expert Advisorでindicator type classを正しく計算させたい。
もし、1つのチャートに10,000本のバーがあり、それがあるならば、新しいバーがあってもBarsは10000本以上返しません。では、履歴を読み込んだときに新しいバーがあるかどうかは、どうすればわかるのでしょうか。
さて、私のEAで正しく計算されるために、インジケータタイプ クラスが必要です。
もし、1つのチャートに10000本のバーが表示できるのであれば、新しいバーが表示されても、Barsは10000本以上表示されないことになります。では、履歴を読み込むときに新しいバーがあるかどうかを知るにはどうすればよいのでしょうか。
なぜダメなのか?はい、そうなります。そして、Bars()とrates_totalが増加します。OnCalculate()で数値を確認します。
端末に設定したバー数は、テスターのバー数(100000本弱)には影響しない。
なぜダメなのか?そうなります。Bars()とrates_totalの両方が増加します。OnCalculate()で数値を確認します。
端末に設定したバー数は、テスターのバー数(100000弱)に影響を与えなかった。