Jump to content

Непонятка со стопом в эксперте?


Recommended Posts

Sergo

Общаюсь с МетаТрейдером третий день, может не вижу того что под носом, но все же почему при стопе к примеру 40 у меня получаются минуса намного больше? Это стандартный МАСD поэтому ошибки в коде быть не может.

Link to post
Share on other sites
Alpari

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

 

С уважением,

ДЦ "Альпари"


С уважением,

Администрация ДЦ \"АЛЬПАРИ\".

Link to post
Share on other sites
Виктор

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

 

То есть вы хотите сказать, что стоп не устанавливается во время открытия позиции?

Тогда почему в других стратегиях происходит тоже самое?

Link to post
Share on other sites
Alpari

То есть вы хотите сказать, что стоп не устанавливается во время открытия позиции?

 

Да. Посмотрите внимательно в текст эксперта. Но Вы можете его подправить так, как Вам нужно.

 

С уважением,

ДЦ "Альпари"


С уважением,

Администрация ДЦ \"АЛЬПАРИ\".

Link to post
Share on other sites
Sergo

Посмотрел внимательно, прочел тутор по написанию. Вы имели ввиду место в самом верху?

Link to post
Share on other sites
Sergo

Заранее приношу прощения за прогамерскую неграмотность, но с логикой проблем нет. Вот цитата алгоритма из вашего тутора:

 

нужно ли закрыть?

Условие выхода из длииной позиции: при пересечении MACD со своей сигнальной линией, когда MACD выше нуля, идет вверху вниз, а его снизу вверх пересекает сигнальная линия.

 

If MacdCurrent>0 and MacdCurrent<SignalCurrent and

MacdPrevious>SignalPrevious and MacdCurrent>(MACDCloseLevel*Point) then

{

CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet);

Exit; // выходим

};

 

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

Link to post
Share on other sites
Sergo

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

Link to post
Share on other sites
Alpari

Смотрим как развивалась наша дисскуссия:

 

Вы:

Общаюсь с МетаТрейдером третий день, может не вижу того что под носом, но все же почему при стопе к примеру 40 у меня получаются минуса намного больше? Это стандартный МАСD поэтому ошибки в коде быть не может.

 

Я:

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

 

Вы:

То есть вы хотите сказать, что стоп не устанавливается во время открытия позиции?

Тогда почему в других стратегиях происходит тоже самое?

 

Я:

Да. Посмотрите внимательно в текст эксперта. Но Вы можете его подправить так, как Вам нужно.

 

Теперь смотрим на алгоритм эксперта. Когда он закрывает позиции? В двух случаях:

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

2. Выполнится определенное условие по MACD. Но это условие может выполнится и когда убытки превысят 40 пипсов.

 

Таким образом, в тексте эксперта НЕТ НИЧЕГО ТАКОГО, что могло бы ему помешать получить лосс более 40 пипсов.

 

P.S. Эксперты в стандартной поставке призваны не озолотить Вас, а НАУЧИТЬ, как правильно написать свой эксперт.

 

С уважением,

ДЦ "Альпари"


С уважением,

Администрация ДЦ \"АЛЬПАРИ\".

Link to post
Share on other sites
Alpari

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

Пример неправильной работы приведите, плз.

 

P.S. Эксперты не ошибаются :)

 

С уважением,

ДЦ "Альпари"


С уважением,

Администрация ДЦ \"АЛЬПАРИ\".

Link to post
Share on other sites
Sergo

Уважаемы ДЦ,

 

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

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

 

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

Link to post
Share on other sites
  • 4 weeks later...
Sergo

Вот строка из Вашего МАСD (чтобы далеко не ходить)

 

SetOrder(OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,RED);

 

Как я понял ноль является значением стопа. Для того чтобы он был к примеру 50 пунктов, мне тут нужно забить цифру 50? Если да, то в условиях выхода из позиции нужно что то дополнительно вписывать? Если да, то как? StopLoss=50?

Link to post
Share on other sites
AlexSilver

Вот строка из Вашего МАСD (чтобы далеко не ходить)

 

SetOrder(OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,RED);

 

Как я понял ноль является значением стопа. Для того чтобы он был к примеру 50 пунктов, мне тут нужно забить цифру 50? Если да, то в условиях выхода из позиции нужно что то дополнительно вписывать? Если да, то как? StopLoss=50?

 

Про 0 Вы поняли праивльно. Но посмотрите внимательно, как устанавливается TakeProfit.

Ask+TakeProfit*Point

Соответствующим образом, значит, нужно устанавливать и стоп-лосс. Например:

Bid-StopLoss*Point

В этом случае, Вы сможете устанавливать переменную StopLoss из мастера - там есть такое поле, если мне не изменяет память.

 

 

--

AlexSilver

Жить красиво и с удовольствием!

 

;)


alexsilver

Учу великому, доброму, вечному!.. 

Link to post
Share on other sites
Sergo

2AlexSilver

 

Большое спасибо, ждите новых вопросов, я никогда не занимался програмированием:)

 

 

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...