Можно ли заставить эксперта работать на оффлайновом графике?

 
Имеется в виду, обновляемый с помощью PostMessageA( hwnd, WM_COMMAND, 33324, 0 ); график.
Хочется, чтоб эксперт воспринимал обновление, как тик.

Это реально?

ps: индикаторы ведь работают...
 
Нельзя, только бесконечный цикл. Вроде ничего не менялось в этом вопросе...
 

Причём без первого тика в start-е() и он не запустится, а только в init-e.

Хорошо бы, конечно, иметь такую технологию В MQL, чтоб запускать start() не потиково, а как бесконечный цикл, но при этом с обязательным условием ставить первой в start-е() какую-нибудь специально созданную для этого функцию, опрашивающую окружение. Тогда и генератор тиков не понадобился бы. И всё в оффлайне..

 

А вот если бы ЭМУЛЯТОР сервера!


- закачать котировки ! подусунуть эмулятору сервера
- если нет сети то на локале запускаем две программы МТ4 и эмулятор сервера адрес 127.0.0.1:443

Есть же ДАТА ЦЕНТР! который умеет котировочки по сети раздавать! по все валюткам
Думаю что METAQUOTES спецы хорошие в момент могут написать что то типа ЭМУЛЯТОРА на базе того же ДАТА ЦЕНТА! по аналогии
ну будет он только котировки выдавать в терминал и уметь ордера принимать - обрабатывать !

вот было бы здорово
и ОFF - LINE !!! эмулирующий полностью ON-LINE только по истории всех нужных вам валют

при этом MT4 переписывать не надо! - красота

1 - ЭМУЛЯТОР вот только бы умел СПРЕДЫ МЕНЯТЬ - СТОПЫ - т е подстраиваться под удобное для вас ДЦ ну и прочие настройки
например скрость подачи котировок что бы советников отлаживать
или тренироваться ручками

Шикарная была бы штучка!






 
Тренажер трейдера: http://adcforex.ru/games.shtml, http://adcforex.ru/daunload.shtml
Если бы что-то подобное было у  MetaQuotes, было бы очень хорошо. Пускай даже за деньги.
 
ExpertTrader писал (а):
Тренажер трейдера: http://adcforex.ru/games.shtml, http://adcforex.ru/daunload.shtml
Если бы что-то подобное было у MetaQuotes, было бы очень хорошо. Пускай даже за деньги. Да - жаль нет OFF - LINE тренажера!

в свое время доводилось писать тренажер по управлению УКПГ - ГАЗОВЫМ ЗАВОДОМ!
поскольку наша команда создавала реальный проект нам же заказали
тренажер для техникума газовой промышленности!
после мозгового штурма тренажер был написан за 3 недели!

По идее коммерческой целесообразности у тренажера может быть больше чем у инструмента по отладке советников
но если совместить это в одной упаковке!
и даже если такой продукт будет продаваться отдельно
то за умеренную цену я приобрел бы софт


наверно перечислять все что мог бы делать данный продукт смысла нет
разработчики пожалуй лучше знают
но хотелось бы что бы он
мог настраивать спред стопы методы обработки ордеров
масштабировать время и работать в по реальному времени
выдавать котировки из истории
работать по указанным инструментам - история по которым загружена в МТ
работать как по сети раздавая например котировки на те машины которые настроены на него

такой бы продукт вполне возможно заинтересовал бы курсы при ДЦ!



 
komposter писал (а):
Имеется в виду, обновляемый с помощью PostMessageA( hwnd, WM_COMMAND, 33324, 0 ); график.
Хочется, чтоб эксперт воспринимал обновление, как тик.

Это реально?

ps: индикаторы ведь работают...

Сохранить его как индикатор, то так и будет. Но в этом случае команды по управлению ордерами выполняться не будут. Можно конечно их закоментировать в этом индикаторе, а вместо них типа Print("Устанавливаем ордер на покупку по цене",price), но возникает проблема с проверкой уже открытых ордеров. Можно конечно выводить типа Print("Если есть открытые ордера вверх, закрой их"), но это не очень красиво.
По идее, можно переписать все команды управления счетом и ордерами в виде своей библиотеки в которой и вести всю логику имитирующую работу с ордерами и счетом. Например, OrderSend поменять на my_OrderSend с такими же параметрами и т.д. и т.п. Так прийдется написать свой тестер. Это так же позволит исправить недостатки стандартного тестера. А написать автоматическую замену в советниках и скриптах этих команд на свои - вообще нет проблем. Т.о. получим свой новый тестер. Возможно введение своих алгоритмов по оценке тестирования (например анализировать просадку, средние прибыль на сделку и т.д. в зависимости от собственных предпочтений). Так же можно сделать автоматическую оценку экспертов. Типа после тестирования выводить свои рекомендации, замечания и выводы о качестве эксперта. Возможен анализ экспертов на заглядывание в будущее и свой анализ при недостатке качества тестирования (когда из за недостатка данных неясно что сработало первым sl или tp).  Можно все это сделать на MQL, а можно в dll-ке - все зависит от того насколько сложные дополнительные алгоритмы хочешь реализовать. Например, если хочешь написать собственную генетическую оптимизацию, или сложный анализ результатов тестирования (например на основе нечеткой логики) - то имеет смысл написать на Delphi или C и подключить в виде dll.
 
Avals, спасибо за идеи ;)
К этому мы ещё доберёмся...

Сейчас интерисовало только одно - можно ли сабж реализовать как-нибудь по-человечески ;)
 

Ответ на этот вопрос зависит как всегда от точки зрения наблюдателя.
В данном случае от того, как понимать "по-человечески". Если понимать так, как я, то нельзя. С моей т.з. до "человеческого" не хватает малости - встроенного генератора тиков с возможностью эмуляции на основе исторических данных или по выбору юзера (синус, тангенс, разрывы, флэт..).

Бегемота из болота и то легче, чем старт без тика :)
Можно ему, конечно, кольцо в ноздри вставить: зациклить стартовый код и этот цикл поставить в инит. Это позволит работать над кодом в выходные дни, в оффлайне, но торговать, естественно, эта конструкция не будет.

 
Avals писал (а):
komposter писал (а):
Имеется в виду, обновляемый с помощью PostMessageA( hwnd, WM_COMMAND, 33324, 0 ); график.
Хочется, чтоб эксперт воспринимал обновление, как тик.

Это реально?

ps: индикаторы ведь работают...

Сохранить его как индикатор, то так и будет. Но в этом случае команды по управлению ордерами выполняться не будут. Можно конечно их закоментировать в этом индикаторе, а вместо них типа Print("Устанавливаем ордер на покупку по цене",price), но возникает проблема с проверкой уже открытых ордеров. Можно конечно выводить типа Print("Если есть открытые ордера вверх, закрой их"), но это не очень красиво.
По идее, можно переписать все команды управления счетом и ордерами в виде своей библиотеки в которой и вести всю логику имитирующую работу с ордерами и счетом. Например, OrderSend поменять на my_OrderSend с такими же параметрами и т.д. и т.п. Так прийдется написать свой тестер. Это так же позволит исправить недостатки стандартного тестера. А написать автоматическую замену в советниках и скриптах этих команд на свои - вообще нет проблем. Т.о. получим свой новый тестер. Возможно введение своих алгоритмов по оценке тестирования (например анализировать просадку, средние прибыль на сделку и т.д. в зависимости от собственных предпочтений). Так же можно сделать автоматическую оценку экспертов. Типа после тестирования выводить свои рекомендации, замечания и выводы о качестве эксперта. Возможен анализ экспертов на заглядывание в будущее и свой анализ при недостатке качества тестирования (когда из за недостатка данных неясно что сработало первым sl или tp). Можно все это сделать на MQL, а можно в dll-ке - все зависит от того насколько сложные дополнительные алгоритмы хочешь реализовать. Например, если хочешь написать собственную генетическую оптимизацию, или сложный анализ результатов тестирования (например на основе нечеткой логики) - то имеет смысл написать на Delphi или C и подключить в виде dll.
Avals!
" ....По идее, можно переписать все команды управления счетом и ордерами в виде своей библиотеки в которой и вести всю логику имитирующую работу с ордерами и счетом. Например, OrderSend поменять на my_OrderSend с такими же параметрами и т.д. и т.п. Так прийдется написать свой тестер. Это так же позволит исправить недостатки стандартного тестера. А написать автоматическую замену в советниках и скриптах этих команд на свои - вообще нет проблем. ....."

Так в чем же дело! Если можно сделать, то нужно это сделать! Люди же мучаются!
На стандарном тестере могут работать только простейшие программы. А сложные, с большим количеством
индикаторов, 5 и более, он уже не тянет. А Ваш глотает любое количество. Мой советник, например, на
стандартном тестере не работает, а на StepbyStep в форме индикатора, в демо и реальном режиме прекрасно
работает.
"....Возможно введение своих алгоритмов по оценке тестирования (например анализировать просадку, средние прибыль на сделку и т.д. в зависимости от собственных предпочтений). Так же можно сделать автоматическую оценку экспертов. Типа после тестирования выводить свои рекомендации, замечания и выводы о качестве эксперта. Возможен анализ экспертов на заглядывание в будущее и свой анализ при недостатке качества тестирования (когда из за недостатка данных неясно что сработало первым sl или tp). Можно все это сделать на MQL, а можно в dll-ке - все зависит от того насколько сложные дополнительные алгоритмы хочешь реализовать. Например, если хочешь написать собственную генетическую оптимизацию, или сложный анализ результатов тестирования (например на основе нечеткой логики) - то имеет смысл написать на Delphi или C и подключить в виде dll. ..."
Эти примочки конечно украшают программу, но на мой взгляд не обязательны. Вполне можно обойтись сообщениями о результатах работы
в виде Comment(). Их (примочки) можно прицепить, если замышляется коммерческий продукт, а для оперативной работы они не обязательны.

Star
 
komposter писал (а):
Имеется в виду, обновляемый с помощью PostMessageA( hwnd, WM_COMMAND, 33324, 0 ); график.
Хочется, чтоб эксперт воспринимал обновление, как тик.

Это реально?

ps: индикаторы ведь работают...

Скрипт в бесконечном цикле. RefreshRates()==true сигнализирует о поступлении новых данных.

Попробуйте навесить period_converter на один график, открыть сгенерированный график и на него опять навесить period_converter и открыть третий (оффлайновый же) график. Очень интересно наблюдать за такой связкой.
Причина обращения: