Лосяш 3 Share Posted September 13, 2013 Нужен скрипт/советник, который бы отслеживал процентное отношение суммарной прибыли/убытка к балансу и закрывал открытые ордера при достижении настраиваемого процента. Пример: баланс 100 000, открыты 5 ордеров, одни с убытками, другие с прибылью, не важно. Важно суммарная прибыль/убыток, где значение равно -10 000. Предположим в настройках скрипта выставлено пороговое процентное значение равное 15. значит при достижении суммарного убытка по всем лотам в 15 000 закроются все лоты. Искал в МКЛ4, но к сожалению не нашел. Поиски свои продолжу, но вдруг у кого-то недалеко лежит, поделитесь пожалуйста Link to post Share on other sites
AntFX 6,474 Share Posted September 13, 2013 extern double MaxDD=15; void start() { while(!IsStopped()) { RefreshRates(); if(AccountEquity()/AccountBalance()*100<=100-MaxDD) { for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) { if(OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,100); } else { if(OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,100); } } } } } Sleep(100); } } 1 Link to post Share on other sites
Лосяш 3 Author Share Posted September 13, 2013 я не знаю, чего дальше со всем этим делать. Link to post Share on other sites
AntFX 6,474 Share Posted September 13, 2013 1. Зайдите в редактор торговых стратегий 2. Создайте новый скрипт 3. Замените код в редакторе этим кодом 4. Откомпилируйте 5. Пользуйтесь. Если на каком-то этапе возникнут проблемы, опишите их подробнее. 1 Link to post Share on other sites
Лосяш 3 Author Share Posted September 13, 2013 Вроде получилось и скрипт прикрутился. Я так понимаю, что процент я меняю в коде, вместо 15 прописываю любую свою цифру, верно? Link to post Share on other sites
AntFX 6,474 Share Posted September 13, 2013 Вроде получилось и скрипт прикрутился. Я так понимаю, что процент я меняю в коде, вместо 15 прописываю любую свою цифру, верно? Верно. Можете в начало кода добавить строчку #property show_inputs Тогда скрипт будет каждый раз выводить окно с вводом этого параметра перед запуском. 1 Link to post Share on other sites
Лосяш 3 Author Share Posted September 13, 2013 Спасибо огромное! а можно еще немного понаглеть? все таки пятница тринадцатое сегодня, мечты сбываются. Мне бы еще в левый уголок циферки, показывающие, сколько процентов составляет прибыль/убыток от баланса в текущее время. Или это с моей стороны перебор? Link to post Share on other sites
AntFX 6,474 Share Posted September 13, 2013 Спасибо огромное! а можно еще немного понаглеть? все таки пятница тринадцатое сегодня, мечты сбываются. Мне бы еще в левый уголок циферки, показывающие, сколько процентов составляет прибыль/убыток от баланса в текущее время. Или это с моей стороны перебор? В пятницу 13 сбываются мечты другого рода, ну да ладно #property show_inputs extern double MaxDD=15; void start() { while(!IsStopped()) { RefreshRates(); if(AccountEquity()/AccountBalance()*100<=100-MaxDD) { for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)) { if(OrderType()==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),Bid,100); } else { if(OrderType()==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),Ask,100); } } } } } Comment("Процент прибыли/убытка: ",DoubleToStr(AccountEquity()/AccountBalance()*100-100,2),"%"); Sleep(100); } Comment(""); } 1 Link to post Share on other sites
Лосяш 3 Author Share Posted September 13, 2013 ВАУ!!!!!! РАБОТАЕТ!!!! Вы мой кумир навеки!!! И пусть темные силы добавят Вам профита Link to post Share on other sites
AntFX 6,474 Share Posted September 13, 2013 ВАУ!!!!!! РАБОТАЕТ!!!! Вы мой кумир навеки!!! И пусть темные силы добавят Вам профита Спасибо 1 1 1 Link to post Share on other sites
КАЙ 22 Share Posted September 13, 2013 15 это тысячи ? пипсы ? проценты ? Время - главный фактор, цена роли почти не играет. Link to post Share on other sites
widjio 36 Share Posted September 13, 2013 ВАУ!!!!!! РАБОТАЕТ!!!! Вы мой кумир навеки!!! И пусть темные силы добавят Вам профита СПАСИБО Fais ce que tu dois, et advienne qui pourra. Link to post Share on other sites
AntFX 6,474 Share Posted September 13, 2013 Не думал, что такая банальность может многим пригодиться. Раз уж пошла такая пьянка, вот вариант с контролем исполнения ордеров. Добавил также возможность закрытия по достижению процента прибыли ProfitTarget. Если MaxDD меньше, либо равно 0, то опция закрытия при убытке не работает. Соответственно и если ProfitTarget меньше либо равно 0, то опция закрытия при прибыли не работает. Также добавил опцию удаления всех отложенных ордеров. Архив распаковать в папку MetaTrader-а, файлы сами займут свои места. Название скрипта - CloseAllMaxDD. CloseAllMaxDD.rar 1 Link to post Share on other sites
AlexVic 12 Share Posted October 23, 2013 Антон, а вот такая еще мысль. Закрытие по общей прибыли - отличная мысль, а можно ли добавить функцию трала? Например выставляется минимальное значение профита, предположим 5%. При достижении указанной прибыли ордера не закрываются, а скрипт позволяет прибыли уйти выше, но при обратном движении закрывает на 5%. А если прибыль уходит выше, то прибыль траллится например по 1% (задается программно). С уважением, AlexVic Мониторинг ПАММа http://pammin.ru/pamm/246594 Link to post Share on other sites
AntFX 6,474 Share Posted October 23, 2013 Антон, а вот такая еще мысль. Закрытие по общей прибыли - отличная мысль, а можно ли добавить функцию трала? Например выставляется минимальное значение профита, предположим 5%. При достижении указанной прибыли ордера не закрываются, а скрипт позволяет прибыли уйти выше, но при обратном движении закрывает на 5%. А если прибыль уходит выше, то прибыль траллится например по 1% (задается программно). Чем, по-вашему, трал в процентах лучше традиционного трала в пунктах? 1 Link to post Share on other sites
AlexVic 12 Share Posted October 23, 2013 Чем, по-вашему, трал в процентах лучше традиционного трала в пунктах? Здесь ключевым моментом является процентное отношение суммарной прибыли к балансу без привязки к валютным парам, объемам сделок и их прибыльности/убыточности по-отдельности. Возьмем для примера вчерашний день. Из-за сильных движений цен лосей понахватали практически все, темы с последними сообщениями Памм-сервиса появлялись регулярно. Предположим, у меня на момент увеличения волатильности были открыты позиции по нескольким валютным парам, суммарная прибыль например 7%, и при движении цен одни позиции начали увеличиваться в цене, другие уменьшаться. Контролировать одновременно все ордера нереально, на каждый ордер вешать трал тоже бесперспективное занятие, так как близкий трал бессмыслен, а из-за длинного возможна потеря значительной части прибыли. А тут можно было бы ограничить суммарную прибыль равную 6%, навесить трал с отставанием 0,5% и пусть он тралит суммарную прибыль. На мой взгляд, таким образом исключается человеческий фактор с пересиживанием, исключаются кривые дрожащие руки и прочая мутатень. Можно так, а? ЗЫ. У меня данный скрипт ассоциируется с отложенными ордерами. Бай стоп - прибыль дойдет до определенного уровня прибыли и продолжит движение дальше вверх, которое уже траллится. Бай лимит - дойдет до определенного уровня прибыли и остановит все позиции (реализовано) Сеел лимит - дойдет до определенного уровня убытка и остановит все позиции (реализовано) Сеел стоп - здесь все понятно, такая функция подойдет сливаторам всяким (мне не надо) С уважением, AlexVic Мониторинг ПАММа http://pammin.ru/pamm/246594 Link to post Share on other sites
AntFX 6,474 Share Posted October 23, 2013 Здесь ключевым моментом является процентное отношение суммарной прибыли к балансу без привязки к валютным парам, объемам сделок и их прибыльности/убыточности по-отдельности. Теперь понял. Подумаю, что можно сделать. 1 Link to post Share on other sites
Wowa 8 Share Posted October 23, 2013 Чем, по-вашему, трал в процентах лучше традиционного трала в пунктах? Например, чтобы использовать те же значения для CFD Мы сами знаем, что проблема не имеет решения. Мы хотим знать, как ее решать. (с) К. Хунта Link to post Share on other sites
AntFX 6,474 Share Posted October 23, 2013 (edited) Можно так, а? Ну вот, что-то такое забацал. Скрипт теперь называется sOrdersControl. Новые параметры: extern bool UseTrail=false; // использовать трал по эквити extern double TrailStart=5; // начало трала в процентнах прибыли extern double TrailSize=0; // расстояние до уровня трала в процентах. Если 0 или меньше, то равно TrailStart extern double TrailStep=0.1; // шаг трала. Например если равно 3, то на следующий уровень трал "перескочит" только когда прибыль вырастет ещё на 3% extern int SafeTime=300; // количество секунд, в течение которых скрипт может оставаться неактивным, но продолжать "помнить" установленный ранее уровень трала. То есть, например, работает трал, установлен уже какой-то уровень "стопа по тралу", потом терминал или компьютер внезапно перезагружается, или просто скрипт убирается, а потом снова запускается - в такой ситуации, если с момента, когда скрипт в последний раз работал, прошло менее SafeTime секунд, скрипт "вспомнит" прошлый уровень трала. Разумеется, если номер счета все тот же и присутствуют открытые ордера. Если SafeTime Протестировал только мельком, так что перед использованием рекомендуется тщательный тест на демо. Если что не так, пишите в этой ветке. sOrdersControl.rar Edited October 23, 2013 by AntFX 1 Link to post Share on other sites
AlexVic 12 Share Posted October 23, 2013 ВАУ!!!!! спасибо!!! ща потестим на ночь глядя. Теперь у вас два кумира. Кидайте в мой ПАММ 100 рублей, я тыщу накину С уважением, AlexVic Мониторинг ПАММа http://pammin.ru/pamm/246594 Link to post Share on other sites
mixanik.rus 0 Share Posted January 1, 2014 тут может кто нить написать советника или скрипт? есть идея но для гуру в трейдинге она может наверное показаться утопией или чем то не выполнимым. просто я в начале пути. хотелось бы узнать мнение профи. Link to post Share on other sites
Ugar68 372 Share Posted January 1, 2014 тут может кто нить написать советника или скрипт? есть идея но для гуру в трейдинге она может наверное показаться утопией или чем то не выполнимым. просто я в начале пути. хотелось бы узнать мнение профи. Нужно подробно описать что нужно здесь. Если кому то из программистов понравится идея, напишут. Ну а если это бред, то и писать не за чем. Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку. Чужие программы не переделываю. Link to post Share on other sites
Recommended Posts