Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Веди личную переписку в профиле. Это безопасно!
MetaQuotes Software Corp.
Модератор
177308
MetaQuotes Software Corp. 2012.05.07 12:54 

Опубликована статья Несколько советов для начинающих заказчиков:

Народная мудрость, авторство которой часто приписывают различным известным людям, говорит: "Тот не ошибается, кто ничего не делает". Если не считать само ничегонеделание тоже ошибкой, то с этим утверждением трудно спорить. Зато вполне возможно проанализировать ранее совершенные ошибки (свои и чужие) и свести к минимуму количество совершаемых ошибок в будущем. Сделаем попытку разобрать возможные ситуации, возникающие в процессе выполнения работ на одноименном сервисе.

Автор: Dmitriy Skub

Andrey F. Zelinsky
29955
Andrey F. Zelinsky 2012.05.07 22:32  

После отработки алгоритма можно заказать доработку для реального счета. Это будет стоить не слишком дорого.

Не согласен по стоимости. Эксперт для реала и для демо отличается внутренней организацией, глобальными переменными для сохранения состояния и т.д. и т.п. - всё это пронизывает алгоритм насквозь. Поэтому стоимость эксперта для демо и для реала существенно отличается и должна отличаться. Переделать эксперт для реала - это, порой, полное переписывание алгоритма.

Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
михаил потапыч
19471
михаил потапыч 2012.05.07 22:34  
abolk:

После отработки алгоритма можно заказать доработку для реального счета. Это будет стоить не слишком дорого.

Не согласен по стоимости. Эксперт для реала и для демо отличается внутренней организацией, глобальными переменными для сохранения состояния и т.д. и т.п. - всё это пронизывает алгоритм насквозь. Поэтому стоимость эксперта для демо и для реала существенно отличается и должна отличаться. Переделать эксперт для реала - это, порой, полное переписывание алгоритма.

Интересно , тогда какая фигня была написана для демо 
Andrey F. Zelinsky
29955
Andrey F. Zelinsky 2012.05.07 22:37  
Mischek:
Интересно , тогда какая фигня была написана для демо 

Та, которая потом на реале пропускает сигналы, не до конца и с другим результатом отрабатывает закрытие (особенно цепочки ордеров). 

михаил потапыч
19471
михаил потапыч 2012.05.07 22:43  
abolk:

Та, которая потом на реале пропускает сигналы, не до конца и с другим результатом отрабатывает закрытие (особенно цепочки ордеров). 

Демо - один результат 

Реал - другой результат

Ну и на фига такое надо  

Andrey Khatimlianskii
52252
Andrey Khatimlianskii 2012.05.07 23:23  

Популярно также совмещение нескольких индикаторов с различными масштабами (иногда различающимися на несколько порядков) в одном индикаторном окне и поиск сигналов пересечений между ними. Этим "грешат" и не только форекс-новички.

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

Действительно пару раз такое заказывали.

Но я сумел и объяснить, что это самообман, и реализовать его в коде (ну хочется ведь!).

 

А один раз было еще хитрее - заказчик использовал фичу МТ4, которая позволяет индикатор, предназначенный для рисования в подокне, рисовать на ценовом графике (запускаем на графике, меняем проперти, компилируем). Сигналами было пересечение индикатора с ценой ;)

Andrey Khatimlianskii
52252
Andrey Khatimlianskii 2012.05.07 23:47  

Еще раз исправим наше ТЗ: когда предыдущее значение цены находится ниже заданного внешним параметром значения минус дельта, а текущее в пределах заданного внешним параметром значения плюс/минус дельта и временной интервал между ними не больше заданного, то открываем позицию на покупку. Теперь все правильно.

Зачем так сложно, зачем использовать дельту? Да и не совсем корректно это, как по мне...

 

Открытие при пересечении заданного уровня (эмуляция отложки, по сути) - достаточно простая задача.

Если предыдущая цена была < level, а текущая >= level (или наоборот, в зависимости от базового расположения цены и уровня), то открываемся.

Дополнительно можно указать максимальное проскальзывание. Ну, и время тиков, конечно, проверить.

 

==============

Вообще, достаточно неплохая статья получилась.

Жаль только, что читать ее будут, в основном, программисты...

Dennis Kirichenko
10692
Dennis Kirichenko 2012.05.08 06:34  
komposter:

Вообще, достаточно неплохая статья получилась.

Жаль только, что читать ее будут, в основном, программисты...

Да, статья очень полезная. Автору спасибо! Нужно её внести в список must-read...

Ещё хотел бы добавить вот что.

Всегда конечно хочется исполнителю, чтобы ТЗ было для него максимально понятным. Тогда он уловит идею заказчика и по-быстрому наваяет код. И время сэкономит, и что-то заработает... Так бывает, но редко. Когда один программист заказывает работу у другого. Например, по причине экономии времени. Хотя и тут оба могут друг друга "не понять"...

Но, как правило, те, кто выступает в роли заказчика, не знают на таком уровне возможности языка, особенно MQL5, как его знает исполнитель. И дай Бог, чтобы заказчик чётко сформулировал свою торговую идею...

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

Nikolay Khrushchev
18940
Nikolay Khrushchev 2012.05.08 20:15  

статья отличная.

 3. Что за ошибки возникают при компиляции файла эксперта/индикатора - Function 'xxxxxx' is not referenced and will be removed from exp-file?

Это не ошибка. Сообщение говорит о том, что функция 'xxxxxx' не используется (на месте 'xxxxxx' указывается конкретное название функции) и в скомпилированном файле ее не будет. Можно не обращать на это сообщение внимания - на работе эксперта или индикатора присутствие такой "лишней" функции никаким образом не сказывается.

+100500, не счесть сколько раз мне задавали этот вопрос ))
Andrey Khatimlianskii
52252
Andrey Khatimlianskii 2012.05.09 03:31  

MrGold166: 

+100500, не счесть сколько раз мне задавали этот вопрос ))

Да, есть такая проблема при использовании универсальных библиотек. Я тоже устал отвечать, и сделал так:

if ( false ) { func1(); func2(0,0,0); func3("",0); }

 Единственный недостаток - размер ex4. Но это влияет только на почтовый трафик )

IgorM М
4801
IgorM М 2012.05.09 21:15  

хорошая статья, но жаль, что который год существует МТ5, а до сих пор тестировать стратегию в тестере предлагают в МТ4:

Либо в визуальном режиме тестера с использованием существующих экспертов для открытия/закрытия сделок, например, Торговый ТРЕНАЖЕР 2 или использовать специализированные программы для тестирования.

 хотя далее ссылки для МТ5:"....  визуального режима работы тестера. .... ",".....  последнюю из доступных версий. ....."

 

/ /123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий