エラー、バグ、質問 - ページ 239 1...232233234235236237238239240241242243244245246...3185 新しいコメント Yedelkin 2010.12.21 20:06 #2381 チャートが「更新」されたところです。そして、それはまた同じです。 Aleksandr Chugunov 2010.12.21 20:17 #2382 Yedelkin:チャートが「更新」されたところです。そして、それはまた同じです。 servicedeskに緊急書き込み、端末を閉じない Yedelkin 2010.12.21 20:18 #2383 AlexSTAL: サービスデスクに緊急で書き込み、端末をオープンにしておくこと よし、ぶっちゃけこのスレのリンクをコピーしておこう。 Renat Fatkhullin 2010.12.21 20:37 #2384 ターミナルで確認したところ、EURUSD M1チャートは指定した場所に隙間なく完全に存在しています。チャートのコンテキストメニューから "Refresh "コマンドを実行してみてください。 Yedelkin 2010.12.21 20:51 #2385 Renat: ターミナルで確認したところ、EURUSD M1チャートは指定した場所に隙間なく完全に存在しています。 チャートのコンテキストメニューから "Refresh "コマンドを実行してみてください。 手動でリフレッシュ、ありがとうございました。私は実質的にチャートを扱うことはないので、質問があるのですが、このような状況でExpert Advisorレベルでミニテーブルのベースを更新するにはどうすればよいのでしょうか。端末は持っているデータベースでしか動作しない。同期を確認する機能を組み込むべきでしょうか? Aleksandr Chugunov 2010.12.21 21:02 #2386 Renat:ターミナルで確認したところ、EURUSD M1チャートは指定した場所に隙間なく完全に存在しています。チャートのコンテキストメニューから "Refresh "コマンドを実行してみてください。 どこかに浮遊しているバグがあると思うのですが...。ほぼ同じ状況が続いているのは私だけではないので...。 削除済み 2010.12.21 21:59 #2387 Yedelkin: 手動で更新されました、ありがとうございます。私は実質的にチャートを扱うことはないので、質問があるのですが、このような場合、分足のベースはどのように更新するのでしょうか?端末が持っている基盤でしか動作しない。同期チェックの機能を組み込む必要がありますか?通信が途絶えた時刻と再開した時刻をタイマーで記憶しました。この情報があれば、その期間の履歴をダウンロードしてみることができます(意味があれば、サーバーとの同期を確認することもできます)。 Igor Volodin 2010.12.22 00:20 #2388 開発者の皆さん、言葉を失います。他のオブジェクトから同じメソッドを内部で呼び出した後に、オブジェクトのメソッドでローカル変数が「ワイプ」してしまうという、捕らえにくい問題に直面したことがあります。オブジェクトのネストされた関数呼び出しの最適化に関係しているのかもしれませんが、少なくともログにエラーはなく、メモリリークもありません。大きなコードを引用することはできませんが、原理的には例を見れば意味はわかると思います。バリアント1bool operate(CAlgoBlockLogic* s1, CAlgoBlockLogic* s2) { bool d1 = s1.process(); bool d2 = s2.process(); return (d2 && d1); }バリアント2bool operate(CAlgoBlockLogic* s1, CAlgoBlockLogic* s2) { return (s2.process() && s1.process()); }理論的には、このコードはまったく 同じように 動作するはず です。でも...は、それぞれ異なる動作をします。 このようにバリエーション1が正常に動作しない。デバッグファイルのレコードを実行したところ、operate関数で定義された変数d1が、同じoperate関数の内部呼び出しで、同じ型の別のオブジェクトにある変数d1の値で上書き されることがわかりました。つまり、電話した後に bool d2 = s2.process();変数d1は、s2.process内の内部オペレートコールで発生した値に変更 されます。この動作は、同じ型のオブジェクトのスタティック 変数の値を変更するときと同じです。しかし、ここでは、この変数は明らかにローカルスコープを持って います。静的変数の問題は、このスレッドで提起され、すべてが明らかになりました。しかし、ローカル変数の値の不確実性をどうするか? Документация по MQL5: Основы языка / Переменные / Область видимости и время жизни переменных www.mql5.com Основы языка / Переменные / Область видимости и время жизни переменных - Документация по MQL5 AIRAT SAFIN 2010.12.22 06:17 #2389 "...operate関数で定義された変数d1が、同じoperate関数の内部呼び出しで、同じ型の別のオブジェクトにある変数d1の値で上書きされる。す なわち、 を呼び出した後bool d2 = s2.process();変数 d1 は s2.process 内の内部オペレート呼び出しで発生した値に変更されます。" 通常の副作用を伴う隠れ再帰か、あるいは......。 Slava 2010.12.22 09:00 #2390 Vigor: 理論的には、このコードはまったく 同じように 動作するはず です。でも...は、それぞれ異なる動作をします。 いいえ、同一ではありません。 最初のケースでは、s1.processとs2.processは無条件に呼び出されます。 2番目のバリエーションでは、s1.processはs2.processがtrueを返した場合にのみ呼び出されます。これを「短時間条件評価」といいます。 1...232233234235236237238239240241242243244245246...3185 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
チャートが「更新」されたところです。そして、それはまた同じです。
チャートが「更新」されたところです。そして、それはまた同じです。
サービスデスクに緊急で書き込み、端末をオープンにしておくこと
ターミナルで確認したところ、EURUSD M1チャートは指定した場所に隙間なく完全に存在しています。
チャートのコンテキストメニューから "Refresh "コマンドを実行してみてください。
ターミナルで確認したところ、EURUSD M1チャートは指定した場所に隙間なく完全に存在しています。
チャートのコンテキストメニューから "Refresh "コマンドを実行してみてください。
ターミナルで確認したところ、EURUSD M1チャートは指定した場所に隙間なく完全に存在しています。
チャートのコンテキストメニューから "Refresh "コマンドを実行してみてください。
手動で更新されました、ありがとうございます。私は実質的にチャートを扱うことはないので、質問があるのですが、このような場合、分足のベースはどのように更新するのでしょうか?端末が持っている基盤でしか動作しない。同期チェックの機能を組み込む必要がありますか?
通信が途絶えた時刻と再開した時刻をタイマーで記憶しました。
この情報があれば、その期間の履歴をダウンロードしてみることができます(意味があれば、サーバーとの同期を確認することもできます)。
開発者の皆さん、言葉を失います。他のオブジェクトから同じメソッドを内部で呼び出した後に、オブジェクトのメソッドでローカル変数が「ワイプ」してしまうという、捕らえにくい問題に直面したことがあります。オブジェクトのネストされた関数呼び出しの最適化に関係しているのかもしれませんが、少なくともログにエラーはなく、メモリリークもありません。大きなコードを引用することはできませんが、原理的には例を見れば意味はわかると思います。
バリアント1
バリアント2
理論的には、このコードはまったく 同じように 動作するはず です。でも...は、それぞれ異なる動作をします。
このようにバリエーション1が正常に動作しない。デバッグファイルのレコードを実行したところ、operate関数で定義された変数d1が、同じoperate関数の内部呼び出しで、同じ型の別のオブジェクトにある変数d1の値で上書き されることがわかりました。つまり、電話した後にbool d2 = s2.process();
変数d1は、s2.process内の内部オペレートコールで発生した値に変更 されます。この動作は、同じ型のオブジェクトのスタティック 変数の値を変更するときと同じです。しかし、ここでは、この変数は明らかにローカルスコープを持って います。
静的変数の問題は、このスレッドで提起され、すべてが明らかになりました。しかし、ローカル変数の値の不確実性をどうするか?
"...operate関数で定義された変数d1が、同じoperate関数の内部呼び出しで、同じ型の別のオブジェクトにある変数d1の値で上書きされる。す なわち、
を呼び出した後bool d2 = s2.process();
変数 d1 は s2.process 内の内部オペレート呼び出しで発生した値に変更されます。"
通常の副作用を伴う隠れ再帰か、あるいは......。
理論的には、このコードはまったく 同じように 動作するはず です。でも...は、それぞれ異なる動作をします。
いいえ、同一ではありません。
最初のケースでは、s1.processとs2.processは無条件に呼び出されます。
2番目のバリエーションでは、s1.processはs2.processがtrueを返した場合にのみ呼び出されます。これを「短時間条件評価」といいます。