StepMA_Stoch_v1 EA. Просто, но удовлетворительно - страница 3

 

Извините, вчера вечером опоздал и разместил не того эксперта. DOH

Вот еще раз.

Файлы:
 

Spepstochcross

Быстрый бэктест

Файлы:
 
jorgka:
Просто быстрый бэктест

Привет, Йоргка,

Спасибо за усилия и этот советник.

Но я не вижу никаких настроек, как можно оптимизировать параметры. Стандартно он использует 1.0, но в большинстве ситуаций видно, что это не идеальный параметр. На 30-минутных графиках опыт показывает, что +/- 1.4-1.6 лучше работает. Так можно ли добавить параметр stepmatoc, чтобы их можно было оптимизировать?

TNX a lot is advance...iGoR

 

Привет, Йоргка,

Я не думаю, что советник работает правильно. Он дает только 15 сделок при попытке бэктестинга ваших настроек по умолчанию на 30-минутном кабеле без стопа. Должны быть сотни сделок. Если вы посмотрите на индикатор за 2 года, то там 100's пересечений.

приветствую iGoR

 

настройки

Привет всем,

Извините, что мало что добавил в эту тему с тех пор, как я ее начал, но я бы предложил Jorgka пересмотреть параметры, которые я объяснил в начале этой темы. Если вы используете 1.0, советник не будет прибыльным, но если вы используете 1.9, советник будет очень прибыльным. Потери будут, но прибыль будет огромной. Все, что должен делать советник, это покупать или продавать, когда на 30-минутном графике Cable, USD/CHF, USD/JPY и EUR/JPY подтверждается пересечение. Если вы сможете запрограммировать советника на продажу или покупку вдвое большего количества акций, чем сейчас находится в позиции, это позволит закрыть одну позицию и открыть следующую позицию на ту же сумму, но в противоположном направлении.

Прелесть советника в том, что вам не нужен стоплосс, потому что всегда найдется другой крест, который завершит текущую позицию. Поверьте мне, с этим советником вам не нужен стоп-лосс. Теперь будьте осторожны при программировании закрытия/открытия позиции, как объяснялось выше, потому что возможно, что предыдущая позиция может не закрыться при продаже или покупке в два раза большего объема, чем открытая позиция. Я видел, как это случалось, когда просто открывалась совершенно новая позиция на сумму, вдвое превышающую предыдущую, без закрытия предыдущей позиции. Например, допустим, у вас есть длинная позиция на 1 стандартный лот. Приходит следующий кросс, и советник продает 2 стандартных лота. Это должно продать весь первый стандартный лот, закрыв позицию. Останется 1 короткий лот, который и будет новой позицией в противоположном направлении. Это идеальный вариант. Я видел, как случалось, что вместо 1 потерянного короткого лота у вас оставался 1 открытый длинный лот и 2 коротких лота. Это то, чего мы хотим избежать.

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

Спасибо за помощь,

Huhenyo

 

Детали советника

Я постараюсь ответить на некоторые вопросы и внести некоторую ясность.

double diCustom0=iCustom(NULL, 30, "StepMA_Stoch_v1", 10, 1.8, 0, 0, 0); double diCustom1=iCustom(NULL, 30, "StepMA_Stoch_v1", 10, 1.8, 0, 1, 0);

double diCustom2=iCustom(NULL, 30, "StepMA_Stoch_v1", 10, 1.8, 0, 0, 1);

double diCustom3=iCustom(NULL, 30, "StepMA_Stoch_v1", 10, 1.8, 0, 1, 1);

OK Как вы видите, есть 4 команды double dicustom.

dicustom1, dicustom2, dicustom3 и dicustom4.

Я разложу их для вас как можно проще.

Где NULL, 30, это значение для таймфрейма. EG 30 = 30 минут или если вы измените его на NULL, 15, то это будет означать 15 таймфреймов.

"StepMA_Stoch_v1" - это индикатор, к которому обращается эксперт из набора индикаторов MT.

Значения, 10, 1.8, 10 это входные параметры StepMA_Stoch_v1, ДОЛЖНЫ БЫТЬ В ПОРЯДКЕ. Поэтому Игорь может поменять их на "StepMA_Stoch_v1", 10, 1.4, 0, если захочет.

Последние оставшиеся два все значения в эксперте относятся к Values. Где значение 0 - желтая линия, а значение 1 - синяя линия. Почему, спросите вы, значение 0 (желтый) не является значением 1, а синий (значение 1) не является значением 2, потому что в индикаторе StepStoch значение 0 определяется как желтый, а значение 1 как синий. И последнее поле - значение 0 для текущего бара, а значение 1 - 1 бар назад.

Итак, индикатор установлен.

Теперь параметры покупки-продажи

lFlagBuyOpen = (diCustom3>=diCustom2) && (diCustom0>diCustom1);

lFlagSellOpen = (diCustom2>=diCustom3) && (diCustom1>diCustom0);

lFlagBuyClose = (diCustom2>=diCustom3) && (diCustom1>diCustom0);

lFlagSellClose = (diCustom3>=diCustom2) && (diCustom0>diCustom1);

для покупки (перехода в длинную позицию) Dicustom3 должен быть меньше или равен dicustom2

При измерении одного бара назад желтая линия должна быть меньше или равна синей линии

&

Dicustom0 должен быть больше Dicustom1

То есть желтая линия должна быть не равна, а больше синей линии на текущем баре, если все эти линии находятся в строке IFlagBuyOpen, то у нас есть сделка на длинную позицию.

Вы заметили, что Iflagsellclose и Iflagbuyopen одинаковы, потому что при переходе в короткую позицию по валюте (продажа) мы хотим выйти из сделки так же, как и при покупке. поэтому Iflagsellopen и Iflagbuyclose имеют одинаковые параметры.

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

Игорь,

Никогда не полагайтесь на обратные тесты MT4.

Также, если вам нужно изменить параметры, откройте советник и Dicustom1 на 4, значение 1.8 и измените его на 1.4 или 1.6, все, что вам подходит.

Huhenyo

Как я уже говорил, советник будет открываться и закрываться на покупке и продаже кросса, используя параметры, указанные в первом сообщении.

Я добавлю Money manager на основе % от счета, по умолчанию 2%.

Я опубликую обновление, когда вы, ребята, будете удовлетворены.

Спасибо

Йоргка

 
jorgka:
Я постараюсь ответить на некоторые вопросы здесь и внести некоторую ясность.

Где NULL, 30, это значение для таймфрейма. EG 30 = 30 минут или если вы измените его на NULL, 15, то это будет означать 15 таймфрейм.

"StepMA_Stoch_v1" - это индикатор, к которому обращается эксперт из набора индикаторов MT.

Значения, 10, 1.8, 10 это входные параметры StepMA_Stoch_v1, ДОЛЖНЫ БЫТЬ В ПОРЯДКЕ. Поэтому Игорь может изменить их на "StepMA_Stoch_v1", 10, 1.4, 0, если захочет.

Привет Йоргка,

Это я уже понял. Я проводил тестирование на 30-минутном графике и сделал несколько бэктестов, каждый раз меняя значение от 1.1 до 1.8. Но, как я уже сказал, за 2 года это дало не более 15 сделок за тест... так что, действительно, бэктесты абсолютно не надежны, как я выяснил на примере других простых стратегий.

приветствую... iGoR

 

Бэктестинг

iGoR,

Я обнаружил, что если вы используете опцию " каждый тик" в бэктестере, вы получите гораздо больше сделок. Всего за один месяц бэктеста было заключено около 15 сделок на $/Yen, и $/CHF.

Йоргка,

Привет, по большей части советник совершает сделки точно. Вторая настройка индикатора должна быть 1,9 вместо 1,8. Это имеет большое значение. Я вернулась и проверила сделки, которые совершил советник, и большинство из них были правильными, но одна сделка была ложной, и индикатор даже близко не пересекался. Вы не знаете, что могло произойти? Я прикреплю скриншот, чтобы вы могли увидеть. Я также говорю, что было пересечение, которое не было проторговано. Вы ввели код, чтобы не торговать на кресте после движения на 30 пунктов? Если да, то я не думаю, что в этом коде есть необходимость.

Спасибо за вашу работу до сих пор. Я действительно думаю, что у этой программы есть потенциал.

Файлы:
badtrade.jpg  192 kb
 

результаты и ложные сделки

Хорошо, я немного изменил настройки, чтобы PeriodWATR был 20, а Kwatr - 1.9. Я запустил тестер, используя настройку, которая оценивает каждый тик, график - GBP/USD. Затем я вернулся назад и повторно оценил каждую сделку. Советник делал все правильно, пока не дошел до сделок #24 - #28 (см. рисунок). Я не знаю, почему он делает такие ложные сделки. Я также приложил результаты чуть более одного месяца на GBP/USD; они очень многообещающие, если только мы сможем понять, как избежать ложных сделок. Если бы не было этих двух ложных сделок, советник получил бы около 60% прибыли за один месяц торговли одним лотом. Неплохо, да?

Спасибо всем за интерес и помощь.

Huhenyo.

Файлы:
false_trades.jpg  235 kb
results.jpg  185 kb
 

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

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

Я тестирую ea здесь и опубликую результаты на следующей неделе.

Скоро будет обновление.

Йоргка