エラー、バグ、質問 - ページ 2012 1...200520062007200820092010201120122013201420152016201720182019...3185 新しいコメント fxsaber 2017.09.26 03:53 #20111 A100:もう一つのバグは、32ビット版(私のが正確です)では、実行時にエラーが発生しないことです。無効なポインタ - クラスにメンバが追加されている場合のみ。MT4でテストしたのでしょうが、そちらもビルドが低くなっています。 Slava 2017.09.26 05:00 #20112 Kirill Belousov:バグです。 エラー4200は、NOT CURRENT CHART上で重複オブジェクトを作成する際には発生しません(現在のチャート上では発生します - [ログの「CURRENT CHART」を参照] )。また、「最近のチャート」にあるオブジェクトを見つけるには、「現在のチャート」を見つけるよりも最大500倍も時間がかかることがわかりました。а :)というのも、これは私一人の問題ではないことがわかったからです。関数呼び出し時にすぐにオブジェクトが生成されるわけではありません。チャートに対して非同期コマンドを送信します。自分たちのチャートは、事前にチェックする機会があります。他人のチャートにはそのような可能性はない--というより、あるのだが、非常に高価なのだ。したがって、"no errors "というリターンコードは、まさにこのエイリアンチャートが見つかり、オブジェクト作成 コマンドが正常にその実行キューに入れられたことを意味します。 A100 2017.09.26 11:02 #20113 fxsaber:MT4でテストされたのでしょうが、そちらもビルドが低くなっています。MT51653 ▶︎Win10 - my code reaches line //Result: false32ビットでポインタが 無効な場合、ランダムエラーになります。ServiceDeskはこう書いている。関数fは空であり、コピー演算子の呼び出しと同様にオプティマイザでカットされる。しかし、もし void f() { Print( __FUNCTION__ ); } その後Result。2017.09.26 14:03:55.853 デモ (GBPUSD,M15) A::f 2017.09.26 14:03:55.853 デモ (GBPUSD,M15) false 基本的に変化なし。 fxsaber 2017.09.26 11:13 #20114 A100:また、32ビットを持っている場合 - すべてのいくつかのランダムなエラーが発生します。いいえ、私はWin7x64を使用していました。ServiceDeskはこう言っている。関数fは空であり、ステップ1のコピー演算子呼び出しと同様に、オプティマイザによって呼び出しがカットされる。しかし、もし ならいいSDが確認せずにすぐに対応するところに遭遇したことがあります。そして、90%のアプリケーションでは、これはおそらく正しいでしょう。ほとんどのアプリケーションは、バグが原因ではなく、無知が原因なのですから。よく見てください - 動きます。 fxsaber 2017.09.26 11:19 #20115 リンクを貼ったサイトのバグ。フォーラムの投稿がモデレーターによって他のスレッドに移動された場合、プロフィール検索の「すべての投稿」では、この投稿は古い場所にリンクされています。その結果、そこにナビゲートすることができない。 Ilyas 2017.09.26 11:29 #20116 A100:MT51653-Win10 - I get to the line //Result: falseもし、32ビットで無効なポインタもある場合は、ランダムエラーになります。ServiceDeskはこう書いている。 関数fは空であり、 コピー演算子の 呼び出しと同様にオプティマイザでカット される。しかし、もしその後Result。2017.09.26 14:03:55.853 デモ(GBPUSD,M15) A::f 2017.09.26 14:03:55.853 デモ(GBPUSD,M15)false 大同小異付け加えると、f関数ではオブジェクトフィールドをアドレスしないので、オブジェクトポインタ(this)は必要ない。 オプティマイザは、オブジェクト・ポインタへのハンドル(MQLではハンドルはポインタであることを覚えておいてください)の不要な再参照を削除します。 fxsaber 2017.09.26 11:32 #20117 Ilyas:付け加えると、関数fはオブジェクトフィールドへのアドレッシングを含まないので、関数fにはオブジェクト(this)へのポインタは必要ない。 オプティマイザは、オブジェクト・ポインタへのハンドル(MQLではポインタがハンドルであることを思い出してください)の不要な再参照を削除します。明らかに、静的と同じようにfで作業すること。しかし、一方が実行され、もう一方が割り込む ことをどう説明するのか。 fxsaber 2017.09.26 11:50 #20118 実際、少なくともこれは便利でしょう。input string Value = _MarketWatch; // Выпадающий список (а-ля enum) символов из Обзора рынка トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム ENUM シンボルリストを INPUT にする。 マーティン・ノヘイル さん 2017.09.26 13:01 こんにちは、私は以下のことをしようと思っています。シンボルを入力パラメータに したいので、以下のような入力変数(enum)を用意して、そこから正しいシンボルを選択するようにしたい。私は、このコードでこれを行いました。enum ENUM_SYMBOL { EURUSD=0, GPBUSD=1, USDCHF=2 };それは私にとって完璧な仕事です。しかし、私はシンボルのリスト全体によって動的に列挙を満たしたい(SymbolsTotal(0);)。なんとなくですが、おそらくコードで。int a = SymbolsTotal(0); for(int i=0; i!=a;i++){ .... } Ilyas 2017.09.26 11:53 #20119 fxsaber:明らかに、静的と同じようにfで作業すること。しかし、一方が実行され、もう一方が中断 されることをどう説明するのでしょうか? ほとんどの場合、デバッグ(F5)を開始し、A100が先にコンパイル(F7)し、その後チャートが表示されます。 デバッグ用にコンパイルする場合、オプティマイザは明示的に使用されていないコードのみを削除し、その他の最適化は行いません。 fxsaber 2017.09.26 11:59 #20120 Ilyas: ほとんどの場合、デバッグを開始し(F5)、A100が先にコンパイルし(F7)、それをチャートに投げるのでしょう。デバッグ用にコンパイルする 場合、オプティマイザは明示的に使用されていないコードのみを削除し、その他の最適化は 行いません。その特徴は、すぐに取り入れました。今、自分で再確認してみました。リリース版 です。Test (EURUSD,H1) invalid pointer access in 'Test.mq5' (9,11) 1...200520062007200820092010201120122013201420152016201720182019...3185 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
もう一つのバグは、32ビット版(私のが正確です)では、実行時にエラーが発生しないことです。無効なポインタ - クラスにメンバが追加されている場合のみ。
MT4でテストしたのでしょうが、そちらもビルドが低くなっています。
バグです。
エラー4200は、NOT CURRENT CHART上で重複オブジェクトを作成する際には発生しません(現在のチャート上では発生します - [ログの「CURRENT CHART」を参照] )。
また、「最近のチャート」にあるオブジェクトを見つけるには、「現在のチャート」を見つけるよりも最大500倍も時間がかかることがわかりました。
а :)というのも、これは私一人の問題ではないことがわかったからです。
関数呼び出し時にすぐにオブジェクトが生成されるわけではありません。チャートに対して非同期コマンドを送信します。自分たちのチャートは、事前にチェックする機会があります。他人のチャートにはそのような可能性はない--というより、あるのだが、非常に高価なのだ。
したがって、"no errors "というリターンコードは、まさにこのエイリアンチャートが見つかり、オブジェクト作成 コマンドが正常にその実行キューに入れられたことを意味します。
MT4でテストされたのでしょうが、そちらもビルドが低くなっています。
MT51653 ▶︎Win10 - my code reaches line //Result: false
32ビットでポインタが 無効な場合、ランダムエラーになります。
ServiceDeskはこう書いている。関数fは空であり、コピー演算子の呼び出しと同様にオプティマイザでカットされる。
しかし、もし
その後Result。
2017.09.26 14:03:55.853 デモ (GBPUSD,M15) A::f
2017.09.26 14:03:55.853 デモ (GBPUSD,M15) false
基本的に変化なし。
また、32ビットを持っている場合 - すべてのいくつかのランダムなエラーが発生します。
いいえ、私はWin7x64を使用していました。
ServiceDeskはこう言っている。関数fは空であり、ステップ1のコピー演算子呼び出しと同様に、オプティマイザによって呼び出しがカットされる。
しかし、もし
ならいいSDが確認せずにすぐに対応するところに遭遇したことがあります。そして、90%のアプリケーションでは、これはおそらく正しいでしょう。ほとんどのアプリケーションは、バグが原因ではなく、無知が原因なのですから。よく見てください - 動きます。
リンクを貼ったサイトのバグ。
フォーラムの投稿がモデレーターによって他のスレッドに移動された場合、プロフィール検索の「すべての投稿」では、この投稿は古い場所にリンクされています。その結果、そこにナビゲートすることができない。
MT51653-Win10 - I get to the line //Result: false
もし、32ビットで無効なポインタもある場合は、ランダムエラーになります。
ServiceDeskはこう書いている。 関数fは空であり、 コピー演算子の 呼び出しと同様にオプティマイザでカット される。
しかし、もし
その後Result。
2017.09.26 14:03:55.853 デモ(GBPUSD,M15) A::f
2017.09.26 14:03:55.853 デモ(GBPUSD,M15)false
大同小異
付け加えると、f関数ではオブジェクトフィールドをアドレスしないので、オブジェクトポインタ(this)は必要ない。
オプティマイザは、オブジェクト・ポインタへのハンドル(MQLではハンドルはポインタであることを覚えておいてください)の不要な再参照を削除します。
付け加えると、関数fはオブジェクトフィールドへのアドレッシングを含まないので、関数fにはオブジェクト(this)へのポインタは必要ない。
オプティマイザは、オブジェクト・ポインタへのハンドル(MQLではポインタがハンドルであることを思い出してください)の不要な再参照を削除します。
明らかに、静的と同じようにfで作業すること。しかし、一方が実行され、もう一方が割り込む ことをどう説明するのか。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
ENUM シンボルリストを INPUT にする。
マーティン・ノヘイル さん 2017.09.26 13:01
こんにちは、私は以下のことをしようと思っています。
シンボルを入力パラメータに したいので、以下のような入力変数(enum)を用意して、そこから正しいシンボルを選択するようにしたい。
私は、このコードでこれを行いました。
それは私にとって完璧な仕事です。しかし、私はシンボルのリスト全体によって動的に列挙を満たしたい(SymbolsTotal(0);)。
なんとなくですが、おそらくコードで。
明らかに、静的と同じようにfで作業すること。しかし、一方が実行され、もう一方が中断 されることをどう説明するのでしょうか?
デバッグ用にコンパイルする場合、オプティマイザは明示的に使用されていないコードのみを削除し、その他の最適化は行いません。
ほとんどの場合、デバッグを開始し(F5)、A100が先にコンパイルし(F7)、それをチャートに投げるのでしょう。
デバッグ用にコンパイルする 場合、オプティマイザは明示的に使用されていないコードのみを削除し、その他の最適化は 行いません。
その特徴は、すぐに取り入れました。今、自分で再確認してみました。
リリース版 です。