Информация

Все разделы форума доступны для просмотра всем желающим, без регистрации. Если вы хотите оставлять комментарии на форуме, вам необходимо создать учетную запись или авторизоваться.

Close
Авторизация
4x_trader offline
#151
03 июн 2013, 11:36
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
В функции void OldOrdersClose()
отключил пару строчек, ставших уже ненужными
// else buy_found = true;
...
// else sell_found = true;
...

void NewOrdersOpen()
{
int order_id = 0;

// если не найдено ни одного ордера - нужно создать новый
if (buy_open //&& !buy_found)
&& OrdersTotal()==0) // 4x_trader: ввели ограничение - откроем только одну позицию, если ордеров нет вообще (так проще для проверки, потом можно и усложнить))
{
double take_profit_buy = 0; double stop_loss_buy = 0;
if (take_profit > 0) take_profit_buy = Ask + take_profit * Point;
if (stop_loss > 0) stop_loss_buy = Bid - stop_loss * Point;

//order_id = OrderSend(Symbol(), OP_BUY, lot, Ask, 5, stop_loss_buy, take_profit_buy, "Order BUY", TimeCurrent(), 0, Green);
order_id = OrderSend(Symbol(), OP_BUY, lot, Ask, 5, stop_loss_buy, take_profit_buy, "Order BUY", 0, 0, Green);
// 4x_trader: зачем нам указывать в качестве магика текущее время сервера, не понял, поэтому поставил ноль...
// Print("tma_up = ",tma_up, "; tma_down=",tma_down);// 4x_trader: распечатаем при необходимости для отладки

}
if (sell_open //&& !sell_found)
&& OrdersTotal()==0)
// 4x_trader: ***

{
double take_profit_sell = 0; double stop_loss_sell = 0;
if (take_profit > 0) take_profit_sell = Ask - take_profit * Point;
if (stop_loss > 0) stop_loss_sell = Bid + stop_loss * Point;

//order_id = OrderSend(Symbol(), OP_SELL, lot, Bid, 5, stop_loss_sell, take_profit_sell, "Order SELL", TimeCurrent(), 0, Red);
order_id = OrderSend(Symbol(), OP_SELL, lot, Bid, 5, stop_loss_sell, take_profit_sell, "Order SELL", 0, 0, Red);
// 4x_trader: здесь аналогично покупке
//Print("tma_up = ",tma_up, "; tma_down=",tma_down);// распечатаем для отладки, если будет нужно...

}
}
На этом разбор кода закончим и перейдём к тестированию.
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#152
03 июн 2013, 11:51
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
Именно при тестировании и проявятся ЧУДЕСА, творимые как индикатором ТМА, так и самим тестером...)))
Чтобы увидеть одну интересную особенность, нужно сделать из мультитаймфреймного индикатора TMA индикатор, работающий по данным одного ТФ, это просто - при установке его на часовой график, в его параметрах указать ТФ = 60.
То же самое проделаем в параметрах эксперта, укажем:
настройки эксперта1.PNG
и запустим тестирование в визуальном режиме.
Забыл упомянут об ещё одном дополнении в коде эксперта:
if (IsVisualMode())// 4x_trader: добавим несколько строчек, чтобы можно было наблюдать график эквити/баланса в режиме визуализации тестера
{
GlobalVariableSet("Balance",AccountBalance());
GlobalVariableSet("Equity",AccountEquity());
GlobalVariableSet("Margin",AccountMargin());
GlobalVariableSet("Free",AccountFreeMargin());
}
Теперь если набросить на чарт индикатор Equity_test, то он будет показывать баланс и средства. Обычно я делаю такую вставочку во все тестируемые эксперты.
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#153
03 июн 2013, 12:02
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
То, что мы увидим в тестере, словами не рассказать - ЭТО НАДО ВИДЕТЬ! Поэтому выкладываю видео. Не пугайтесь, что файл имеет расширение EXE - это наиболее компактный вариант сразу вместе с проигрывателем. Другие форматы пришлось бы выкладывать на файлообменник. Для особо недоверчивых, на всякий случай - скрин:
Test01-60min.png
и собственно, видеоклип:
Project001.rar
(1.43 MiB) Скачиваний: 9
Теперь запустите этот клип и посмотрите, КАК ПЕРЕРИСОВЫВАЕТСЯ индикатор... В этом видео задействован не окончательный вариант эксперта, поэтому от откроет кучу сделок на одном баре, но это пока не важно.
Одну причину несовпадений реалий с замыслом мы нашли. Ужасная перерисовка индикатора приводит к тому, что:
- эксперт отрабатывает правильно, открывая и закрывая позы в соответствии с алгоритмом, но...
- индикатор продолжает перерисовываться на много баров вглубь истории, и вскоре оказывается, что наши правильные входы и выходы оказались далеко от линий индикатора...
Последний раз редактировалось 4x_trader 03 июн 2013, 12:56, всего редактировалось 1 раз.
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
4x_trader offline
#154
03 июн 2013, 12:23
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
Следующим номером нашей программы станет ещё один клип, разоблачающий мало кому известную особенность тестера МТ4...
Теперь мы запустим в тестере советника на часовом ТФ и укажем ему параметры для индикатора 60 и 240, т.е. те самые, которые и предполагалось использовать.
После запуска тестера кинем на чарт индикатор с параметром 240:
Test02-240min.png
Смотрим видео:
Project002.rar
(1.3 MiB) Скачиваний: 8
И что же мы видим???:
- Индикатор ПЕРЕСТАЛ ПЕРЕРИСОВЫВАТЬСЯ, но...
- показывает нам не свои текущие значения, а те, которые должны будут появиться на графике спустя много часов позже с учётом его перерисовки
- в это время эксперт торгует именно по "текущим" значениям индикатора, т.е. совершенно далеко в стороне от его уже перерисовавшихся линий.
Вот такая особенность имеется у нашего любимого тестера стратегий МТ4 - если индикаторы обращаются к данным старших таймфреймов, то становятся просто прорицателями - заглядывая в будущее тем дальше, чем старше этот таймфрейм.)))
Вот и всё!))) Наматываем на ус на будущее...
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
tvmaster offline
#155
04 июн 2013, 23:23
Сообщений: 7
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 30 май 2013, 13:19
Добрый день!

Огромное спасибо за проделанную работу и изыскательный труд, а также за исправления кода в советнике! Много нового узнал из выше изложенного материала.

Получается, что прогнать советник по истории не выйдет, из-за косяка МТ и индикатора, который имеет свойство перерисовываться на истории?

Тогда, как можно проверить советник, в реальном времени на демке? Или есть какие то другие варианты?
4x_trader offline
#156
05 июн 2013, 17:57
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
djsrfx offline
#157
07 июн 2013, 23:15
Сообщений: 2
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 07 июн 2013, 23:10
А как можно построить советника самому, не владея навыками работы с языком программирования для советников, для терминала МТ-4 желательно, слыхал, что есть какие-то программки, но сам найти не смог, может посоветуете парочку самых ходовых? :D
4x_trader offline
#158
08 июн 2013, 08:47
Аватар пользователя
Сообщений: 3759
Поблагодарили: 589 раз(а) в 421 сообщениях
Зарегистрирован: 12 окт 2010, 13:50
Есть такие, я не пользовался, но если имеется желание, можете попробовать:
- Expert Advisor Builder for MetaTrader 4 онлайн конструктор - http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/
- руководство (англ.) - http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/forum/viewtopic.php?t=57376
- учебник (англ.) - http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/forum/viewtopic.php?p=57825
- форум (англ.) - http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/forum/viewforum.php?f=4
На главной странице сайта есть кнопочка переключения на русский язык - лучше ею не пользоваться, можно помереть со смеху, но понятнее не станет, скорее наоборот.
Когда-то смотрел, но... мне гораздо приятнее программировать самому, чем полагаться на такую автоматизацию...

Существует и программа Forex Generator. Это - официальный сайт (англ.) - http://www.forexgenerator.com/
Она платная, но с триальным периодом. Если поискать, может быть найдётся кряк...

Должны быть ещё варианты, но не припоминаю "с наскоку".
Дерзайте, не забывайте делиться успехами)))
----------------------------------------------------------------------------------------------
Собаки лают, караван идёт. Основы Price Action Изображение
djsrfx offline
#159
08 июн 2013, 15:29
Сообщений: 2
Поблагодарили: 0 раз(а) в 0 сообщениях
Зарегистрирован: 07 июн 2013, 23:10
#160
12 июн 2013, 19:51
Аватар пользователя
Сообщений: 463
Поблагодарили: 28 раз(а) в 23 сообщениях
Зарегистрирован: 26 апр 2011, 13:56
Откуда: Барнаул
Протестировал и попробовал оптимизировать свой первый в жизни советник в штатном тестере. До этого работал с ним в Ексцеле. Наверное я плохо искал, но где-то должна быть ветка по секретам тестирования и оптимизации.
У меня пока 3 основных вопроса:
1)какой параметр лучше оптимизировать?
2)какую комбинацию входных параметров выбирать, из полученных в результате оптимизации?
Подозреваю, что не ту, которая дает лучший результат, это может быть случайным выбросом.

Кратко о принципах работы советника. Открывает сделки в начале заданных часов, т.е. по Open H1, если выполняются условия по ЕМА на D1 и Н1. Эти часы найдены статистически. Сделка длится не более 3-х часов (может тогда оптимизировать по балансу?) и закрывается по стопу, профиту или по рынку. Оптимизируются стоп, профит и длинные периоды ЕМА на D1 и Н1.
Кто может посоветовать что-нибудь дельное?

BBCode ВЫКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ

   

Если Вы не хотите добавлять вложения, оставьте поля пустыми.

Пред.След.

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Список форумов

Часовой пояс: UTC + 4 часа (Russia: MSK) по летнему времени Удалить cookies форума

В вашем браузере отключена поддержка cookie. При отключенной поддержке cookie в браузере у вас могут возникнуть проблемы с отображением Личного кабинета. Как включить (активировать) поддержку cookie.