Разработка советника для проверки интересной гипотезы

От keksik, 6 мая, 2018 в Архив

Автор#1

Приветствую, господа.
Кто возьмется за написание совы чтобы проверить актуальный ли метод изложенный в данном видео!?
https://www.youtube.com/watch?v=cYMlCR3WZ2I с 27й минуты.

если кратко то нужны такие условия:

Сова открывает позицию в случайном направлении через N дней от определенной даты, установка СЛ(по ATR) и закрытие позиции через N дней.
Далее цикл повторяется

ATR для CЛ, закрытие/открытие по дням должны настраиваться, направление сделки максимально рандомное.

#2

Советую подробнее - текстом расписать ТЗ.

Автор#3

В том то и дело, что это и есть все условия))) к сожалению как сделать рандомность я не знаю.


Добавлено: 07-05-2018 20:25:48


Советую подробнее - текстом расписать ТЗ.

В том то и дело, что это и есть все условия))) к сожалению как сделать рандомность я не знаю.
#4

С рандомностью программисты разберутся, а с "определенной даты" - нет. Как эта дата определяется? или тоже случайно?

Автор#5


С рандомностью программисты разберутся, а с "определенной даты" - нет. Как эта дата определяется? или тоже случайно?


нет, это начало тестов, устанавливается вручную(как в тестере мт4)
#6

Продолжу пытку: ок, старт прошёл, первая сделка открылась, дальше что? закрытие по ТП планируется?, тоже по АТР?, следующая сделка открывается немедленно? направление открытия следующего ордера не зависит от предыдущей сделки и опять случайное?

#7

Пробуйте

Random_Trade.mq47 скач.

Автор#8


Пробуйте


Благодарю за отклик) некоторые поправки нужны:

Нет паузы в днях после первой сделки. 1я закрывается и сразу открывается 2я и тд

СЛ по ART в том смысле что, в момент открытия значение было 55п, то это и будет размер СЛ.
Также возможность установки СЛ в размере 2,3,4,5... ATR, то есть 55п*2,3,4,5...
ТП по тому же принципу что и СЛ

Изменено 10 мая, 2018 пользователем keksik

#9

СЛ по ART в том смысле что, в момент открытия значение было 55п, то это и будет размер СЛ. Также возможность установки СЛ в размере 2,3,4,5... ATR, то есть 55п*2,3,4,5...Так же и ТП


Хорошая задачка :d Ок, попробую накрутить.

Нет паузы в днях после первой сделки. 1я закрывается и сразу открывается 2я и тд


А тут не совсем ясно. Давайте уточним. В советнике выставили дату и паузу перед первым ордером, 20дн например. Он открыл. Выставили SL и TP. Для последующих ордеров стоит вторая переменная в 40 дней, например. Через час ордер выбило по SL/TP, что советнику делать? Ждать 40 дней, я правильно понял? Или открывать следующий сразу? А если не выбило и прошло 40 дней? Закрывать принудительно и открывать сразу же следующий, так?
Кстати, посмотрите параметры советника, там зашито несколько моделей торговли. По одной из них открывает сразу, по одной- через N дней после даты, указанной вручную.
Автор#10


СЛ по ART в том смысле что, в момент открытия значение было 55п, то это и будет размер СЛ. Также возможность установки СЛ в размере 2,3,4,5... ATR, то есть 55п*2,3,4,5...Так же и ТП


Хорошая задачка :d Ок, попробую накрутить.

Нет паузы в днях после первой сделки. 1я закрывается и сразу открывается 2я и тд


А тут не совсем ясно. Давайте уточним. В советнике выставили дату и паузу перед первым ордером, 20дн например. Он открыл. Выставили SL и TP. Для последующих ордеров стоит вторая переменная в 40 дней, например. Через час ордер выбило по SL/TP, что советнику делать? Ждать 40 дней, я правильно понял? Или открывать следующий сразу? А если не выбило и прошло 40 дней? Закрывать принудительно и открывать сразу же следующий, так?
Кстати, посмотрите параметры советника, там зашито несколько моделей торговли. По одной из них открывает сразу, по одной- через N дней после даты, указанной вручную.

Смотрите, есть стартовая дата, сова отчитывает паузу в днях от этой даты и открывает рандомно сделку с СЛ/ТП по ATR на момент открытия, далее закрытие по СЛ или ТП или Времени(через N дней). Все! Потом начинается такой же цикл... выжидает паузу в днях после закрытия первой сделки(как и для первого ордера) и открывает радномно сделку с СЛ/ТП по ATR на момент открытия. И так все повторяется, меняется только направление сделок.

Если это возможно, было бы круто сделать разные алгоритмы рандомности, т.е к Примеру:

Алгоритм 1= Sell Buy Buy Sell Sell Sell Buy Buy Sell Sell Buy Buy Sell Sell Buy Sell Buy Buy...
Алгоритм 2= Buy Buy Sell Buy Buy Sell Buy Sell Buy Sell Sell Buy Buy Sell Buy Sell...
Алгоритм 3= Sell Sell Sell Buy Buy Buy Sell Sell Sell Buy Buy Sell Buy Sell Buy Buy...

И возможность выбора по какому алгоритму тестить))
#11

Вроде начинаю понимать задачу, пробуйте.
Pause_Days - пауза ПЕРЕД ОТКРЫТИЕМ ордера. В первый раз будет считать от даты, вбитой вручную. Либо от текущей даты. Зависит от самого верхнего параметра-"когда открывать ордер". Второй и прочие ордера- от даты закрытия последнего ордера. И не важно, как он закрылся.
Days_for_Stop_Order - пауза ПЕРЕД ЗАКРЫТИЕМ ордера. Если не сработал SL/TP- закрывает вручную.
И закрытие по ATR. SL_ATR_Koeff, TP_ATR_Koeff - указываем множители для ATR- 1, 2, 5, 100 и тп. При открытии ордера, подставит профиты и стопы.

Если это возможно, было бы круто сделать разные алгоритмы рандомности


Этого пока еще не могу, к сожалению)

Random_Trade_1.1.mq48 скач.

#12


Если это возможно, было бы круто сделать разные алгоритмы рандомности


Этого пока еще не могу, к сожалению)
Эту задачу нельзя отнести к "рандомности" - это просто открытие сделок в неком порядке (иногда называют ключом). Но согласен - совершенно другая логика, нужно создавать счётчик ордеров, считать открытые, сверяться с ключом, сбрасывать счётчик при окончании ключа.
У меня есть сова, открывающая сделки по ключу, но там мартин и она строчит как из пулемёта по 10 сделок в сутки...
#13

Задача чем то напоминает написанный мной сов кажется Оптимист, только с зазорами по времени и ТП по АТР

Автор#14

пробуйте


Приветствую. Все работает как нужно:) единственный момент, можно чтобы паузу считал по торговым дням, а не по календарным?
#15

чтобы паузу считал по торговым дням


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

совершенно другая логика


Да, чет запаниковал на фразе "разные рэндомы" :d
Кстати, тоже гонял что-то похожее на MQL5, мучил мультивалютника на истории. Результаты близки к 50/50, даже после оптимизации.

Random_Trade_1.2.mq415 скач.

#16

Всех приветствую!
Тему раньше видел, но как-то не вникал, видео не смотрел. Сегодня от нефиг делать, дай думаю гляну о чем там умный человек толкует... Потом советника, выложенного здесь, прогнал два раза и увидел, что особой рандомности в нем нет. Два теста на одном и том же периоде показали совершенно одинаковое количество сделок, открытых в одно и то же время. Рандомность проявилась только в направлении этих сделок. Скажу, что код советника не смотрел, но интуитивно сложилось ощущение, что саму затею, о которой говорил лектор на видео, программист, писавший советник, не уловил. Да и топикстартер изложил не так, как на видео, а по-своему. Во-первых, на видео о тейкпрофите речи не идет, только о стоплоссе. Сделка закрывается либо по стоплоссу, либо через какое-то время, но не менее 20-ти дней. Вся идея лектора в том, что сделки должны удерживаться долго. Он даже показывал на графике результаты условных трейдеров, которые удерживали позиции открытыми более 40-ка дней. И результат их трейдов был прибыльным чуть-ли не в 100 процентов случаев :)

На мой взгляд алгоритм советника должен имитировать условного трейдера и выглядеть как-то так:

1.Представим, что мы условный трейдер, который подошел к терминалу. Тыкаем пальцем в график и получаем дату, в которую мы будем открывать сделку.
2.Сидим ждем этой даты.
3.Когда дата настала, подбрасываем монетку и, в зависимости от того, как она упадет, определяем направление сделки.
4.Открываем сделку.
5.Снова тыкаем в календарь, состоящий, ну допустим из 60-ти ближайших дней. Но заранее условимся, что ранее чем через 20 дней не закрываем.
6.Устанавливаем стоплосс. Ну, пусть по дневному ATR.
7.Сидим ждем или стопа, или даты закрытия, которую получили ткнув пальцем в календарь.

Как дождались закрытия сделки, повторяем все с первого пункта.
Написав код таким образом, мы сможем при каждом новом прогоне в тестере получать совершенно разные сделки и их количество. Запустив оптимизацию, можно посмотреть на массу разных результатов.

Однажды проверял одного советника. Он строчил кучу сделок в день, пипсовщик. Закрытие сделок у него происходило по определенному алгоритму. Прибыли он толком не показывал. И вот как то поставил я его на демку с утра. Хожу значит туда-сюда, своими делами занимаюсь. Нет-нет да подойду к терминалу. Раз подошел, смотрю - прибыль. Закрыл руками сделку. Второй раз подошел, опять прибыль. Закрыл. Ну и так в течении дня. Были конечно и убыточные сделки. Я их тоже закрывал. Короче говоря наколбасил таким макаром нормально. Задумался :-/, а не написать ли мне такой "человекоподобный" закрывальщик сделок, который будет имитировать меня, бродящего по квартире в течении дня и поглядывающего одним глазком в терминал. Написал. Результат не ахти.... Что-то типа около 50/50.

Изменено 9 августа, 2018 пользователем DreamWorks

#17

Сова открывает позицию в случайном направлении через N дней от определенной даты, установка СЛ(по ATR) и закрытие позиции через N дней.
Далее цикл повторяется


Как вижу, то идея изначально - это подбрасывание монетки... keksik, чем вызван интерес к идее?

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025