エラー、バグ、質問 - ページ 1623 1...161616171618161916201621162216231624162516261627162816291630...3185 新しいコメント Vladimir Karputov 2016.07.31 12:19 #16221 Dmitri Custurov: 解決策を提供していただき、ありがとうございました。すべてがうまくいく。 素晴らしい。そこで、私がKodoBaseに掲載しているライブラリと使用例です。 Aliaksandr Yemialyanau 2016.07.31 16:30 #16222 -Aleks-: 配列ファイル全体をメモリに読み込んでから作業したほうが、はるかに高速になります。 オプティマイザが何万回もファイルをopen-read-closeすることはないと思います。 Alexey Navoykov 2016.08.01 04:53 #16223 Aliaksandr Yemialyanau:配列ファイルをEAに接続するにはどうすればよいですか?まず、スクリプトは配列を書き込む。EAでファイルを繋いでいます。コンパイル時にエラーが発生する。'????????????????????????' - 識別子が長すぎる mas.dat 1 1'' - 不明な記号 mas.dat 1 3015 それで、masファイルとはどんなファイルなんですか?このエラーから判断すると、ただのバイトの流れですよね? Alexey Navoykov 2016.08.01 06:23 #16224 静的変数 に関する深刻なバグ このコードを考えてみてください。class A { public: int m; A() { Alert("A"); m=1; } }; class B { public: B() { Alert("B"); static A a; Alert("a.m==",a.m); Alert("&a==",&a);} }; B b; void OnStart() { };実行すると、以下のような順番でアラートが表示されます。B a.m==0&a==0 Aつまり、スタティック変数にアクセスした時点ではまだ初期化されていない。 ポインタもnullである。 ちょうどスキップされたので、安全に次のステップに進むことができる。変数を初期化して先に進むか、エラーでコンパイルを中止してください。しかし、相互に参照されるクラスの再帰が発生した場合は、コンパイルを中止する必要があります。 Vasiliy Sokolov 2016.08.01 10:56 #16225 Aliaksandr Yemialyanau:配列ファイルをEAに接続するにはどうすればよいですか?まず、スクリプトは配列を書き込む。EAでファイルを繋いでいます。コンパイル時にエラーが発生する。'????????????????????????' - 識別子が長すぎる mas.dat 1 1'' - 不明な記号 mas.dat 1 3015スクリプトはファイルmas.mqhを生成し、そこにはデータのバイトを含むuchar-typesの 配列が含まれるはずです。例えば、3バイトのファイルサイズであれば、mas.mqhファイルの内容は以下のようになるはずです。uchar mass[3] = {25, 127, 89};生成された配列の質量は、プログラムで使用するものです。 Aleksey Vyazmikin 2016.08.01 21:09 #16226 Aliaksandr Yemialyanau: オプティマイザが何万回もファイルをopen-read-closeすることはないと思います。 あ、配列でコンパイルしたいんですね。 Alexey Navoykov 2016.08.02 05:00 #16227 ディスクから何万回もファイルを読み込むことはまずないでしょう。 そのためにディスクキャッシュがあるのですが、この特殊なケースで使われているかどうかは知りませんが、松葉杖を発明する前に確認・計測しておくべきです。 fxsaber 2016.08.02 09:39 #16228 MT5で1回だけ実行を中断すると、残高変化グラフだけが表示される。しかし、トレードやオーダーはできません。可視化モードを使用すると、MQLInfoInteger(MQL_VISUAL_MODE)による計算がさらに遅くなる可能性があるため、常に適切とは限りません。MT4のように、バックテスト中にすべての情報を利用できるようにすることは可能でしょうか(視覚化なし)。 fxsaber 2016.08.02 09:40 #16229 履歴データのデバッグモードでは、MQLInfoInteger(MQL_VISUAL_MODE)は常にtrueを返します。 Slava 2016.08.02 11:58 #16230 fxsaber: 履歴データのデバッグモードでは、MQLInfoInteger(MQL_VISUAL_MODE)は常にtrueを返します。 何を返すべきなのか? 1...161616171618161916201621162216231624162516261627162816291630...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
解決策を提供していただき、ありがとうございました。すべてがうまくいく。
配列ファイル全体をメモリに読み込んでから作業したほうが、はるかに高速になります。
配列ファイルをEAに接続するにはどうすればよいですか?
まず、スクリプトは配列を書き込む。
EAでファイルを繋いでいます。
コンパイル時にエラーが発生する。
'????????????????????????' - 識別子が長すぎる mas.dat 1 1
'' - 不明な記号 mas.dat 1 3015
静的変数 に関する深刻なバグ このコードを考えてみてください。
実行すると、以下のような順番でアラートが表示されます。
B
a.m==0
&a==0
A
つまり、スタティック変数にアクセスした時点ではまだ初期化されていない。 ポインタもnullである。 ちょうどスキップされたので、安全に次のステップに進むことができる。
変数を初期化して先に進むか、エラーでコンパイルを中止してください。
しかし、相互に参照されるクラスの再帰が発生した場合は、コンパイルを中止する必要があります。
配列ファイルをEAに接続するにはどうすればよいですか?
まず、スクリプトは配列を書き込む。
EAでファイルを繋いでいます。
コンパイル時にエラーが発生する。
'????????????????????????' - 識別子が長すぎる mas.dat 1 1
'' - 不明な記号 mas.dat 1 3015
スクリプトはファイルmas.mqhを生成し、そこにはデータのバイトを含むuchar-typesの 配列が含まれるはずです。例えば、3バイトのファイルサイズであれば、mas.mqhファイルの内容は以下のようになるはずです。
生成された配列の質量は、プログラムで使用するものです。
オプティマイザが何万回もファイルをopen-read-closeすることはないと思います。
履歴データのデバッグモードでは、MQLInfoInteger(MQL_VISUAL_MODE)は常にtrueを返します。