エラー、バグ、質問 - ページ 1437 1...143014311432143314341435143614371438143914401441144214431444...3185 新しいコメント Ilyas 2015.11.24 15:15 #14361 MathIsValidNumber Документация по MQL5: Математические функции / MathIsValidNumber www.mql5.com Математические функции / MathIsValidNumber - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Ilyas 2015.11.24 15:16 #14362 MQL5のコードに対してよりアグレッシブなオプティマイザを使用するため、動作が異なっています。 Ilya Malev 2015.11.24 15:22 #14363 Ilyas: MathIsValidNumber ありがとうございます、知りませんでした Ilya Malev 2015.11.24 15:30 #14364 Ilyas: MQL5コードのオプティマイザがよりアグレッシブになっているため、挙動が異なっています。 また、MT4はよりスマートで、「integral constant overflow」の警告を出しましたが、MT5は無言でした。 Slava 2015.11.24 16:35 #14365 Ilya Malev:1.MT4とMT5で、このコードが異なる結果を導くのはなぜですか(MT4ではより論理的)?ドキュメントを 読むMQL4でEMPTY_VALUEは どういう意味ですか? Прочие константы - Документация на MQL4 docs.mql4.com Прочие константы - Документация на MQL4 Vladimir Karputov 2015.11.24 17:43 #14366 Сергей Таболин:以下の行(初回アクセス時)に「out of range」エラーが出るのはなぜか、教えてください。 Declare - 宣言されたが、誰がバッファ buf_ldn[ldn] を埋めるのか? Dina Paches 2015.11.24 17:59 #14367 Сергей Таболин: 最初にアクセスしたときのpr_openとpr_closeの値を見てください。 Vladimir Pastushak 2015.11.24 17:59 #14368 Сергей Таболин: が、その穴埋めなんですね。それとも、何か見落としているのでしょうか?配列を宣言したが、配列のサイズが 指定されていない ...静的な例int buf_lup[1000], buf_ldn[20000]; Maxim Khrolenko 2015.11.24 18:02 #14369 Сергей Таболин: が、その穴埋めなんですね。それとも、何か見落としているのでしょうか? いいえ、アレイフィルではありません。また、ldn = 0;の場合、[ ]に0を入れることで、配列の要素を0個、つまり1個もないと宣言したことになります。MQL5で配列:MQL5プログラミングの基礎」の記事を読む。 Vladimir Karputov 2015.11.24 18:05 #14370 Сергей Таболин: が、その穴埋めなんですね。それとも、何か見落としているのでしょうか?配列を埋める前に、配列のサイズを設定する必要があります。(ArrayRezise)。簡単な例です。//+------------------------------------------------------------------+ //| Test.mq5 | //| Copyright © 2015, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2015, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" #property script_show_inputs input bool show_error=true; // true - выполнить с ишибкой //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { int buf_ldn[]; // объявили динамический массив. Print("Размер массива buf_ldn[]=",ArraySize(buf_ldn)); // выведем на печать размер массива if(show_error) { //--- попытка присвоить значение элементу массива с индексом "0" вызовет ошибку: //--- Test (EURUSD,M15) array out of range in 'Test.mq5' (22,14) buf_ldn[0]=1; } else { //--- установим новый размер массива: ArrayResize(buf_ldn,1); //--- попытка присвоить значение элементу массива с индексом "0" НЕ вызовет ошибку: buf_ldn[0]=1; //--- выведем на печать размер массива и значение элемента с индексом "0" Print("Размер массива buf_ldn[]=",ArraySize(buf_ldn),", элемент с индексом ""0"" имеет значение:",buf_ldn[0]); } } //+------------------------------------------------------------------+ ファイル: Test.mq5 2 kb 1...143014311432143314341435143614371438143914401441144214431444...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MathIsValidNumber
MQL5コードのオプティマイザがよりアグレッシブになっているため、挙動が異なっています。
1.MT4とMT5で、このコードが異なる結果を導くのはなぜですか(MT4ではより論理的)?
ドキュメントを 読む
MQL4でEMPTY_VALUEは どういう意味ですか?
以下の行(初回アクセス時)に「out of range」エラーが出るのはなぜか、教えてください。
が、その穴埋めなんですね。
それとも、何か見落としているのでしょうか?
配列を宣言したが、配列のサイズが 指定されていない ...
静的な例int buf_lup[1000], buf_ldn[20000];
が、その穴埋めなんですね。
それとも、何か見落としているのでしょうか?
が、その穴埋めなんですね。
それとも、何か見落としているのでしょうか?
配列を埋める前に、配列のサイズを設定する必要があります。(ArrayRezise)。簡単な例です。