Вот пример стратегии которая использует нейронные сети и генетический алгоритм оптимизации параметров

 
Оцените кривую прибыли системы, запрограммированной в торговом роботе пока не МТ4.
Система основана на нейронных сетях, настраиваемых эволюционным алгоритмом.
Прибыль в евро. Инструмент - EURUSD.
Но стратегия прогонялась на исторических данных.
Обучение системы проводилось до 09.2005. Оставшаяся часть графика - это уже тест системы на незнакомых ей данных.
Draw down 6366 евро. Размер лота - $10000 (минифорекс).

Сейчас работает на реальном счёте. Хочу перенести систему на МТ4 ввиде DLL, а то сейчас котировки берутся с экрана терминала и приказы отдаются управлением мышью. Такой подход мне не нравится хотя он работает но желателен дополнительный монитор. Оптимизатор надо прикрутить свой каким то образом. Думаю сделать это через скрипт прогоняя по историческим данным.
 
Будет интерсно, если Вы опубликуете результаты "прикрутки" к МетаТрейдеру.
 

Да конечно опубликую результирующую кривую прибыли.

 

А зачем смотреть на результаты? Ну кривая прибыли. Ну хороший эксперт. Поздравляю. Уж много тут рекламы развелось. Дескать, оцените прибыльность моего эксперта, полюбуйтесь на то как он хорош. Только вот про то как он работает я вам не скажу так как это коммерческая тайна, потому как я своего эксперта скоро продавать буду. Вот некоторые не боятся и в открытую обсуждают свои идеи. За что им и спасибо. Я так понимаю что этот форум был создан для обмена идеями и кодами. А рекламы о прибыльных экспертах на инете и так достаточно.

 
elritmo:

Да конечно опубликую результирующую кривую прибыли.

Я несколько другое имел в виду - результат "мучался, наткнулся на такую и такую проблему интеграции, сделал вот так".
 
Renat:
elritmo:

Да конечно опубликую результирующую кривую прибыли.

Я несколько другое имел в виду - результат "мучался, наткнулся на такую и такую проблему интеграции, сделал вот так".

А это само собою буду спрашивать если проблемы возникнут. Уже получил от вас много пояснений. Вот например со строками. Приятно когда тебя не игнорируют и твою проблему. Хотя, конечно, стоит сначала почитать статьи и доки перед тем как спрашивать, но как всегда есть соблазн сразу спрашивать на форуме. Рош например сразу даёт ссылку на тему или статью и зачастую они бывают полезны.

Я привёл пример стратегии больше для того чтобы разработчики МТ поняли важность для меня реализации стратегии именно в длл и что мне придётся оптимизатор внешний приделать к метатрейдеру с отображением графических объектов на чарте мт4. В этой системе мощный оптимизатор с распараллеливанием нахождения решения, что ускоряет поиск решения на многоядерных системах (в частном случае духядерном процессоре).

Инвестора не ищем то целенаправленно, хотя для системы хорош начальный капитал в 10000 у.е :) Впринципе, один или два дополнительных инвестора не помешают тогда сокращается начальный риск потерять самому большую сумму (но и прибыль тоже уменьшится отдельного инвестора) в случае неблагоприятного развития ситуации.
Это для нового счёта на котором будет работать этот вариант стратегии на мт4 платформе.
Но стратегия уже с сентября держится на реальном счёте при том что несколько раз запускалась новая версия, модифицированная. Сейчас прибыль около 3х тысяч евро.
 
elritmo писал (а):
Оцените кривую прибыли системы, запрограммированной в торговом роботе пока не МТ4.
Система основана на нейронных сетях, настраиваемых эволюционным алгоритмом.
Прибыль в евро. Инструмент - EURUSD.
Но стратегия прогонялась на исторических данных.
Обучение системы проводилось до 09.2005. Оставшаяся часть графика - это уже тест системы на незнакомых ей данных.
Draw down 6366 евро. Размер лота - $10000 (минифорекс).

Сейчас работает на реальном счёте. Хочу перенести систему на МТ4 ввиде DLL, а то сейчас котировки берутся с экрана терминала и приказы отдаются управлением мышью. Такой подход мне не нравится хотя он работает но желателен дополнительный монитор. Оптимизатор надо прикрутить свой каким то образом. Думаю сделать это через скрипт прогоняя по историческим данным.

<<Картинка>>

Весь вопрос в том, хочешь ли ты оставить "красивую картинку" параллельно с MT4 или загнать все в dll.
С "черными ящиками" я делал так.
Писал два "потока" в форматах этих ящиков. Один, для тестирования, - считывание внешней или твойе же прогой hst-файлов и передачу данных в программу. А для реал-тайма - вешал на интересующие пары индикаторы, содержащие нечто вроде:
int SendInfoToNSDT(string NameSymbol, datetime ValTime, double ValBid, double ValAsk, int ValVolume)
{
   int hwnd=0, hwndFrom=0;
   string null_string;
//----
   hwnd=FindWindowA(null_string,NameWindowTo);
   hwndFrom=WindowHandle(Symbol(),Period());
   PostMessageA(hwnd,36002,GlobalAddAtomA(NameSymbol+"|"+ValTime+"|"+ValBid+"|"+ValAsk+"|"+ValVolume), 0);
   Sleep(SleepAfter*1000);
   
//----
   return(0);
}
В самой внешней проге - ловил как-то так (да простят меня гуры :) от программирования):
procedure TFTicket2NSDT.WMCOPYDATA(var Msg : TMessage);
var
...
begin
  //Получаем "Атом" с номером из SendMessage и копируем "его" строку в "buf"
  if GlobalGetAtomName(Msg.WParam, buf, sizeof(buf)) = 0 then
  begin
    Application.MessageBox('Проблема с Сообщением и/или Атомом.', 'Внимание', MB_OK);
    Exit;
  end;
  //Удаляем "Атом"
  GlobalDeleteAtom(Msg.WParam);
  //Дешифруем строку
  TmpPos1 := PosEx('|', buf, 0);
  TmpPos2 := PosEx('|', buf, TmpPos1 + 1);
  TmpPos3 := PosEx('|', buf, TmpPos2 + 1);
  TmpPos4 := PosEx('|', buf, TmpPos3 + 1);
  NamePair     := Copy(buf, 0, TmpPos1 - 1);
  DateTimePair := Copy(buf, TmpPos1 + 1, TmpPos2 - TmpPos1 - 1);
  BidPair      := Copy(buf, TmpPos2 + 1, TmpPos3 - TmpPos2 - 1);
  AskPair      := Copy(buf, TmpPos3 + 1, TmpPos4 - TmpPos3 - 1);
  VolumePair   := Copy(buf, TmpPos4 + 1, StrLen(buf) - TmpPos4);

Обратно - сам dll'ки на "отсыл" не писал, но работа в эксперте будет "типааа" спросил - получил данные хрошо, нет - еще лучше :)
Будет проблема с прогоном в тестере. Даже если данные в твоей программе супер-пупер, то тестирование в MT4 не помешают. Тогда включаешь визуальный режим и выставляешь оптимальшую скорость, т.е. чтоб и не долго и твоя прога успела оработать......

А вообще только тебе виднее, что лучше - "твой визуализитор с твоей dll'кой, которая генерит сигналы И для MT4" или "прибулдки по получению и отправке данных в/из твоих "красивых картинок".

Все вышенаписанное - мои личные заблуждения :)
 
Прога, график которой вы видите, написана моим другом на дельфи. Я хочу её адаптировать дня MT4 с использованием его развитой и красивой графической частью и возможностью получать данные и делать запросы не через экран, а нормально через сервер. К тому же мт4 работает с различными брокерами. Не понравился один - легко перешёл на другого. Это такая маленкая реклама МТ, но действительно в этом плане равных я пока не вижу с возможностью автотрейдинга. Если бы они ещё предоставляли API для написания плугинов ввиде экспертов, индикаторов и внешних custom оптимизаторов. Пока что надо именно "прикручивать" Dll через скриптовый язык в MT4 и возвращать результаты расчётов в этот же скрипт. Но, вринципе, и так нормально только это будет замедлять мостик MQL4-DLL. Возникают кое какие проблемы которые приходится решать. А в дельфи есть возможность отлаживать DLL которая загружается терминалом МТ4?
 
elritmo писал (а):
...Пока что надо именно "прикручивать" Dll через скриптовый язык в MT4 и возвращать результаты расчётов в этот же скрипт.. .
Тогда тебе дорога в директорию "C:\Program Files\MetaTrader 4\experts\samples\", да и на форуме было много вопросов/примеров/фрагментов.
Да про получение "тиков" - еще можно использовать DDE, но тогда - не больше одного терминала.
 

Не могли бы вы скинуть алгоритм обучения и прогноза ? sokolvano@mail.ru

спасибо