Изучаем и пишем вместе на MQL5 - страница 20

 

Перенесено из ветки Пиши и зарабатывай на MQL5



Khomtchenko 2011.05.07 22:01

Подскажите, как модифицировать т.е. изменить величину стоп лоса в mql5. На четверке я спокойно это умею делать. Вот стал переделывать робота на 5 версию и застрял.


 
sergeev:

Перенесено из ветки Пиши и зарабатывай на MQL5



Khomtchenko 2011.05.07 22:01

Подскажите, как модифицировать т.е. изменить величину стоп лоса в mql5. На четверке я спокойно это умею делать. Вот стал переделывать робота на 5 версию и застрял.



Почитайте эту статью Как создать свой Trailing Stop
 
Тестер выплёвывает графу без нужных индикаторов, типа стохастик,итд, приходится потом добавлять, как сделать так чтобы добавлялись автоматический?   
 
customprogrammi:
Тестер выплёвывает графу без нужных индикаторов, тира стохастик,итд, приходится потом добавлять, как сделать так чтобы добавлялись автоматический.   

Используйте необходимый шаблон, о шаблонах можно почитать в разделе справки терминала Справка по MetaTrader 5Работа с графикамиШаблоны и профили:

В терминале существует несколько предопределенных имен шаблонов:

  • default.tpl — базовый шаблон, который автоматически применяется при создании нового графика;
  • tester.tpl — шаблон, который используется для графика, на который выводятся результаты тестирования;
  • debug.tpl — шаблон, который применяется к графику, создаваемому при запуске отладки MQL5-программы из MetaEditor.

Для того чтобы создать шаблон с нужными параметрами (или изменить существующий), настройте график необходимым образом и сохраните шаблон под требуемым именем, используя соответствующую команду.

 
AUser:

Может кто подскажет примерчики, статейки на тему?

http://docs.mql4.com/ru/globals
Глобальные переменные - Документация на MQL4
  • docs.mql4.com
Глобальные переменные - Документация на MQL4
 
AUser:

Глобальные переменные клиентского терминала.


Надо бы раскрыть тему. В Справке не нашел ни одного реального примера. Сижу вот, пытаюсь сообразить как создать такую переменную. Пока на мои варианты выдает ошибку.

Может кто подскажет примерчики, статейки на тему?


https://www.mql5.com/ru/docs/globals

Учимся курить мануал, люди ведь писали буквы в слова складывали а вы их так в игнор.

GlobalVariableSet("имя_переменной",устанавливаемое_значение)

Устанавливает новое значение глобальной переменной. Если переменная не существует, то система создает новую глобальную переменную.

 
AUser:

Пасиб, вот оно:

Откуда ж мне, чайнику непрогретому, о кавычках было знать?))

Для Справки mql5 примера то нету))

datetime  GlobalVariableSet(
   string  name,      // имя
   double  value      // устанавлимое значение
   );

В мануале приведено что имя глобальной переменной задаётся типа стринг, кавычки это обычный способ задания строки.

Читайте правила ибо они rules.

Можно задать так:

string  name="Глобальная_переменная";
double  value=123.0456;
GlobalVariableSet(name,value);
Документация по MQL5: Глобальные переменные терминала / GlobalVariableName
Документация по MQL5: Глобальные переменные терминала / GlobalVariableName
  • www.mql5.com
Глобальные переменные терминала / GlobalVariableName - Документация по MQL5
 
У меня бала процедурка для определения начала нового бара на mql4:
void Fun_New_Bar() // Ф-ия обнаружения ..
{ // .. нового бара
static datetime New_Time=0; // Время текущего бара
New_Bar=false; // Нового бара нет
if(New_Time!=Time[0]) // Сравниваем время
{
New_Time=Time[0]; // Теперь время такое
New_Bar=true; // Поймался новый бар
}
}
Все работало как часы. 

Вот я ее переделал на mql5:
void Fun_New_Bar() // Ф-ия обнаружения ..
{ // .. нового бара
static datetime New_Time=0; // Время текущего бара
New_Bar=false; // Нового бара нет
MqlTick last_tick;//Здесь будут храниться цены последнего пришедшего тика
SymbolInfoTick(_Symbol,last_tick);//заполняем структуру last_tick последними ценами текущего символа.
if(New_Time!=last_tick.time) // Сравниваем время
{
New_Time=last_tick.time; // Теперь время такое
New_Bar=true; // Поймался новый бар
}
}
Но вот что-то переменная New_Bar каждый тик становится true. 

Наверно я как-то не правильно извлекаю время нового бара.
Обработчик события "новый бар"
Обработчик события "новый бар"
  • 2010.10.04
  • Konstantin Gruzdev
  • www.mql5.com
Язык программирования MQL5 позволяет решать задачи на совершенно новом уровне. Даже те задачи, которые уже вроде имеют решения, благодаря объектно-ориентированному программированию могут подняться на качественно новый уровень. В данной статье специально взят простой пример проверки появления нового бара на графике, который был преобразован в достаточно мощный и универсальный инструмент. Какой? Читайте в статье.
 
Khomtchenko:
Но вот что-то переменная New_Bar каждый тик становится true. 

Наверно я как-то не правильно извлекаю время нового бара.

потому что вы берете каждый раз новое время тика, и оно конечно не равно предыдущему.

а в прошлой функции вы брали время начала бара. поэтому и тут берите время бара, а не тика.

 
Я не сомневаюсь, но для галочки спрашиваю, кто-нибудь создавал одного и того же советника на mql4 и mql5 и сравнивал результаты тестирования? Должно же быть идеально-похоже, если код правильно трансформирован? Или я ошибаюсь..?
Причина обращения: