TarasBY: Сначала подсчитываете текущий профит по всем открытым ордерам, затем сравниваете с заявленным уровнем: если выше, удаляете все ордера. Эту процедуру (и не только) выполняет этот советник (там и код).
строка "", старый вариант: 656D6F73, новый вариант: 01CD8A90
строка "something", старый вариант: 6E696874, новый вариант: 01CD9010
строка "MyStr", старый вариант: 00360072, новый вариант: 01CD8AA0
строка "mystr", старый вариант: 00360072, новый вариант: 01CD8AA8
строка "", старый вариант: 656D6F73, новый вариант: 01C97858
строка "something", старый вариант: 6E696874, новый вариант: 01CDCC30
строка "MyStr", старый вариант: 00360072, новый вариант: 01C978868
строка "mystr", старый вариант: 00360072, новый вариант: 01C997870
строка "", старый вариант: 656D6F73, новый вариант: 01D93108
строка "something", старый вариант: 6E696874, новый вариант: 01CC5A58
строка "MyStr", старый вариант: 00360072, новый вариант: 01D93118
строка "mystr", старый вариант: 00360072, новый вариант: 01D93120
В первом варианте мы имеем указатель на первый элемент поля структуры MqlStr.string, во втором варианте указатель на первый элемент строки (LPCSTR всё тот же constchar*). Видим разные адреса. П-п-почему? Получается, что строка как массив char и строка как внутренняя структура своего представления в MQL4 имеют разные адреса? Или это значит, что "структура строки", описанная в ExpertSample как внутренний формат, искусственная, и в действительности её внутренний формат в MQL4 - lpsz? Или я элементарно неправильно разобрал первый код?
всем доброго времени суток. подскажите пожалуйста, после компиляций на значке советника появляется замок и я его могу видеть только в окне загрузки через программу а в папке он невидим, как исправить? Спасибо.
В некоторых примерах вижу return(-1), return(0) или просто return. Для прерывания программы с данного места использую return(0). Подскажите, что делают return(-1) и return?
gyfto: Или это значит, что "структура строки", описанная в ExpertSample как внутренний формат, искусственная, и в действительности её внутренний формат в MQL4 - lpsz?
Это значит, что в DLL строка передается именно как char*, а не как MqlStr. Но не значит, что в ex4-программе строка не хранится как MqlString. Вообще передача параметров из ex4 в dll - это (по заявлениям разработчиков) довольно сложный процесс, сопровождающийся всевозможными проверками и преобразованиями параметров.
laveosa: всем доброго времени суток. подскажите пожалуйста, после компиляций на значке советника появляется замок и я его могу видеть только в окне загрузки через программу а в папке он невидим, как исправить? Спасибо.
Win 7 и терминал стоит на системном диске? Хотите избавиться от текущих и будущих проблем - перенесите терминал на другой диск и "всё наладится".
paladin80: В некоторых примерах вижу return(-1), return(0) или просто return. Для прерывания программы с данного места использую return(0). Подскажите, что делают return(-1) и return?
Это возвращаемой функцией значение. Вернитесь к мат.части.
paladin80: В некоторых примерах вижу return(-1), return(0) или просто return. Для прерывания программы с данного места использую return(0). Подскажите, что делают return(-1) и return?
return(-1) возвращает минус единицу в качестве результата работы функции, которая (-1) может означать что-то, только если разработчик данной программы это что-то туда вложил самостоятельно. В противном же случае не означает ничего.
return просто завершает работу функции (используется при типе возвращаемого значения void).
TarasBY: Win 7 и терминал стоит на системном диске? Хотите избавиться от текущих и будущих проблем - перенесите терминал на другой диск и "всё наладится".
Сначала подсчитываете текущий профит по всем открытым ордерам, затем сравниваете с заявленным уровнем: если выше, удаляете все ордера. Эту процедуру (и не только) выполняет этот советник (там и код).
спасибо за наводку
Не понимаю.
//C++
Zhunko:
Всё же так:
Прогонял три раза с таким кодом:
В логе отразилось:
В первом варианте мы имеем указатель на первый элемент поля структуры MqlStr.string, во втором варианте указатель на первый элемент строки (LPCSTR всё тот же const char*). Видим разные адреса. П-п-почему? Получается, что строка как массив char и строка как внутренняя структура своего представления в MQL4 имеют разные адреса? Или это значит, что "структура строки", описанная в ExpertSample как внутренний формат, искусственная, и в действительности её внутренний формат в MQL4 - lpsz? Или я элементарно неправильно разобрал первый код?
Или это значит, что "структура строки", описанная в ExpertSample как внутренний формат, искусственная, и в действительности её внутренний формат в MQL4 - lpsz?
Это значит, что в DLL строка передается именно как char*, а не как MqlStr. Но не значит, что в ex4-программе строка не хранится как MqlString. Вообще передача параметров из ex4 в dll - это (по заявлениям разработчиков) довольно сложный процесс, сопровождающийся всевозможными проверками и преобразованиями параметров.
всем доброго времени суток. подскажите пожалуйста, после компиляций на значке советника появляется замок и я его могу видеть только в окне загрузки через программу а в папке он невидим, как исправить? Спасибо.
В некоторых примерах вижу return(-1), return(0) или просто return. Для прерывания программы с данного места использую return(0). Подскажите, что делают return(-1) и return?
В некоторых примерах вижу return(-1), return(0) или просто return. Для прерывания программы с данного места использую return(0). Подскажите, что делают return(-1) и return?
return(-1) возвращает минус единицу в качестве результата работы функции, которая (-1) может означать что-то, только если разработчик данной программы это что-то туда вложил самостоятельно. В противном же случае не означает ничего.
return просто завершает работу функции (используется при типе возвращаемого значения void).
Это возвращаемой функцией значение. Вернитесь к мат.части.
В общем return(0) прекращает действие функции int start() и ждём следующего тика. Если нет цифры или стоит -1, что произойдёт в int start()?
Win 7 и терминал стоит на системном диске? Хотите избавиться от текущих и будущих проблем - перенесите терминал на другой диск и "всё наладится".
огромное спасибо :) ща попробую.