Помощь в кодировании - страница 40

 

Спасибо mladen,

Я закончил свой код (благодаря вашей помощи), и он действительно хорошо работает. Я сделал код на основе моей ручной торговли графиками H4 и D1 за последние пару лет. Я думаю о диверсификации рисков и о двух счетах, один торгует более долгосрочными графиками, другой более краткосрочными графиками с отдельными счетами. Поэтому я хочу адаптировать этот код, скажем, для графиков M5 и M15. Я знаю, что стратегии могут работать на одном таймфрейме, но не на другом, и кое-что, что я заметил о более краткосрочных графиках, это то, что они гораздо более случайны, не очень уважают S/R и склонны к длительным периодам консолидации.

Мне интересно, есть ли у вас какие-либо советы по поводу краткосрочных стратегий - некоторые вещи, которые я рассматриваю, это чтобы советник проверял несколько символов для лучших возможностей, а не только один, а также, возможно, добавление MVA, создавая в общей сложности 3 для силы тренда на более высоких таймфреймах, и, возможно, добавление секции кода для остановки торговли, если в области консолидации (скажем, если последние 50 баров находятся в диапазоне 50 пунктов). Также возможно торговать только если цена находится ниже/выше средней линии канала Дончиана и даже проверять высоту фитиля.

 

...

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

Даже при обычном тестировании прямое тестирование является единственной действительно приемлемой формой (из-за некоторых проблем с обратным тестированием в metatrader: полное отсутствие исторических Bid, Ask и неявного спреда, отсутствие свопов, комиссий и всего, что связано с подобными вещами, тики моделируются довольно странным образом, ... и так далее, и так далее ...), но люди редко делают это, поскольку это требует времени и самоотдачи. Если вы действительно пытаетесь разработать систему, на которую вы хотите положиться, можно рассматривать только прямое тестирование.

Так что это единственный совет. Из стратегий: люди торгуют 1000-ми способами, и многие люди живут этим, поэтому не существует "только одного" способа делать это. Пробуйте свои собственные способы, и с дальнейшим тестированием вы можете даже обнаружить, что у вас уже есть выигрышная система.

crsnape@btinternet.com:
Спасибо, Младен,

Сейчас я закончил свой код (благодаря вашей помощи), и он работает очень хорошо. Я создал код на основе моей ручной торговли на графиках H4 и D1 за последние пару лет. Я думаю о диверсификации рисков и о двух счетах, один торгует более долгосрочными графиками, другой более краткосрочными графиками с отдельными счетами. Поэтому я хочу адаптировать этот код, скажем, для графиков M5 и M15. Я знаю, что стратегии могут работать на одном таймфрейме, но не на другом, и кое-что, что я заметил о более краткосрочных графиках, это то, что они гораздо более случайны, не очень уважают S/R и склонны к длительным периодам консолидации.

Я хотел спросить, есть ли у вас какие-либо советы по поводу краткосрочных стратегий - некоторые вещи, которые я рассматриваю, это чтобы советник проверял несколько символов для лучших возможностей, а не только один, а также, возможно, добавление MVA, создавая в общей сложности 3 для силы тренда на более высоком таймфрейме, и, возможно, добавление раздела кода для остановки торговли, если в области консолидации (скажем, если последние 50 баров находятся в диапазоне 50 пунктов). Также возможно торговать только если цена находится ниже/выше средней линии канала Дончиана и даже проверять высоту фитиля.
 

Спасибо mladen за совет.

У меня странная проблема с моим советником. Когда я тестирую его на графике H4, он работает так, как должен. Однако когда я тестирую его на H1, он загружает входы (TimingChart = 240 и TrendChart 1440), как показано в журнале, вместо TimingChart 60 и TrendChart 240 (я изменил внешние переменные в коде, а также убедился, что входы правильные при прикреплении советника к графику. Тем не менее он продолжает загружать неправильные таймфреймы). В журнале возникает целый ряд проблем, включая ошибку OrderModify 1 и ошибку Orderend 130, нулевые дивиденды, которых нет, когда я тестирую на графике H4. Я не менял код между тестами, кроме изменения внешних переменных, и могу только предположить, что именно входы создают ошибки. PS (для ошибки 130 у моего брокера SL минимум 0).

Также хочу уточнить, что я прикрепил советника к графику H1, чтобы убедиться в этом, а также выбрал H1 в выпадающем меню в тестере стратегий. Я также закрыл MT4 и перезагрузил его, чтобы посмотреть, решило ли это проблему, но, к сожалению, нет.

Есть идеи?

 

Подскажите, пожалуйста, если я обрабатываю ордер-енд и не хочу вводить уровень тейкпрофита (или любой другой параметр, если на то пошло), я просто вставляю 0?

Также как насчет OrderModify(), если я не хочу менять один из вводимых параметров, я вставляю OrderStopLoss(), например? А если в ордерендере не был введен уровень стоплосса, остается ли в нем OrderStopLoss() или вставляется что-то другое?

Спасибо.

 

...

Что касается параметров тейк-профита, стоп-лосса, проскальзывания и магического числа, то да.

Некоторые параметры имеют различные способы обхода: например, цвет 0 является черным, поэтому в этом месте нужно использовать CLR_NONE. Также, если требуется строка, используйте NULL (это легче заметить и это обычный способ сделать это в metatrader).

crsnape@btinternet.com:
Подскажите, пожалуйста, если я обрабатываю ордер на продажу и не хочу вводить уровень тейкпрофита (или любой другой параметр, если на то пошло), я просто вставляю 0?
 

Привет, mladen, при OrderModify, если я хочу сохранить исходный вход в соответствии с OrderSend, ввожу ли я, например, стоплосс, OrderStopLoss()? А если стоплосс не был введен в OrderSend, то я вставляю 0 или все же OrderStopLoss()?

Спасибо

 

Если изначально не было стоп-лосса ордера, OrderStopLoss() вернет 0, так что получается то же самое.

crsnape@btinternet.com:
Привет, mladen, при OrderModify, если я хочу сохранить исходный вход согласно OrderSend, ввожу ли я, например, стоплосс, OrderStopLoss()? А если стоплосс не был введен в OrderSend, я вставляю 0 или все же OrderStopLoss()? Спасибо.
 

Является ли проскальзывание в контексте ордеров величиной спреда?

 

Я заметил, что в книге по MQL4 проскальзывание максимально допустимое. А код максимального спреда написан отдельно?

 

...

Нет

Это максимальное проскальзывание в цене, которое вы (пользователь) примете от брокера при открытии ордера.

Пример

цена 1.0000, допустимое проскальзывание 0, ордер должен быть открыт по цене 1.0000 или, если он не может быть открыт именно по этой цене, вы получите реквот

цена 1.0000, допустимое проскальзывание 3, ордер может быть открыт в любом месте между 0.9997 и 1.0003.

crsnape@btinternet.com:
Является ли проскальзывание в контексте ordersend значением спреда?