Скачать MetaTrader 5

Всем привет. Выручайте! Плиз!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Putevod
30
Putevod  

Хотел было простецкий советник написать, но строчка:

ma0=iMA(0,0,13,0,MODE_SMA,PRICE_CLOSE,0);

мозг вынесла. Дает предупреждение неявного преобразования из "number" в "string" и указывает на первую скобку. 

Че это такое, может кто подскажет??? 

Sergey Sartakov
1286
Sergey Sartakov  
Putevod:

Хотел было простецкий советник написать, но строчка:

ma0=iMA(0,0,13,0,MODE_SMA,PRICE_CLOSE,0);

мозг вынесла. Дает предупреждение неявного преобразования из "number" в "string" и указывает на первую скобку. 

Че это такое, может кто подскажет??? 

можно не обращать внимания, но если хотите, вот формат этой функции:

iMA(string Symbol,...)

поэтому указывая на текущий символ надо было бы указывать пустую строку таким вот макаром NULL.

NULL - собственно и есть нуль, но компилятор вас предупреждает, что тут надо бы вообще-то писать NULL,

а не нуль. 

Putevod
30
Putevod  
Огроменное тебе СПАСИБО!!! Я так замучался, так нервничал, я даже ругался с ним... Выручил! Все заработало!!!!
Dmitriy Skub
12484
Dmitriy Skub  
Putevod:
В следующий раз, прежде чем мучаться, попробуйте прочитать документацию)) Выделяете интересующее слово в редакторе и нажимаете F1.
Alexey Volchanskiy
24695
Alexey Volchanskiy  
more:

можно не обращать внимания, но если хотите, вот формат этой функции:

iMA(string Symbol,...)

поэтому указывая на текущий символ надо было бы указывать пустую строку таким вот макаром NULL.

NULL - собственно и есть нуль, но компилятор вас предупреждает, что тут надо бы вообще-то писать NULL,

а не нуль. 

И мои 5 центов, NULL означает не арифметический ноль, а тип void. В случае со строкой пустая строка.
Eugeniy Lugovoy
1987
Eugeniy Lugovoy  
VDev:
И мои 5 центов, NULL означает не арифметический ноль, а тип void. В случае со строкой пустая строка.

+мой 1 цент. NULL - это неопределенное значение (значение неизвестно, некорректно или неприемлемо). Тип void - это все таки тип данных, а не значение.

Также существует разница: пустая строка = "", не есть NULL, т.к. указатель на пустую строку может существовать, а NULL - это отсутствие указателя.

Alexander Efremovtsev
284
Alexander Efremovtsev  
А разве не грамотнее например так: iMA(_Symbol,_Period,13,0,MODE_SMA,PRICE_CLOSE); ?
Alexey Volchanskiy
24695
Alexey Volchanskiy  
elugovoy:

+мой 1 цент. NULL - это неопределенное значение (значение неизвестно, некорректно или неприемлемо). Тип void - это все таки тип данных, а не значение.

Также существует разница: пустая строка = "", не есть NULL, т.к. указатель на пустую строку может существовать, а NULL - это отсутствие указателя.

Ну тогда еще 100500 долларов - ну нет в MQL4 указателей, нет и все ))) Есть дескрипторы. И чтобы не спорить, читаем хелпы, они рулез ))

Тип void и константа NULL

Синтаксически тип void является фундаментальным типом наравне с типами char, uchar, bool, short, ushort, int, uint, color, long, ulong, datetime, float, double и string. Этот тип используется либо для указания того, что функция не возвращает значения, либо в качестве параметра функции обозначает отсутствие параметров.

Предопределенная константная переменная NULL имеет тип void. Она может быть присвоена переменным любых других фундаментальных типов без преобразования. Также допускается сравнение переменных фундаментальных типов со значением NULL

Пример:

//--- если строка не инициализирована, то присвоим ей наше предопределенное значение
if(some_string==NULL) some_string="empty";

Также NULL можно сравнивать с указателями на объекты, созданные при помощи оператора new

Sergey Gridnev
5278
Sergey Gridnev  
VDev:


Предопределенная константная переменная NULL имеет тип void.

 

Из того, что константа NULL имеет  тип void абсолютно не следует, что:

 

VDev:
 NULL означает не арифметический ноль, а тип void.

 

---

 

Понимаете?  NULL не означает тип void, так же как 5 не означает тип int.

Vasiliy Sokolov
30801
Vasiliy Sokolov  
... спор тупоконечников с остроконечниками...
Stefan Stoyanov
20073
Stefan Stoyanov  

Putevod:

Хотел было простецкий советник написать, но строчка:

ma0=iMA(0,0,13,0,MODE_SMA,PRICE_CLOSE,0);

мозг вынесла. Дает предупреждение неявного преобразования из "number" в "string" и указывает на первую скобку. 

Че это такое, может кто подскажет??? 

 

ma0=iMA(NULL,0,13,0,MODE_SMA,PRICE_CLOSE,0);

 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий