エラー、バグ、質問 - ページ 2490 1...248324842485248624872488248924902491249224932494249524962497...3185 新しいコメント Alexey Viktorov 2019.06.30 07:14 #24891 Slava: 下の投稿にある私の引用文をよくお読みになっていますか? この動作は、「チャートあたりの 最大バー数」の 設定が導入されたときから、つまりMT4の初期から常に存在していたものです。そして、この設定に従って毎回バーの数を減らさない理由は、この15年の間に何度も説明してきました。そして今は、毎回切り返すことはありません。 誰もドキュメントを読まない。しかし、それはパラドックスです。今でも、読んでもいないドキュメントに別のことを書いてくれと言われます。 スラバ、 文句なしです。よく読むと、あなたの引用だけでなく、このような トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 スラバ さん 2019.06.29 18:25 rates_total は常に現在のチャートで利用可能な バーの 数を表示します。 あなたの発言の意味が理解できない そして、この トレーディング、自動売買システム、ストラテジーテストに関するフォーラム バグ、バグ、質問 スラバ さん 2019.06.29 18:42 今、手元にクライアント端末がないので、ヘルプを引用します。モバイルデバイスから2クリックでhttps://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars 特別に強調された段落。 より経済的な計算を行うために、指標は "Max bars in window "パラメータで指定されたものより多くのバーを使用することができます。 新しいバーが到着 しても、古いバーはすぐにデータキャッシュから削除されない。これにより、インジケータは新しいバーごとに完全に再計算されるのではなく、新しいバーに対してのみ追加で値を計算することができます。 ドキュメントを何度も読み返しました。でも、最近始まった端末で絵を作ったりしています。ウィンドウには5000本のバーしかなく、新しいバーはまだ読み込まれる時間がない。 もちろん、わからないことがあれば、もう一度質問して、理解しようとします。変更はないのでしょうね。私の発言を苦情と受け取らないでください。 Errors, bugs, questions トレーディングにおけるニューラルネットワークの実用化。 Python (パートI) リキッドチャート Alexey Viktorov 2019.06.30 07:25 #24892 Igor Makanu: 参考文献は正しくない、誤解を招く、私が書いたhttps://www.mql5.com/ru/forum/304239/page57#comment_11519307 MQL5ではバッファは一般的な配列として機能しますが、MT4ではターミナルがバッファを処理し、EMPTY_VALUEにリセットし、その後...となります。MT5とMT4のインジケーターの違いについて、どこに書いたか覚えていませんが バッファをクリアする必要があります - 通常の配列としてクリアし、端末は配列バッファ自体のサイズを設定するだけです。 Igorさん、ロシア語でわかりやすく説明してください。もし、インジケータバッファの各穴が、そこに含まれるゴミを置き換えるいくつかの値で満たされるなら、正しい値で満たす前にこれらの穴を強制する目的は何でしょうか。実行速度の低下のため? Igor Makanu 2019.06.30 07:42 #24893 Alexey Viktorov: イゴール、ロシア語で説明してください。もし、インジケータバッファの各穴が、そこに含まれるゴミを置き換えるいくつかの値で満たされるなら、必要な値で満たす前にこれらの穴を強制的にクリアする目的は何でしょうか?実行速度の低下のため? 穴埋めは、「矢印」を持つインジケータにおいてのみ重要です。MT4では、インジケータの初期化時に、これらの「穴」はEMPTY_VALUEという値で自動的に埋められます。 MT5では、プログラマーが行う必要があります。 またはMT5では、プログラマーはif() else構成を介してインジケータバッファを 埋める必要があります。 i.e.これはMT4で動作します。 if(...) Buf[i] = high[i]; をMT5で書く必要があります。 if(...) Buf[i] = high[i]; else Buf[i] = EMPTY_VALUE; また、MT5では、インジケータバッファをクリアしないと、TFを切り替えたときに、インジケータバッファに束縛されている配列から「ゴミ」が描画されます。書き方や配慮はセンス次第 SZY: 速度ですか? まあ、速度を測ってみると、99%のケースで組み込み関数の方が速いのですが、ループ内のすべてのバーをEMPTY_VALUEで埋めるのと、ArrayInitialize(Buf,EMPTY_VALUE)で1回初期化するのとではパフォーマンスに差がないんです。 Alexey Viktorov 2019.06.30 07:57 #24894 Igor Makanu: 穴埋めは、「矢印」を持つインジケーターにおいてのみ重要です。MT4では、インジケーターの初期化時に、これらの「穴」はEMPTY_VALUEの値によって自動的に埋められます。 MT5では、プログラマーが行う必要があります。 またはMT5では、プログラマーはif() else構成を介してインジケータバッファを 埋める必要があります。 i.e.これはMT4で動作します。 をMT5では必ず書かなければならない。 また、MT5では、インジケータバッファをクリアしないと、TFを切り替えたときに、インジケータバッファに束縛されている配列から「ゴミ」が描画されます。書き方や配慮はセンス次第 さて、速度を測ってみると、99%のケースで組み込み関数の方が速く走りますが、EMPTY_VALUEループで各バーを埋めるのと、ArrayInitialize(Buf,EMPTY_VALUE)で一度初期化するのとではパフォーマンスに差は出ません。 これだけでは口うるさいだけです。そうだったんだ、そうしたいんだ、習慣を変えるのは難しい、などの理由があるようです。 if else の構成は、簡単に次のように置き換えることができます。 Buf[i] = условие ? high[i] : EMPTY_VALUE; Igor Makanu 2019.06.30 08:22 #24895 Alexey Viktorov: 口うるさいだけなんです。そういうものだ、そうありたい、習慣を変えるのは難しい、などの理由があります。 if else の構成は、簡単に次のように置き換えることができます。 C++やC#でパフォーマンスを向上させるためのTipsでは、「条件演算子 ? : " 以前、ハブラの記事を読んだような気がします(テストはしていません、なるべく都合の良いように書いています)。 ;) Artyom Trishkin 2019.06.30 08:29 #24896 Igor Makanu: しつこいようですが、C++やC#でパフォーマンスを向上させるためのアドバイスとして、「条件演算子 ? : " 以前、ハブラの記事を読んだような気がします(検証はしていません、自分でもなるべく都合よく書いています)。 ;) コンパイラは馬鹿ではないので、Habraのグルよりもうまく最適化します。 Igor Makanu 2019.06.30 08:42 #24897 Artyom Trishkin: このコンパイラはバカではないので、フーバーの「達人」よりもうまく最適化します。 そんなとき、私はいつも「太陽は朝に出て、夕方に沈む......」と繰り返す。- ここに論理があると思いますか?- たしかに論理的ですが、私の文章に情報はあるのでしょうか?- ないんです。 テストしないの?:コンパイラ・マシン....フーバー、良い... Igor Makanu 2019.06.30 09:47 #24898 Igor Makanu: テストはしないの?: MT5をテスト。 2019.06.30 13:37:04.230 tst (EURUSD,H1) Testing if() cycles=9999999999 time=10859 ms 2019.06.30 13:37:15.116 tst (EURUSD,H1) Testing ?: cycles=99999999 time=10891 ms 2019.06.30 13:38:05.348 tst (EURUSD,H1) Testing if() cycles=9999999999 time=10843 ms 2019.06.30 13:38:16.190 tst (EURUSD,H1) Testing ?: cycles=99999999 time=10844 ms 2019.06.30 13:38:32.111 tst (EURUSD,H1) Testing if() cycles=9999999999 time=10860 ms 2019.06.30 13:38:42.955 tst (EURUSD,H1) Testing ?: cycles=99999999 time=10843 ms MT4をテストしてみました。 2019.06.30 13:46:09.087 tst EURUSD,H1: Testing ?: cycles=99999999 time=33234 ms 2019.06.30 13:45:35.854 tst EURUSD,H1: テスト if() cycles=9999999999 time=32953 ms 2019.06.30 13:44:43.421 tst EURUSD,H1: Testing ?: cycles=99999999 time=333298 ms 2019.06.30 13:44:10.094 tst EURUSD,H1: テスト if() cycles=9999999999 time=33016 ms 2019.06.30 13:42:56.925 tst EURUSD,H1: Testing ?: cycles=99999999 time=33344 ms 2019.06.30 13:42:23.584 tst EURUSD,H1: テスト if() cycles=9999999999 time=32953 ms MTの開発者、いつもトップクラスですね。 Errors, bugs, questions PREDICT time period 静的配列 ? Alexey Navoykov 2019.06.30 11:58 #24899 以前から、大きなプロジェクトで カスタムマクロ名のハイライトがうまくいかないことがあります。 他のファイルで定義された多くのマクロがなぜかハイライトされません。 まだパターンがわかりません。 あるファイルで定義されたマクロが、ある行以降他のファイルでハイライトされなくなることだけはわかります。 誰かこの現象を見たことはありませんか? Alexey Viktorov 2019.06.30 12:04 #24900 Alexey Navoykov: 大きなプロジェクトで、ユーザー定義のマクロ名のハイライトがいつもうまくいかないことに長い間気づいていました。 他のファイルで定義された多くのマクロが、なぜかハイライトされません。 まだパターンを見つけることができません。 私が見るのは、あるファイルで定義されたすべてのマクロが、ある行以降他のファイルでハイライトされなくなることです。 誰か自分自身にこの現象が起こったことがあるのでしょうか? どの関数のパラメーターとして書いても、光らないことに気がつきました。完全一致型ではないのでは?あるいは、より正確にはどう呼べばいいのかわからない。 1...248324842485248624872488248924902491249224932494249524962497...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
下の投稿にある私の引用文をよくお読みになっていますか?
この動作は、「チャートあたりの 最大バー数」の 設定が導入されたときから、つまりMT4の初期から常に存在していたものです。そして、この設定に従って毎回バーの数を減らさない理由は、この15年の間に何度も説明してきました。そして今は、毎回切り返すことはありません。
誰もドキュメントを読まない。しかし、それはパラドックスです。今でも、読んでもいないドキュメントに別のことを書いてくれと言われます。
スラバ、 文句なしです。よく読むと、あなたの引用だけでなく、このような
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
スラバ さん 2019.06.29 18:25
rates_total は常に現在のチャートで利用可能な バーの 数を表示します。
あなたの発言の意味が理解できない
そして、この
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
バグ、バグ、質問
スラバ さん 2019.06.29 18:42
今、手元にクライアント端末がないので、ヘルプを引用します。モバイルデバイスから2クリックでhttps://www.metatrader5.com/ru/terminal/help/startworking/settings#max_bars
特別に強調された段落。
より経済的な計算を行うために、指標は "Max bars in window "パラメータで指定されたものより多くのバーを使用することができます。 新しいバーが到着 しても、古いバーはすぐにデータキャッシュから削除されない。これにより、インジケータは新しいバーごとに完全に再計算されるのではなく、新しいバーに対してのみ追加で値を計算することができます。
もちろん、わからないことがあれば、もう一度質問して、理解しようとします。変更はないのでしょうね。私の発言を苦情と受け取らないでください。
参考文献は正しくない、誤解を招く、私が書いたhttps://www.mql5.com/ru/forum/304239/page57#comment_11519307
MQL5ではバッファは一般的な配列として機能しますが、MT4ではターミナルがバッファを処理し、EMPTY_VALUEにリセットし、その後...となります。MT5とMT4のインジケーターの違いについて、どこに書いたか覚えていませんが
バッファをクリアする必要があります - 通常の配列としてクリアし、端末は配列バッファ自体のサイズを設定するだけです。
Igorさん、ロシア語でわかりやすく説明してください。もし、インジケータバッファの各穴が、そこに含まれるゴミを置き換えるいくつかの値で満たされるなら、正しい値で満たす前にこれらの穴を強制する目的は何でしょうか。実行速度の低下のため?
イゴール、ロシア語で説明してください。もし、インジケータバッファの各穴が、そこに含まれるゴミを置き換えるいくつかの値で満たされるなら、必要な値で満たす前にこれらの穴を強制的にクリアする目的は何でしょうか?実行速度の低下のため?
穴埋めは、「矢印」を持つインジケータにおいてのみ重要です。MT4では、インジケータの初期化時に、これらの「穴」はEMPTY_VALUEという値で自動的に埋められます。
MT5では、プログラマーが行う必要があります。
またはMT5では、プログラマーはif() else構成を介してインジケータバッファを 埋める必要があります。
i.e.これはMT4で動作します。
if(...) Buf[i] = high[i];
をMT5で書く必要があります。
また、MT5では、インジケータバッファをクリアしないと、TFを切り替えたときに、インジケータバッファに束縛されている配列から「ゴミ」が描画されます。書き方や配慮はセンス次第
SZY: 速度ですか? まあ、速度を測ってみると、99%のケースで組み込み関数の方が速いのですが、ループ内のすべてのバーをEMPTY_VALUEで埋めるのと、ArrayInitialize(Buf,EMPTY_VALUE)で1回初期化するのとではパフォーマンスに差がないんです。
穴埋めは、「矢印」を持つインジケーターにおいてのみ重要です。MT4では、インジケーターの初期化時に、これらの「穴」はEMPTY_VALUEの値によって自動的に埋められます。
MT5では、プログラマーが行う必要があります。
またはMT5では、プログラマーはif() else構成を介してインジケータバッファを 埋める必要があります。
i.e.これはMT4で動作します。
をMT5では必ず書かなければならない。
また、MT5では、インジケータバッファをクリアしないと、TFを切り替えたときに、インジケータバッファに束縛されている配列から「ゴミ」が描画されます。書き方や配慮はセンス次第
さて、速度を測ってみると、99%のケースで組み込み関数の方が速く走りますが、EMPTY_VALUEループで各バーを埋めるのと、ArrayInitialize(Buf,EMPTY_VALUE)で一度初期化するのとではパフォーマンスに差は出ません。
これだけでは口うるさいだけです。そうだったんだ、そうしたいんだ、習慣を変えるのは難しい、などの理由があるようです。
if else の構成は、簡単に次のように置き換えることができます。
Buf[i] = условие ? high[i] : EMPTY_VALUE;
口うるさいだけなんです。そういうものだ、そうありたい、習慣を変えるのは難しい、などの理由があります。
if else の構成は、簡単に次のように置き換えることができます。
C++やC#でパフォーマンスを向上させるためのTipsでは、「条件演算子 ? : " 以前、ハブラの記事を読んだような気がします(テストはしていません、なるべく都合の良いように書いています)。
;)
しつこいようですが、C++やC#でパフォーマンスを向上させるためのアドバイスとして、「条件演算子 ? : " 以前、ハブラの記事を読んだような気がします(検証はしていません、自分でもなるべく都合よく書いています)。
;)
このコンパイラはバカではないので、フーバーの「達人」よりもうまく最適化します。
そんなとき、私はいつも「太陽は朝に出て、夕方に沈む......」と繰り返す。- ここに論理があると思いますか?- たしかに論理的ですが、私の文章に情報はあるのでしょうか?- ないんです。
テストしないの?:コンパイラ・マシン....フーバー、良い...
テストはしないの?:
MT5をテスト。
2019.06.30 13:37:04.230 tst (EURUSD,H1) Testing if() cycles=9999999999 time=10859 ms
2019.06.30 13:37:15.116 tst (EURUSD,H1) Testing ?: cycles=99999999 time=10891 ms
2019.06.30 13:38:05.348 tst (EURUSD,H1) Testing if() cycles=9999999999 time=10843 ms
2019.06.30 13:38:16.190 tst (EURUSD,H1) Testing ?: cycles=99999999 time=10844 ms
2019.06.30 13:38:32.111 tst (EURUSD,H1) Testing if() cycles=9999999999 time=10860 ms
2019.06.30 13:38:42.955 tst (EURUSD,H1) Testing ?: cycles=99999999 time=10843 ms
2019.06.30 13:46:09.087 tst EURUSD,H1: Testing ?: cycles=99999999 time=33234 ms
2019.06.30 13:45:35.854 tst EURUSD,H1: テスト if() cycles=9999999999 time=32953 ms
2019.06.30 13:44:43.421 tst EURUSD,H1: Testing ?: cycles=99999999 time=333298 ms
2019.06.30 13:44:10.094 tst EURUSD,H1: テスト if() cycles=9999999999 time=33016 ms
2019.06.30 13:42:56.925 tst EURUSD,H1: Testing ?: cycles=99999999 time=33344 ms
2019.06.30 13:42:23.584 tst EURUSD,H1: テスト if() cycles=9999999999 time=32953 ms
大きなプロジェクトで、ユーザー定義のマクロ名のハイライトがいつもうまくいかないことに長い間気づいていました。 他のファイルで定義された多くのマクロが、なぜかハイライトされません。 まだパターンを見つけることができません。 私が見るのは、あるファイルで定義されたすべてのマクロが、ある行以降他のファイルでハイライトされなくなることです。 誰か自分自身にこの現象が起こったことがあるのでしょうか?
どの関数のパラメーターとして書いても、光らないことに気がつきました。完全一致型ではないのでは?あるいは、より正確にはどう呼べばいいのかわからない。