Советники: Martin - страница 4

 
forex093:

Уважаемый le107_

Спасибо за интересный советник.
Еще пара вопросов:

1. Если я собираюсь торговать на 2-х парах, нужно оптимизировать половину депо, на одной и второй парах?
2. Если я выставляю на график свои ставки, то сова их подхватывает. Как этого избежать? 
Спасибо.

P.S.

На центовом счете, депо 3000с - Доход в сутки ~30-50 центов. Это нормально? )

1. Нет. Для этого существует просадка (50%) см. рис. 3 в шапке.

2. Никак. Не пользоваться советником.

P.S. Чем выше депо, тем выше доход. Оптимальный контроль риска - перечитай все обсуждения всех пользователей на заметку, будет понятней.

 
Извините, добавил 3-й вопрос.
Когда вы отвечали, я видимо еще редактировал сообщение.
3. В тестере ставка достигает ~200.00 в реале такая максимальная ставка запрещена. Как быть?
 
Не пойму, сколько не оптимизирую, никак не могу получить хоть какую-либо стабильность. Постоянно слив. На каждый месяц приемлемы совершенно разные параметры. Как вы вообще умудрились добиться показателей на графиках в начале???
 
forex093:
Извините, добавил 3-й вопрос.
Когда вы отвечали, я видимо еще редактировал сообщение.
3. В тестере ставка достигает ~200.00 в реале такая максимальная ставка запрещена. Как быть?

В коде советника в строчках:

   if (bl > MarketInfo(Symbol(), 25)) bl = MarketInfo(Symbol(), 25);

и

   if (sl > MarketInfo(Symbol(), 25)) sl = MarketInfo(Symbol(), 25);

Заменить на:

    if (bl >"Максимальная ставка") bl = "Максимальная ставка"; // где "Максимальная ставка" свое значение максимальной ставки, например 10 (без ковычек)

    if (sl >"Максимальная ставка") sl = "Максимальная ставка"; // где "Максимальная ставка" свое значение максимальной ставки, например 10 (без ковычек) 

Пример:

    if (bl > 10) bl = 10;  

   bl = NormalizeDouble(l * MathPow(Exp, CountBuyTrades()), 2);
   if (bl < MarketInfo(Symbol(), 23)) bl = MarketInfo(Symbol(), 23);
   if (bl > MarketInfo(Symbol(), 25)) bl = MarketInfo(Symbol(), 25); // <- Здесь
   sl = NormalizeDouble(l * MathPow(Exp, CountSellTrades()), 2);
   if (sl < MarketInfo(Symbol(), 23)) sl = MarketInfo(Symbol(), 23);
   if (sl > MarketInfo(Symbol(), 25)) sl = MarketInfo(Symbol(), 25); // <- и здесь
 

С настройками как на скрине в первом посте получается оч неплохо ( только ТП на 10 поменял, депо 5000), на фунтодолларе за этот год без сливов.. но с парой просадок по эквити, 39%.. поставлю пожалуй как доп к своей стратегии, только хвосты более 50 usd обрезать буду вручную.

Респект автору! 

 
Здравствуйте.
А не могли бы вы вынести в настройки, установку максимальной ставки?
Спасибо!
 
forex093:
Здравствуйте.
А не могли бы вы вынести в настройки, установку максимальной ставки?
Спасибо!

Тогда в самом начале нужно добавить (чтоб не мешало основным, где-нибудь под "extern int MaxTrades = 40;"):

extern double MaxLot = 10;

А в тех строчках вместо:

if (bl > MarketInfo(Symbol(), 25)) bl = MarketInfo(Symbol(), 25);

и 

if (sl > MarketInfo(Symbol(), 25)) sl = MarketInfo(Symbol(), 25);

написать:

if (bl > MaxLot) bl = MaxLot;

...

if (sl > MaxLot) sl = MaxLot; 

 и тогда появится в настройках.

 
Если cделать так, как сказали вы, при компиляции выдает ошибку:
Строка 77-   if (CountBuyTrades() > 0) b = FindLastBuyPrice() - In * Point;
 
forex093:
Если cделать так, как сказали вы, при компиляции выдает ошибку:
Строка 77-   if (CountBuyTrades() > 0) b = FindLastBuyPrice() - In * Point;

Не может там быть ошибки, сравни с оригиналом, а потом меняй строки. У меня нормально компиляция прошла.

Я предыдущий ответ перечитывал, у меня там была опечатка - лишняя скобка в конце - if (sl > MaxLot) sl = MaxLot); . Потом правил. Из-за этой скобки может быть ошибка
 

Файлы:
Martin.mq4  15 kb
 
chipo:

Выставляет слишком много ордеров - как бы их уменьшить до 4 -5, а так  нормально тянет

да мало это ещё. если тестируется год, то норма - раз в 10-20 поболе и результат будет раз в 10 лучше.

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

Удачи!

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