Sergo 0 Share Posted January 22, 2003 Общаюсь с МетаТрейдером третий день, может не вижу того что под носом, но все же почему при стопе к примеру 40 у меня получаются минуса намного больше? Это стандартный МАСD поэтому ошибки в коде быть не может. Link to post Share on other sites
Alpari 0 Share Posted January 22, 2003 Ошибки никакой нет. Посмотрите в код эксперта. Эксперт не сразу выставляет стоп в 40 пипсов, а лишь когда прибыль по позиции превысила 40 пипсов. Поэтому при таком алгоритме эксперта вполне можно получить лосс более 40 пунктов. С уважением, ДЦ "Альпари" С уважением, Администрация ДЦ \"АЛЬПАРИ\". Link to post Share on other sites
Виктор 0 Share Posted January 22, 2003 Ошибки никакой нет. Посмотрите в код эксперта. Эксперт не сразу выставляет стоп в 40 пипсов, а лишь когда прибыль по позиции превысила 40 пипсов. Поэтому при таком алгоритме эксперта вполне можно получить лосс более 40 пунктов. То есть вы хотите сказать, что стоп не устанавливается во время открытия позиции? Тогда почему в других стратегиях происходит тоже самое? Link to post Share on other sites
Alpari 0 Share Posted January 23, 2003 То есть вы хотите сказать, что стоп не устанавливается во время открытия позиции? Да. Посмотрите внимательно в текст эксперта. Но Вы можете его подправить так, как Вам нужно. С уважением, ДЦ "Альпари" С уважением, Администрация ДЦ \"АЛЬПАРИ\". Link to post Share on other sites
Sergo 0 Author Share Posted January 23, 2003 Посмотрел внимательно, прочел тутор по написанию. Вы имели ввиду место в самом верху? Link to post Share on other sites
Sergo 0 Author Share Posted January 23, 2003 Заранее приношу прощения за прогамерскую неграмотность, но с логикой проблем нет. Вот цитата алгоритма из вашего тутора: нужно ли закрыть? Условие выхода из длииной позиции: при пересечении 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 0 Author Share Posted January 23, 2003 Ладно, свой надо писать, а не претензии предъявлять. Протестил я его для ознакомления, работает очень загадочно, условия не выполняет. К примеру открывается на бай, через несколько часов, когда уже миллионы раз нужно было закрыться и селить ничего этого не происходит, но зато лось больше 100 пунктов. Link to post Share on other sites
Alpari 0 Share Posted January 23, 2003 Смотрим как развивалась наша дисскуссия: Вы: Общаюсь с МетаТрейдером третий день, может не вижу того что под носом, но все же почему при стопе к примеру 40 у меня получаются минуса намного больше? Это стандартный МАСD поэтому ошибки в коде быть не может. Я: Ошибки никакой нет. Посмотрите в код эксперта. Эксперт не сразу выставляет стоп в 40 пипсов, а лишь когда прибыль по позиции превысила 40 пипсов. Поэтому при таком алгоритме эксперта вполне можно получить лосс более 40 пунктов. Вы: То есть вы хотите сказать, что стоп не устанавливается во время открытия позиции? Тогда почему в других стратегиях происходит тоже самое? Я: Да. Посмотрите внимательно в текст эксперта. Но Вы можете его подправить так, как Вам нужно. Теперь смотрим на алгоритм эксперта. Когда он закрывает позиции? В двух случаях: 1. Сработал трейлинг стоп. Но он может никогда не сработать, т.к. он может быть никогда не будет выставлен, т.к. выставляется только в случае получения прибыли больше величины трейлинг стопа. 2. Выполнится определенное условие по MACD. Но это условие может выполнится и когда убытки превысят 40 пипсов. Таким образом, в тексте эксперта НЕТ НИЧЕГО ТАКОГО, что могло бы ему помешать получить лосс более 40 пипсов. P.S. Эксперты в стандартной поставке призваны не озолотить Вас, а НАУЧИТЬ, как правильно написать свой эксперт. С уважением, ДЦ "Альпари" С уважением, Администрация ДЦ \"АЛЬПАРИ\". Link to post Share on other sites
Alpari 0 Share Posted January 23, 2003 Протестил я его для ознакомления, работает очень загадочно, условия не выполняет. К примеру открывается на бай, через несколько часов, когда уже миллионы раз нужно было закрыться и селить ничего этого не происходит, но зато лось больше 100 пунктов. Пример неправильной работы приведите, плз. P.S. Эксперты не ошибаются С уважением, ДЦ "Альпари" С уважением, Администрация ДЦ \"АЛЬПАРИ\". Link to post Share on other sites
Sergo 0 Author Share Posted January 24, 2003 Уважаемы ДЦ, Поверьте, что я ни на секунду не надеялся, что эксперт приведенный для примера озолотит меня. Также я не собирался склочничать и ловить блох в тексте кода - у меня для этого не хватает знаний и нет желания. Чему то я уже научился и буду учиться дальше. Согласен, что эксперт работает по заданному алгоритму, который меня и смутил. Потому как я бы не сделал того что иногда делал он. Очень приятно, что Вы быстро и подробно отвечаете на все, пусть даже глупые и некоректные сообщения. Спасибо, надеюсь, на Вашу дальнейшую информационную поддержку. Привер неправильной работы я не привожу, так как считаю свое заявление по этому поводу неподготовленным, приношу свои извинения. Link to post Share on other sites
Sergo 0 Author Share Posted February 17, 2003 Вот строка из Вашего МАСD (чтобы далеко не ходить) SetOrder(OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,RED); Как я понял ноль является значением стопа. Для того чтобы он был к примеру 50 пунктов, мне тут нужно забить цифру 50? Если да, то в условиях выхода из позиции нужно что то дополнительно вписывать? Если да, то как? StopLoss=50? Link to post Share on other sites
AlexSilver 228 Share Posted February 17, 2003 Вот строка из Вашего МАС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 0 Author Share Posted February 18, 2003 2AlexSilver Большое спасибо, ждите новых вопросов, я никогда не занимался програмированием Link to post Share on other sites
Recommended Posts