エラー、バグ、質問 - ページ 3128

 
Nikolai Semko # :

あ、デバッグのこのテーマってもう動かないんですか?
悲しい :(( 仕事でとても役に立ちました。


4ヶ月以上前に報告済み.誰も気にしない。

Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
  • 2021.08.18
  • www.mql5.com
В пятницу 18 июня 2021 года будет выпущена обновленная версия платформы MetaTrader 5...
 
Vladimir Pastushak #:
ファイナンス非財務的な問題

オープン開始 2021.09.02 10:45,#3182963

こんにちは!「新規申し込み」ボタンが機能しないため、チケットをアクティベートしました。

要望理由:直近の4言語(韓国語、イタリア語、フランス語、トルコ語)の記述がシグナルに保存されていない。

効かないので上げる。

 
実行中のすべてのMT4/5端末でスクリプト/サービスを実行するスクリプトが必要です。PostMessageのパラメータを提案してください。
 
fxsaber #:
実行中のすべてのMT4/5端末でスクリプト/サービスを実行するスクリプトが必要です。PostMessageのパラメータを教えてください。

共通フォルダにコマンドファイルが表示されるのを待つサービスを作ろうかと思います。さて、そんなコマンドを作成するスクリプトも。

 
Andrey Khatimlianskii #:

共通フォルダにコマンドファイルが表示されるのを待つサービスを作ろうかと思います。さて、そんなコマンドを作成するスクリプトも。

非常にカクカクしており、MT4はまだ関連性があります。

 

あえてバグとは言いません。そこで、if 文の特殊性に一つ気がついたことを述べておく。これは他の言語でも同じことが言えるのではないでしょうか。

if(a && Array[over_index]>val) {...}

a が真であることが判明した場合、チェックは Array[over_index] に飛び、ここで 端末は'array out of range' 部分でクラッシュし始めますが、これは全く正しいです。しかし、もしaがfalseになったら、端末はArray[over_index]の条件をチェックしないので、インデックスの冗長性をチェックせず、ifは さらにスキップして、コーダーは自分のプログラム中に存在しないインデックスを持つ配列があることを知らないままです...。というか、既存のものだけど冗長なもの。

もしかしたら、'array out of range' のチェックがif ループの最後まで行われ、同じメッセージが出力されるように修正する必要があるのでは?それとも、オペレーターのスピードが大幅に低下するのでしょうか?


 
x572intraday #:

あえてバグとは言いません。そこで、if 文の特殊性に一つ気がついたことを述べておく。これは他の言語にも当てはまるのではないでしょうか。

a が真であることが判明した場合、チェックは Array[over_index] に飛び、ここでコンパイラは'array out of range' の部分をクラッシュさせ始めますが、これは全くそのとおりです。しかし、もしaがfalseになったら、端末はArray[over_index]の条件をチェックしないので、インデックスの冗長性をチェックせず、ifはさらにスキップして、コーダーは自分のプログラム中に存在しないインデックスを持つ配列があることを知らないままです...。というか、既存のものだけど冗長なもの。

もしかしたら、'array out of range' のチェックがif ループの最後まで行われ、同じメッセージが出力されるように修正する必要があるのでは?それとも、オペレーターのスピードが大幅に低下するのでしょうか?


あなたの場合は、両方の条件を満たす必要があるため、そうではありません。しかし、設定すると

if(a || Array[over_index]>val) {...}
となると、そうですね。a'の条件が満たされた場合、2つ目の条件はチェックされない。何年も前から争ってきたことなのに、前世紀に戻ろうというのか......。
 
x572intraday #:

あえてバグとは言いません。そこで、if 文の特殊性に一つ気がついたことを述べておく。これは他の言語にも当てはまるのではないでしょうか。

a が真であることが判明した場合、チェックは Array[over_index] に飛び、ここでターミナルは'array out of range' の部分でクラッシュし始めますが、これは全くその通りです。しかし、もしaがfalseになったら、端末はArray[over_index]の条件をチェックしないので、インデックスの冗長性をチェックせず、ifは さらにスキップして、コーダーは自分のプログラム中に存在しないインデックスを持つ配列があることを知らないままです...。というか、既存のものだけど冗長なもの。

もしかしたら、'array out of range' のチェックがif ループの最後まで行われ、同じメッセージが出力されるように修正する必要があるのでは?それとも、オペレーターのスピードが大幅に低下するのでしょうか?

動作を変更すると、正常に書かれたプログラムは単に「クラッシュ」し、書かれていないプログラムは「困難」になってしまいます。

読んでみてください、そこにいくつかの記述があります。

 
x572intraday #:

あえてバグとは言いません。

これはどこでも普通の動作です。 もし、引数を常に計算させたい場合は、if-の前に計算させます。

 
Alexey Viktorov #:

あなたの場合は、両方の条件を満たす必要があるため、この限りではありません。しかし、これを置くと

となると、そうですね。a'の条件を満たした場合、2つ目の条件はチェックされない。何年も前から争ってきたことなのに、前世紀に戻ろうというのか......。

チェック

// +--------
int start()
{
 if(false && Test()) { 
  Print("if Yes"); // Это никогда не напечатает
 }
}

// +--------
bool Test() {
 Print("Test"); // Это тоже, к ней не дошла очередь
 return(true);
}