Гогеттер Е.А.

 

Требуются тестеры и разработчики...

Вы можете найти это похожим на другие советники, потому что это... Вот к чему привело мое исследование советников. Интересно, можно ли успешно интегрировать сильные стороны этой системы с сильными сторонами системы, которая лучше работает на нетрендовых условиях?

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

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

Логика этого довольно проста на данный момент. Это сигнал пересечения скользящей средней выше или ниже более длинной скользящей средней для определения тренда. Этот советник любит получать прибыль от тренда. Я назвал его "Гогеттер" в честь книги с таким названием " Гогеттер", где этому бедняге дается невыполнимая задача с ограниченным количеством времени на ее выполнение. Этот советник срабатывает на закрытие вовремя, если позиция движется против него. Поэтому я решил, что он в какой-то степени соответствует профилю книги.

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

Я использую это на паре 5m gpb/usd. Я получаю разные отчеты с моего демо-счета и реального счета о том, насколько хорошо он работает на графике 4H. Один сообщает, что он лучше, чем 5m, а другой говорит, что он хуже.

#property copyright "Aaragorn and Eaglehawk"

#property link "http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/"

#include

extern int MagicNumber = 0;

extern bool SignalMail = False;

extern bool EachTickMode = False;

extern double Lots = 0.35;

extern int Slippage = 3;

extern bool StopLossMode = False;

extern int StopLoss = 50;

extern double ReversalTriggerRange = 173;

extern bool TakeProfitMode = True;

extern int TakeProfit = 45;

extern bool TrailingStopMode = False;

extern int TrailingStop = 10;

extern int MaxOpenTrade = 1;

extern int Shift = 3;

//extern double Slope = 2;

extern int EntLongEMA = 43;

extern int EntShortEMA = 1;

extern int ExitEMA = 51;

extern int TrendEMA = 1500;

//+-----------close based on not triggering trailing stop in allotted time----------------+

extern int MonitorInMinutes = 60; // minutes after open to check state of trade

extern int ThresholdMove = 1; // if after that time we don't have +'x' pips we will exit

extern int MinsMultiplier = 30; // multiplies the MonitorInMinutes to make minutes (if 'x'=60) into hours

[/PHP]

I would be happy to have anyone else test this and developers to make suggestions for it's improvement.

Since I'm only a novice programmer I don't mind at all if other programmers want to make code upgrades rather than try to explain to me everything about the upgrade idea they have. Just post the upgrade if you do one so we can all benefit.

I look hopefully for the valuable insight and input I know is available from you developers and coders.

I have reached the limits of my own present understanding with debugging this. I wonder how much better it could be if it opened both long and short orders?

The rules for the system are simply this...

if (c51ema < c43ema && s51ema < s43ema && curren1500EMA < c51ema < c43ema && shift 1500ema < curren1500ema) Open Long (buy)

if (cr51ema > cr43ema && sh51ema > sh43ema && curren1500EMA > cr51EMA > cr43ema && shift 1500ema > curren1500ema) Open Short (sell)

where the c=current time period

s=shifted time period

at one point there was a criteria that the slope of the longest EMA had to meet a certain angle also but that didn't seem like it made too much difference so I turned it off.

the exit rules are ...

[PHP] if (Sell1_1 - ReversalTriggerRange*Point >= C_trendsetter) Order = SIGNAL_CLOSESELL;

if (Sell1_1 >= CloseSell1_2) CloseOrder();

if (Sell1_1 >= CloseSell1_2) TrailingStopMode = True;

where if the current c43ema crosses back on the c51ema it will turn on the trailing stop and call for the time in trade function and if it goes further crossing back within a specified range beyond the 1500ema it will close. This range is based on the divergence of the two moving averages. I've toyed around with just a regular stop loss but that seemed to limit the wins too much. I think there could be better ways to close that could be explored. This is just what has worked best with what we've tried so far.

Please test enjoy and report back.

 

Совершенствование специализации...

Сегодня я провел пару часов за чтением книг по C++, пришел домой и успел сделать несколько улучшений в этой программе...

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

Сейчас я вижу еще много чего интересного...

Хорошо учиться новому!

Файлы:
 

Build 1006

поблагодарил всех за поддержку,

немного упорядочил переменные,

добавил список "дел" в нижней части кода, для тех, кто хочет помочь в разработке,

еще немного почистил, это становилось безумием...

Файлы:
 

Не всегда можно доверять тестеру

Это произойдет, если он будет работать в реальном времени?

также

Несмотря на использование трейлинг-стопа, меня удивляет, что я никогда не вижу изменений ордеров в отчетах тестера.

 

Build 1010

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

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

Я не знаю, почему он обновился до GoGetShorts-2 Я не говорил ему сделать это (я думаю, ), все, что я сделал, это изменил номер сборки... возможно, теперь он будет называть себя -3?

В любом случае... Я стремлюсь к прогрессу, а не к совершенству, но мне нравится прогресс.

наслаждайтесь

Файлы:
 

Build 1020

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

Думаю, вы видите, к чему я стремлюсь... сделать каждый сигнал полностью настраиваемым...

Из того, что я вижу в сигнале №1, его вероятность выше, если вы не требуете от него слишком многого. Он срабатывает не очень часто, но когда срабатывает, кажется, что это здорово.

Если вы посмотрите на миниатюру 2.11p, то увидите, что сигнал №1 срабатывает двумя ордерами в первый раз и тремя ордерами во второй раз... Я установил maxorder на три... Похоже, что он будет выставлять только один ордер на бар или что-то в этом роде, и что он должен был опуститься ниже своего параметра 'offave', прежде чем он смог выставить третий ордер в первой серии.....

Есть ли способ обойти это, чтобы если я разрешаю 3 ордера, я получал три ордера? И еще одна вещь: когда я разрешаю 2 или 3 ордера в серии, второй и третий ордера не могут быть открыты так же хорошо, чтобы выиграть, они всегда отстают на несколько пунктов, потому что он не решается открыть их до следующего бара.....

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

 

Видите... вы становитесь "экспертом" сейчас... очень скоро вы станете "экспертом-советником"... и тогда вас можно будет применять непосредственно к графикам.

На самом деле... поздравляю... ваше упорство достойно похвалы. Разве вы не рады, что выучили этот материал?

Удачи.

 

Go Get Longs build 1.0

Этот следующий билд точно такой же, как и версия 2.11 Go Get Shorts, за исключением того, что я ничего не делал с настройками. Я просто сделал код, чтобы спасти любого, кто возьмется за этот проект. С лонгами я сделал вот так. Я еще не переделал логику сигналов на покупку, поэтому я не ожидаю, что это будет работать.

Файлы:
gogetlongs.mq4  15 kb
 

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

например...

https://www.mql5.com/en/forum

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

функция превыше красоты?

 

Честно говоря, я не уверен, что смогу вам помочь. Во-первых, потому что для этого мне нужно потратить время, а оно у меня сейчас поджимает. Во-вторых, потому что до сих пор я позволял "индикаторам" делать все рисунки и никогда не использовал советников для этого. Это возможно, и я думаю, что теория та же самая.

Я думаю, что Codersguru написал главу о рисовании линий, стрелок и т.д. Попробуйте прочитать ее.

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

 

Привет

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

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