Платная поддержка Метатрейдера разработчиком? - страница 4

 
TheXpert >>:

Все так же на 95% уверен, что проблема в коде. Только видимо не в таймфреймах, а в логике.

Код выложен по большей части. С 0-го бара пользуюсь только Open.

 
SergNF >>:

Ну дык одно время на форуме их поддержки были эпопеи с "недостиранием" шпилек в тестере. А каждая "шпилька" ой как искажает индикаторы, опять же выходные дни (не помню как сейчас на предмет соответствия котировок), может быть Вы догружаете историю из ХисториЦентра, которая может не совпадать с иторией ДЦ, дыры в истории.

Начинать надо со сравнения "циферек". а не с поиском "ответственного".

Если Вы сразу не "печатали все что есть с реала", то уже поздно.

HistoryCenter - не пользуюсь, все закачано клавой с графика. Печать с реала, да, позно для проср..ных денег. Не позно для нового просирания :)

 
Choomazik >>:

Советник пользовался двумя тайм-фреймами для получения рекоммендации (М30 и H1). Обсуждение проблемы с кодом было вот тут. 'В каком порядке поступают все же бары, сначала М15 потом H1, или порядок неопределен?'. Я натыкал RefreshRates перед каждым ArrayCopy, как рекоммендовалось. Улучшения не последовало, не реале советник дает другие рекоммендации в отличие от реала. Мое подозрение упало на рассогласование котировок по двум таймфреймам (конечно ИМХО).

Так ведь это уже известная вещь. Я в своем ДЦ периодически на это натыкаюсь. А решение проблемы такое же, которое сама компания применяет с, по-моему, 220-го билда. Напомню, с тех пор тестер стал проверять рассогласование ТФ, которое случается из-за таких вот кривых обновлений котировок. Решением стал пересчет всех ТФ, исходя из данных М1. 

Поэтому, если ваш алгоритм так критичен к согласованию ТФ, то всего лишь нужно добавить функции конвертации нужного вам количества данных из М1:

double HighOfTF(int TF, int BarNumber) // TF - таймфрейм, бар которго нужно получить, BarNumber - номер бара
{
 int BeginBar = iBarShift(Symbol(), PERIOD_M1, iTime(Symbol(), TF, BarNumber));
 int EndBar = iBarShift(Symbol(), PERIOD_M1, iTime(Symbol(), TF, BarNumber-1));
 return(iHighest(Symbol(), PERIOD_M1, MODE_HIGH, EndBar-BeginBar, BeginBar));
}


Аналогично для любой другой характеристики. Но подобные тонкости в работе моих стратегий никогда не требовались.

 
Choomazik писал(а) >>

...Не позно для нового просирания :)...

- Комментируете в своем советнике работу с ордерами

- Делаете отладочную печать. Причем не только в выложенном советнике, а И в функции recommendation()

- Ставите, по сути, пустой советник на реал и периодически прогоняете его в тестере и сравниваете.

Останутся еще "будущие" реквоты, но это, опять же, к ДЦ.

Причем не Print, а FileWrite, в csv с одновременной разработкой макросов в Экселе или DTS ы MSSQL :) Ну это уже смотря какие деньги на кону.

А в итоге - либо "мой ДЦ рисует историю", либо "MQ сделайте базу тиков" или что-то менее кардинальное - правка своего кода.

.

Я когда собираюсь сравнивать свои "поделки" ... в итоге - ну нафиг эти несколько пипсов, лишь бы не просматривать/загружать/обрабатывать горы информации :)

 
Scriptong >>:

Так ведь это уже известная вещь. Я в своем ДЦ периодически на это натыкаюсь. А решение проблемы такое же, которое сама компания применяет с, по-моему, 220-го билда. Напомню, с тех пор тестер стал проверять рассогласование ТФ, которое случается из-за таких вот кривых обновлений котировок. Решением стал пересчет всех ТФ, исходя из данных М1.

Поэтому, если ваш алгоритм так критичен к согласованию ТФ, то всего лишь нужно добавить функции конвертации нужного вам количества данных из М1:


Аналогично для любой другой характеристики. Но подобные тонкости в работе моих стратегий никогда не требовались.


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

 
SergNF >>:

- Комментируете в своем советнике работу с ордерами

- Делаете отладочную печать. Причем не только в выложенном советнике, а И в функции recommendation()

- Ставите, по сути, пустой советник на реал и периодически прогоняете его в тестере и сравниваете.

Останутся еще "будущие" реквоты, но это, опять же, к ДЦ.

Причем не Print, а FileWrite, в csv с одновременной разработкой макросов в Экселе или DTS ы MSSQL :) Ну это уже смотря какие деньги на кону.

А в итоге - либо "мой ДЦ рисует историю", либо "MQ сделайте базу тиков" или что-то менее кардинальное - правка своего кода.

.

Я когда собираюсь сравнивать свои "поделки" ... в итоге - ну нафиг эти несколько пипсов, лишь бы не просматривать/загружать/обрабатывать горы информации :)

спасибо!

 
Choomazik >>:

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

Не думаю, что вызов 100-200 раз приведенной функции подряд для формирования массива будет критично сказываться на производительности эксперта. К тому же, если вам нужно несколько характеристик (Open, Low, High, Close), то можно оптимизировать код, так как значения BeginBar и EndBar для всех характеристик на одном баре будут одинаковы.

Или более красивый и производительный выход - формировать массив в init, а с формированием нового бара просто добавлять один бар однократным вызовом функции HighOfTF.

 
Mischek >>:

Так будет ссылка на форум поддержки конкурента MQ ?

Форумы форекс.ком и дукаса устроят ? Если не лень - загляни. Я пользуюсь java api и на срочные вопросы всегда получал ответ.

 
JavaDev >>:

Я пользуюсь java api и на срочные вопросы всегда получал ответ.

Платно?

 
Rosh >>:

Платно?

Нет. Но ответ получаю быстро. К Вам у меня есть ещё один вопрос: Есть-ли в планах MQ сделать просто модуль подключения к серверу без GUI & MQL с документированными интефейсами.

Чтоб можно было пользоваться ЛЮБЫМ языком для разработок. И Вам проще и я могу использовать свои и машинные возможности на 100%.

Причина обращения: