Hatalar, hatalar, sorular - sayfa 1437 1...143014311432143314341435143614371438143914401441144214431444...3184 Yeni yorum Ilyas 2015.11.24 15:15 #14361 MathIsValidNumber Документация по MQL5: Математические функции / MathIsValidNumber www.mql5.com Математические функции / MathIsValidNumber - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Ilyas 2015.11.24 15:16 #14362 MQL5 kodu için daha agresif bir optimize edici nedeniyle davranış farklıdır. Ilya Malev 2015.11.24 15:22 #14363 Ilyas : MathIsValidNumber Teşekkürler, bilmiyordum Ilya Malev 2015.11.24 15:30 #14364 Ilyas : MQL5 kodu için daha agresif bir optimize edici nedeniyle davranış farklıdır. Ve MT4'ün daha akıllı olduğu ortaya çıktı ve MT5 sessiz kalırken "bütünsel sabit taşma" uyarısı verdi. Slava 2015.11.24 16:35 #14365 Ilya Malev : 1. Bu kod neden MT4 ve MT5'te farklı sonuçlara yol açıyor (MT4'te daha mantıklı)? Belgeleri okuyun MQL4'te EMPTY_VALUE nedir? Прочие константы - Документация на MQL4 docs.mql4.com Прочие константы - Документация на MQL4 Vladimir Karputov 2015.11.24 17:43 #14366 Сергей Таболин : Aşağıdaki satırın neden "menzil dışı" hatası verdiğini söyleyin (ilk aramada): Duyuru - duyuruldu, ancak buf_ldn[ldn] arabelleğini kim dolduracak? Dina Paches 2015.11.24 17:59 #14367 Сергей Таболин : İlk erişildiklerinde pr_open ve pr_close değerlerinin neler olduğunu görün. Vladimir Pastushak 2015.11.24 17:59 #14368 Сергей Таболин : Sonuçta, bu doldurma: Yoksa bir şey mi kaçırdım? Bir dizi ilan ettiniz ama dizinin boyutunu belirtmediniz... Statik örnek int buf_lup[1000], buf_ldn[20000]; Maxim Khrolenko 2015.11.24 18:02 #14369 Сергей Таболин : Sonuçta, bu doldurma: Yoksa bir şey mi kaçırdım? Hayır, bu bir diziyi doldurmuyor. Ayrıca ldn = 0 ise; daha sonra [ ] yerine 0 koyarak dizide 0 eleman bildirdiniz, yani tek bir unsur bile yok. MQL5 Programlama Temelleri - Diziler makalesinde diziler hakkında bilgi edinin. [Arşiv!] Sigara içilen oda [ARŞİV] Forumu kirletmemek için Nasıl kodlanır? Vladimir Karputov 2015.11.24 18:05 #14370 Сергей Таболин : Sonuçta, bu doldurma: Yoksa bir şey mi kaçırdım? Doldurmadan önce dizinin boyutunu ayarlamanız gerekir. (ArrayResize). Basit örnek: //+------------------------------------------------------------------+ //| 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 ]); } } //+------------------------------------------------------------------+ Dosyalar: Test.mq5 2 kb 1...143014311432143314341435143614371438143914401441144214431444...3184 Yeni yorum
MathIsValidNumber
MQL5 kodu için daha agresif bir optimize edici nedeniyle davranış farklıdır.
1. Bu kod neden MT4 ve MT5'te farklı sonuçlara yol açıyor (MT4'te daha mantıklı)?
Belgeleri okuyun
MQL4'te EMPTY_VALUE nedir?
Aşağıdaki satırın neden "menzil dışı" hatası verdiğini söyleyin (ilk aramada):
Sonuçta, bu doldurma:
Yoksa bir şey mi kaçırdım?
Bir dizi ilan ettiniz ama dizinin boyutunu belirtmediniz...
Statik örnek int buf_lup[1000], buf_ldn[20000];
Sonuçta, bu doldurma:
Yoksa bir şey mi kaçırdım?
Sonuçta, bu doldurma:
Yoksa bir şey mi kaçırdım?
Doldurmadan önce dizinin boyutunu ayarlamanız gerekir. (ArrayResize). Basit örnek: