初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 534 1...527528529530531532533534535536537538539540541...1503 新しいコメント Vladimir Karputov 2016.03.08 15:13 #5331 MikeZv:ウラジミール、最初の質問への回答ありがとうございます。これらの機能を見逃していました。MT4とMT5に同じインジケータを入れました(もちろん、コードは各プラットフォームに合わせます)。 ゼロバーまでは同じ値なので、どうやら一端から ...:) また、MT4で現在のバーの計算を無効にすると、現在のバーの下に何も描画されず、MT5では、間違った値が表示されます。 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム 初心者の方からの質問 カルプトフ ウラジミール 2016.03.08 15:13...デバッグのために、時系列配列time[i]にどの値が 含まれているかをチェックするように設定することで、バーの計算をどの端から始めて、どこに「ゼロ」バーが あるかを理解できます。 Vladimir Karputov 2016.03.08 15:31 #5332 MikeZv: また、そのようなチェックはどのように行うのでしょうか?MetaEditoreでブレークポイントを 追加し、デバッグを開始します。ブレークポイントが停止したら、time[0]を観測値に追加します。 Mikhail Tkachev 2016.03.08 15:38 #5333 Karputov Vladimir:MetaEditoreでブレークポイントを追加し、デバッグを開始します。ブレークポイントが停止したら、time[0]を観測値に追加します。 私はすでにコードに出力を挿入していますMT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: time[0] = 2016.03.08 17:00:00 time[rates_total-1] = 1971.01.04 0:00:00MT5 2016.03.08 18:36:23.565 mvt_Vlt (EURUSD,H1) time[0] = 2010.01.04 00:00:00 time[rates_total-1] = 2016.03.08 17:00:00頃MT5のコードに挿入ArraySetAsSeries(time,true); 現在出力中です。MT5 2016.03.08 18:45:05.402 mvt_Vlt (EURUSD,H1) time[0] = 2016.03.08 17:00:00 time[rates_total-1] = 2010.01.04 00:00 あと価格配列もやるの? Questions from Beginners MQL5 Indicator won't fire alerts [ARCHIVE] Any rookie question, Vladimir Karputov 2016.03.08 15:47 #5334 MikeZv: すでにコードに出力していますMT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: time[0] = 2016.03.08 17:00:00 time[rates_total-1] = 1971.01.04 00:00です。MT5 2016.03.08 18:36:23.565 mvt_Vlt (EURUSD,H1) time[0] = 2010.01.04 00:00:00 time[rates_total-1] = 2016.03.08 17:00:00頃 どうすればいい?両方のバージョンのインジケータでArraySetAsSeriesを 追加します - 計算に使用するこれらの配列に対して:high[]、low[]、および一時的にtime[]配列に対して - これは、「ゼロ」バーがどこにあるかを理解するために役立ちます。したがって、両方のバージョンの「ゼロ」バーは、チャートの同じ側(右または左 - ArraySetAsSeriesで何を設定したかによる)にあり、インジケータの同じ計算部分を得ることができます。追記:打っている間に、正しい道をあやまってしまいましたね :) Mikhail Tkachev 2016.03.08 15:54 #5335 Karputov Vladimir:追記:入力している間に、正しい方法を見つけてくれました :) 見つけたのですが、まだ正しく表示されません。:) MT5のコードに貼り付けました。 ArraySetAsSeries(ExtCalcVlBuffer,true); ArraySetAsSeries(ExtMovingBuffer,true); ArraySetAsSeries(ExtStdDevBuffer,true); ArraySetAsSeries(time,true); ArraySetAsSeries(low,true); ArraySetAsSeries(high,true); 出てくるんですよ。ExtCalcVlBufferを出力 するだけで、平均値や偏差値がカウント されない...。 そして、本来は出力されるべきでないのに、まだ現在のバーで出力されています。 Vladimir Karputov 2016.03.08 16:47 #5336 MikeZv:...表示されるべきでないのに、現在のバーに表示されたままです。 なぜ、そうしてはいけないのでしょうか? Mikhail Tkachev 2016.03.08 16:49 #5337 Karputov Vladimir: なぜ、そうしてはいけないのでしょうか? i<rates_total-1を消しました。 Vladimir Karputov 2016.03.08 16:52 #5338 MikeZv: i<rates_total-1を消しました。 なぜだ!? Mikhail Tkachev 2016.03.08 16:54 #5339 Karputov Vladimir: なぜだ!? 今のをあてにするのはCPUの無駄遣いだし、値が必要ないだけでしょう。 Vladimir Karputov 2016.03.08 17:00 #5340 MikeZv: 現在の値を使用する必要はなく、無駄にプロセッサをロードするだけなので、単にこの値が必要ないだけです。すぐに指定する必要があります :) .チャート上にバーがあれば、それはインジケーターバッファーの セルに対応しています。このセルに何かを書き込まない限り、このセルはゴミを貯めることになる。 1...527528529530531532533534535536537538539540541...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ウラジミール、最初の質問への回答ありがとうございます。これらの機能を見逃していました。
MT4とMT5に同じインジケータを入れました(もちろん、コードは各プラットフォームに合わせます)。
ゼロバーまでは同じ値なので、どうやら一端から ...:)
また、MT4で現在のバーの計算を無効にすると、現在のバーの下に何も描画されず、MT5では、間違った値が表示されます。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
初心者の方からの質問
カルプトフ ウラジミール 2016.03.08 15:13
...デバッグのために、時系列配列time[i]にどの値が 含まれているかをチェックするように設定することで、バーの計算をどの端から始めて、どこに「ゼロ」バーが あるかを理解できます。
また、そのようなチェックはどのように行うのでしょうか?
MetaEditoreでブレークポイントを 追加し、デバッグを開始します。ブレークポイントが停止したら、time[0]を観測値に追加します。
MetaEditoreでブレークポイントを追加し、デバッグを開始します。ブレークポイントが停止したら、time[0]を観測値に追加します。
MT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: time[0] = 2016.03.08 17:00:00 time[rates_total-1] = 1971.01.04 0:00:00
MT5 2016.03.08 18:36:23.565 mvt_Vlt (EURUSD,H1) time[0] = 2010.01.04 00:00:00 time[rates_total-1] = 2016.03.08 17:00:00頃
MT5のコードに挿入ArraySetAsSeries(time,true);
現在出力中です。
MT5 2016.03.08 18:45:05.402 mvt_Vlt (EURUSD,H1) time[0] = 2016.03.08 17:00:00 time[rates_total-1] = 2010.01.04 00:00
あと価格配列もやるの?
すでにコードに出力しています
MT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: time[0] = 2016.03.08 17:00:00 time[rates_total-1] = 1971.01.04 00:00です。
どうすればいい?
両方のバージョンのインジケータでArraySetAsSeriesを 追加します - 計算に使用するこれらの配列に対して:high[]、low[]、および一時的にtime[]配列に対して - これは、「ゼロ」バーがどこにあるかを理解するために役立ちます。したがって、両方のバージョンの「ゼロ」バーは、チャートの同じ側(右または左 - ArraySetAsSeriesで何を設定したかによる)にあり、インジケータの同じ計算部分を得ることができます。
追記:打っている間に、正しい道をあやまってしまいましたね :)
追記:入力している間に、正しい方法を見つけてくれました :)
MT5のコードに貼り付けました。
出てくるんですよ。
ExtCalcVlBufferを出力 するだけで、平均値や偏差値がカウント されない...。
そして、本来は出力されるべきでないのに、まだ現在のバーで出力されています。
...
表示されるべきでないのに、現在のバーに表示されたままです。
なぜ、そうしてはいけないのでしょうか?
i<rates_total-1を消しました。
なぜだ!?
現在の値を使用する必要はなく、無駄にプロセッサをロードするだけなので、単にこの値が必要ないだけです。
すぐに指定する必要があります :) .
チャート上にバーがあれば、それはインジケーターバッファーの セルに対応しています。このセルに何かを書き込まない限り、このセルはゴミを貯めることになる。