komposter, спасибо за преведенный код. По ICQ Вы разговаривали не со мной. Если Вас не затрудник раскажите поподробней куда этот код лучьше вставить и как его правельно использовать. А то я вставляю как мне кажется в нужное место, но при компеляции возникают следующие ошибки: '_Symbol' - variable not defined F:\Для тестов\experts\EXPERT_SYSTEM_v3.mq4 (70, 69) '_Digits' - variable not defined F:\Для тестов\experts\EXPERT_SYSTEM_v3.mq4 (75, 79) '_Digits' - variable not defined F:\Для тестов\experts\EXPERT_SYSTEM_v3.mq4 (76, 81) '_Digits' - variable not defined F:\Для тестов\experts\EXPERT_SYSTEM_v3.mq4 (77, 81) Все эти ошибки в данном куске кода:
упс =) конечно, не весь - у меня 3000 строк =))) просто замените _Symbol на Symbol() а _Digits на Digits() остальное вроде должно работать.
То, что писАл по асе:
вставь этот код ПЕРЕД ф-цией start(). потом в эксперта вставь одну строку: _ExpertOrdersInit( _MagicNumber ); //мейджик, естественно, свой и можно пользоваться: переменная _ExpertOrders будет хранить количество всех позиций с заданным _MagicNumber _MarketOrders - только бай и селл ордера _PendingOrders - кол-во отложенных ордеров _BuyTicket - тикет бай-ордера (если есть), или 0 (если нет) _BuyLots - размер лота бай-ордера (если есть) и т.д. - полностью аналогично. Т.е. вставив одну строку в эксперта, ты знаешь сколько у тебя позиций, открыта ли бай или селл позиция и т.д. конкретно твоя задача: if ( _BuyTicket <= 0 ) { открываем бай } else { например, трейлингстоп ( _BuyTicket ) } if ( _SellTicket <= 0 ) { открываем селл } если будут ещё вопросы - не стесняйся, пиши ;)
komposter: если будут ещё вопросы - не стесняйся, пиши ;)
Да вопросов много. Задам следующий интересный вопрос.
Komposter, нашел ветку на виаке http://forum.viac.ru/viewtopic.php?p=72581#72581, Отчет своими руками.
Вроде там сделали более навернутый отчет, возможно его как-то
использовать для пакетного тестирования.
Т.е. делаем бек тест по нужным нам парам, сохраняем результаты
и сливаем это в один файл и потом из него читаем и разбераем
все по пунктам.
Или группу файлов читаем. Вообще может у тебя есть мысли как
сделать пакетное тестирование в MT4, может с экспертом или со
скриптом. Жутко не хватает этой функции в MT4.
Да забыл сказать что там нет исходника, уже скомпилиный файл,
и он почему-то не делает всего того о чем там пишет автор, создает
файл с нулевым байтом.
про пакетное тестирование я не думал...
соответственно, и мыслей пока нет =)
ф-цию, пишущую файл, сделать и самому не сложно, только мотивация
нужна, а её пока нет =)
примерно вижу это так:
- гоним тест по одной паре, при этом каждую сделку пишем в файл
- гоним тест по всем остальным парам, пишем в тот же файл (или
можно в другой, надо подумать)
- потом каким-то макаром лепим это всё в кучу =)
надо продумать каким должен быть результат, тогда и начинать
можно ;)
Нет не то маленько. Именно хотелось бы более подробный анализ.
Как разработал автор из той ветки каторуюя указывал. По скриншетам
там много интересной информации. Просто если бы у кого-то был
подобный исходник можно было-бы задуматься и о пакетной обработки
и детальному анализу тестирования систем.
Если Вас не затрудник раскажите поподробней куда этот код лучьше вставить и как его правельно использовать. А то я вставляю как мне кажется в нужное место, но при компеляции возникают следующие ошибки:
'_Symbol' - variable not defined F:\Для тестов\experts\EXPERT_SYSTEM_v3.mq4 (70, 69)
'_Digits' - variable not defined F:\Для тестов\experts\EXPERT_SYSTEM_v3.mq4 (75, 79)
'_Digits' - variable not defined F:\Для тестов\experts\EXPERT_SYSTEM_v3.mq4 (76, 81)
'_Digits' - variable not defined F:\Для тестов\experts\EXPERT_SYSTEM_v3.mq4 (77, 81)
Все эти ошибки в данном куске кода:
if ( OrderMagicNumber() == _MagicNumber && OrderSymbol() == _Symbol )
{
int _OrderType = OrderType();
int _OrderTicket = OrderTicket();
double _OrderLots = NormalizeDouble( OrderLots(), 1 );
double _OrderOpenPrice = NormalizeDouble( OrderOpenPrice(), _Digits );
double _OrderStopLoss = NormalizeDouble( OrderStopLoss(), _Digits );
double _OrderTakeProfit = NormalizeDouble( OrderTakeProfit(), _Digits );
datetime _OrderOpenTime = OrderOpenTime();
double _OrderProfit = NormalizeDouble( OrderProfit(), 2 );
double _OrderSwap = NormalizeDouble( OrderSwap(), 2 );
double _OrderCommission = NormalizeDouble( OrderCommission(), 2 );
string _OrderComment = OrderComment();
datetime _OrderExpiration = OrderExpiration();
Возникает вопрос, а весь ли Вы кусок выложили, нету ли пропущенных строк?
конечно, не весь - у меня 3000 строк =)))
просто замените _Symbol на Symbol() а _Digits на Digits()
остальное вроде должно работать.
То, что писАл по асе:
_ExpertOrdersInit( _MagicNumber ); //мейджик, естественно, свой
и можно пользоваться:
переменная _ExpertOrders будет хранить количество всех позиций с заданным _MagicNumber
_MarketOrders - только бай и селл ордера
_PendingOrders - кол-во отложенных ордеров
_BuyTicket - тикет бай-ордера (если есть), или 0 (если нет)
_BuyLots - размер лота бай-ордера (если есть)
и т.д. - полностью аналогично.
Т.е. вставив одну строку в эксперта, ты знаешь сколько у тебя позиций, открыта ли бай или селл позиция и т.д.
конкретно твоя задача:
if ( _BuyTicket <= 0 ) { открываем бай } else { например, трейлингстоп ( _BuyTicket ) }
if ( _SellTicket <= 0 ) { открываем селл }
если будут ещё вопросы - не стесняйся, пиши ;)
если будут ещё вопросы - не стесняйся, пиши ;)
Komposter, нашел ветку на виаке http://forum.viac.ru/viewtopic.php?p=72581#72581, Отчет своими руками.
Вроде там сделали более навернутый отчет, возможно его как-то использовать для пакетного тестирования.
Т.е. делаем бек тест по нужным нам парам, сохраняем результаты и сливаем это в один файл и потом из него читаем и разбераем все по пунктам.
Или группу файлов читаем. Вообще может у тебя есть мысли как сделать пакетное тестирование в MT4, может с экспертом или со скриптом. Жутко не хватает этой функции в MT4.
Да забыл сказать что там нет исходника, уже скомпилиный файл, и он почему-то не делает всего того о чем там пишет автор, создает файл с нулевым байтом.
соответственно, и мыслей пока нет =)
ф-цию, пишущую файл, сделать и самому не сложно, только мотивация нужна, а её пока нет =)
примерно вижу это так:
- гоним тест по одной паре, при этом каждую сделку пишем в файл
- гоним тест по всем остальным парам, пишем в тот же файл (или можно в другой, надо подумать)
- потом каким-то макаром лепим это всё в кучу =)
надо продумать каким должен быть результат, тогда и начинать можно ;)
https://www.mql5.com/ru/forum/50077
Для пакетного тестирования уже всё придумано, реализовано и с успехом используется.
Нет не то маленько. Именно хотелось бы более подробный анализ. Как разработал автор из той ветки каторуюя указывал. По скриншетам там много интересной информации. Просто если бы у кого-то был подобный исходник можно было-бы задуматься и о пакетной обработки и детальному анализу тестирования систем.
Помогите пожалуйста написать сигнальный модуль на основе
выше приклепленного индикатора
Заранее благодарю
Поздравляю Всех с Новым годом !