Новые сообщения · Участники · Правила форума · Поиск · RSS · Вход · Регистрация ·

Страница 5 из 5«12345
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Исправление ошибок в советниках на новых билдах (Помощь в исправлении)
Исправление ошибок в советниках на новых билдах

expforexДата: Четверг, 04.09.2014, 12:55 | Сообщение # 1
Главный Администартор
Группа: Администраторы
Сообщений: 8956
Награды: 29
Статус: Offline


[Бонусы за сообщения ]


Исправление ошибок в советниках. Ошибки при компиляции? Мы постараемся Вам помочь.

С начала 2014 года компания MetaQuotes выпустила большое обновление для терминалов MetaTrader4.

В связи с этим, у трейдеров, которые не умеют программировать, возникли серьезные проблемы - советники попросту перестали работать.
Причина всему этому - более сложный язык программирования.
Эксперты, которые изначально были написаны правильно, не подвергаются такой проблеме. Но немало советников и индикаторов, которые изначально написаны неверно, вовсе отказались работать.
Есть несколько способов решения данной проблемы, от попросту - "забить" до исправления ошибок на профессиональном уровне.

Мы написали статью по стандартным ошибкам в старых экспертах, которые можно исправить:
Новый язык программирования, Исправление ошибок при компиляции экспертов

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

Для того чтобы Вам помогли в данной ветке, выполните несколько шагов:

  • 1. Прикрепите эксперт в открытом коде с ошибками (Декомпил не приветствуется)
  • 2. Прикрепите информацию по данному эксперту, первоначальное ТЗ на разработку, либо документацию, что эксперт должен делать
  • 3. Прикрепите картинку с графика, где стоит эксперт, если он работает но не так.
  • 4. Опишите проблемы, которые возникли с экспертом на новом билде.
    Мы постараемся помочь Вам в решении данных проблем.




Прикрепления: 0900205.jpg(24Kb)


Программирование на заказ || Наши Разработки

 
Сообщение

Исправление ошибок в советниках. Ошибки при компиляции? Мы постараемся Вам помочь.

С начала 2014 года компания MetaQuotes выпустила большое обновление для терминалов MetaTrader4.

В связи с этим, у трейдеров, которые не умеют программировать, возникли серьезные проблемы - советники попросту перестали работать.
Причина всему этому - более сложный язык программирования.
Эксперты, которые изначально были написаны правильно, не подвергаются такой проблеме. Но немало советников и индикаторов, которые изначально написаны неверно, вовсе отказались работать.
Есть несколько способов решения данной проблемы, от попросту - "забить" до исправления ошибок на профессиональном уровне.

Мы написали статью по стандартным ошибкам в старых экспертах, которые можно исправить:
Новый язык программирования, Исправление ошибок при компиляции экспертов

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

Для того чтобы Вам помогли в данной ветке, выполните несколько шагов:

  • 1. Прикрепите эксперт в открытом коде с ошибками (Декомпил не приветствуется)
  • 2. Прикрепите информацию по данному эксперту, первоначальное ТЗ на разработку, либо документацию, что эксперт должен делать
  • 3. Прикрепите картинку с графика, где стоит эксперт, если он работает но не так.
  • 4. Опишите проблемы, которые возникли с экспертом на новом билде.
    Мы постараемся помочь Вам в решении данных проблем.





Автор - expforex
Дата добавления - 04.09.2014 в 12:55

John174Дата: Понедельник, 29.12.2014, 18:18 | Сообщение # 41
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 4
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

два дня ковыряюсь с ним и не могу понять почему он торгует только ордерами на селл, причем даже там где должен открывать на бай cool

 
Сообщениедва дня ковыряюсь с ним и не могу понять почему он торгует только ордерами на селл, причем даже там где должен открывать на бай cool

Автор - John174
Дата добавления - 29.12.2014 в 18:18

mhitДата: Среда, 11.11.2015, 11:11 | Сообщение # 42
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 2
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Нужна помощь. В код :

нужно дописать таймер на открытие и закрытие сделки. Что бы сделка открывалась за определенное время до закрытия бара. время в секундах и отдельный таймер на закрытие сделки то же самое. параметры меняемые.  У меня не получается руки кривые. Если не жалко для вас это 2 минуты.

// ---
// закрытие сделки
if(find_orders(_MagicNumber))
{
if(cl_buy_sig())
{
cbm(_MagicNumber, _Slippage, OP_BUY);
}
if(cl_sell_sig())
{
cbm(_MagicNumber, _Slippage, OP_SELL);
}
}

// открытие сделки
// ---

// ---
if(!find_orders(_MagicNumber, (_OnlyOneOpenedPos ? -1 : OP_BUY)))
{
if(op_buy_sig() && LAST_BUY_BARTIME != iTime(Symbol(), Period(), 0))
{
LAST_BUY_BARTIME = iTime(Symbol(), Period(), 0);
open_positions(OP_BUY, OP_LOTS);
}
}
// ---
if(!find_orders(_MagicNumber, (_OnlyOneOpenedPos ? -1 : OP_SELL)))
{
if(op_sell_sig() && LAST_SELL_BARTIME != iTime(Symbol(), Period(), 0))
{
LAST_SELL_BARTIME = iTime(Symbol(), Period(), 0);
open_positions(OP_SELL, OP_LOTS);
}
}
// ---



Сообщение отредактировал mhit - Среда, 11.11.2015, 11:13
 
СообщениеНужна помощь. В код :

нужно дописать таймер на открытие и закрытие сделки. Что бы сделка открывалась за определенное время до закрытия бара. время в секундах и отдельный таймер на закрытие сделки то же самое. параметры меняемые.  У меня не получается руки кривые. Если не жалко для вас это 2 минуты.

// ---
// закрытие сделки
if(find_orders(_MagicNumber))
{
if(cl_buy_sig())
{
cbm(_MagicNumber, _Slippage, OP_BUY);
}
if(cl_sell_sig())
{
cbm(_MagicNumber, _Slippage, OP_SELL);
}
}

// открытие сделки
// ---

// ---
if(!find_orders(_MagicNumber, (_OnlyOneOpenedPos ? -1 : OP_BUY)))
{
if(op_buy_sig() && LAST_BUY_BARTIME != iTime(Symbol(), Period(), 0))
{
LAST_BUY_BARTIME = iTime(Symbol(), Period(), 0);
open_positions(OP_BUY, OP_LOTS);
}
}
// ---
if(!find_orders(_MagicNumber, (_OnlyOneOpenedPos ? -1 : OP_SELL)))
{
if(op_sell_sig() && LAST_SELL_BARTIME != iTime(Symbol(), Period(), 0))
{
LAST_SELL_BARTIME = iTime(Symbol(), Period(), 0);
open_positions(OP_SELL, OP_LOTS);
}
}
// ---

Автор - mhit
Дата добавления - 11.11.2015 в 11:11

mhitДата: Среда, 11.11.2015, 11:20 | Сообщение # 43
Трейдер - Рядовой
Группа: Пользователи
Сообщений: 2
Награды: 0
Статус: Offline


[Бонусы за сообщения ]

Начал так : правильно?  дальше что не делаю не работает

// секунд от открытия бара 
input uint SecondsToOpen =50;
// секунд от открытия бара 
input uint SecondsToClose =20;

// получаем секунды
uint GetCurrentSecondFromStartBar()
{
return (uint)TimeCurrent() - (uint)iTime(NULL,0,0);
}

 
СообщениеНачал так : правильно?  дальше что не делаю не работает

// секунд от открытия бара 
input uint SecondsToOpen =50;
// секунд от открытия бара 
input uint SecondsToClose =20;

// получаем секунды
uint GetCurrentSecondFromStartBar()
{
return (uint)TimeCurrent() - (uint)iTime(NULL,0,0);
}

Автор - mhit
Дата добавления - 11.11.2015 в 11:20

expforexДата: Среда, 11.11.2015, 11:38 | Сообщение # 44
Главный Администартор
Группа: Администраторы
Сообщений: 8956
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

mhit, приветствую, во первых NULL нельзя использовать в названии символа,
только Symbol()

Код
// получаем секунды
uint GetCurrentSecondFromStartBar()
{
return (uint)TimeCurrent() - (uint)iTime(Symbol(),0,0);
}



Программирование на заказ || Наши Разработки

 
Сообщениеmhit, приветствую, во первых NULL нельзя использовать в названии символа,
только Symbol()
Код
// получаем секунды
uint GetCurrentSecondFromStartBar()
{
return (uint)TimeCurrent() - (uint)iTime(Symbol(),0,0);
}

Автор - expforex
Дата добавления - 11.11.2015 в 11:38

expforexДата: Среда, 11.11.2015, 11:45 | Сообщение # 45
Главный Администартор
Группа: Администраторы
Сообщений: 8956
Награды: 29
Статус: Offline


[Бонусы за сообщения ]

в Вашем случае узнать сколько осталось до закрытия бара можно так:



Код
uint GetCurrentSecondFromStartBar()
{
return ((iTime(Symbol(),0,0)+Period()*60)-(TimeCurrent() - iTime(Symbol(),0,0)));
}
потом в коде на открытие задать

if(GetCurrentSecondFromStartBar()<=SecondsToOpen) // далее пошел код на открытие



Программирование на заказ || Наши Разработки

 
Сообщениев Вашем случае узнать сколько осталось до закрытия бара можно так:


Код
uint GetCurrentSecondFromStartBar()
{
return ((iTime(Symbol(),0,0)+Period()*60)-(TimeCurrent() - iTime(Symbol(),0,0)));
}
потом в коде на открытие задать

if(GetCurrentSecondFromStartBar()<=SecondsToOpen) // далее пошел код на открытие

Автор - expforex
Дата добавления - 11.11.2015 в 11:45
Форум трейдеров » Скрипты Советники Индикаторы для Metatrader4/Metatrader5 » MT 4 MQL программирование, помощь. » Исправление ошибок в советниках на новых билдах (Помощь в исправлении)
Страница 5 из 5«12345
Поиск:


WebMoney Яндекс цитирования.