Jump to content

Ищу скрипт/советник


Лосяш

Recommended Posts

Лосяш

Нужен скрипт/советник, который бы отслеживал процентное отношение суммарной прибыли/убытка к балансу и закрывал открытые ордера при достижении настраиваемого процента.

 

Пример: баланс 100 000, открыты 5 ордеров, одни с убытками, другие с прибылью, не важно. Важно суммарная прибыль/убыток, где значение равно -10 000. Предположим в настройках скрипта выставлено пороговое процентное значение равное 15. значит при достижении суммарного убытка по всем лотам в 15 000 закроются все лоты.

 

Искал в МКЛ4, но к сожалению не нашел. Поиски свои продолжу, но вдруг у кого-то недалеко лежит, поделитесь пожалуйста

Link to post
Share on other sites
AntFX
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
Лосяш

я не знаю, чего дальше со всем этим делать.

Link to post
Share on other sites
AntFX

Печалька.


1

Link to post
Share on other sites
Лосяш

поможете?

Link to post
Share on other sites
AntFX

1. Зайдите в редактор торговых стратегий

2. Создайте новый скрипт

3. Замените код в редакторе этим кодом

4. Откомпилируйте

5. Пользуйтесь.

 

Если на каком-то этапе возникнут проблемы, опишите их подробнее.


1

Link to post
Share on other sites
Лосяш

Вроде получилось и скрипт прикрутился.

 

Я так понимаю, что процент я меняю в коде, вместо 15 прописываю любую свою цифру, верно?

Link to post
Share on other sites
AntFX
Вроде получилось и скрипт прикрутился.

 

Я так понимаю, что процент я меняю в коде, вместо 15 прописываю любую свою цифру, верно?

 

Верно. Можете в начало кода добавить строчку

 

#property show_inputs

 

Тогда скрипт будет каждый раз выводить окно с вводом этого параметра перед запуском.


1

Link to post
Share on other sites
Лосяш

Спасибо огромное!

 

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

 

Мне бы еще в левый уголок циферки, показывающие, сколько процентов составляет прибыль/убыток от баланса в текущее время.

 

Или это с моей стороны перебор?

Link to post
Share on other sites
AntFX
Спасибо огромное!

 

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

 

Мне бы еще в левый уголок циферки, показывающие, сколько процентов составляет прибыль/убыток от баланса в текущее время.

 

Или это с моей стороны перебор?

 

В пятницу 13 сбываются мечты другого рода, ну да ладно :mrgreen:

 

#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
Лосяш

ВАУ!!!!!! РАБОТАЕТ!!!!

 

Вы мой кумир навеки!!!

 

И пусть темные силы добавят Вам профита

Link to post
Share on other sites
AntFX
ВАУ!!!!!! РАБОТАЕТ!!!!

 

Вы мой кумир навеки!!!

 

И пусть темные силы добавят Вам профита

 

Спасибо :mrgreen:

  • Thanks 1
  • Downvote 1

1

Link to post
Share on other sites
КАЙ

15 это тысячи ? пипсы ? проценты ?


Время - главный фактор, цена роли почти не играет.

Link to post
Share on other sites
AntFX

последнее


1

Link to post
Share on other sites
widjio
ВАУ!!!!!! РАБОТАЕТ!!!!

 

Вы мой кумир навеки!!!

 

И пусть темные силы добавят Вам профита

 

:jaza: СПАСИБО:agree:


Fais ce que tu dois, et advienne qui pourra.

Link to post
Share on other sites
AntFX

Не думал, что такая банальность может многим пригодиться. Раз уж пошла такая пьянка, вот вариант с контролем исполнения ордеров. Добавил также возможность закрытия по достижению процента прибыли ProfitTarget. Если MaxDD меньше, либо равно 0, то опция закрытия при убытке не работает. Соответственно и если ProfitTarget меньше либо равно 0, то опция закрытия при прибыли не работает. Также добавил опцию удаления всех отложенных ордеров. Архив распаковать в папку MetaTrader-а, файлы сами займут свои места. Название скрипта - CloseAllMaxDD.

CloseAllMaxDD.rar


1

Link to post
Share on other sites
  • 1 month later...
AlexVic

Антон, а вот такая еще мысль. Закрытие по общей прибыли - отличная мысль, а можно ли добавить функцию трала? Например выставляется минимальное значение профита, предположим 5%. При достижении указанной прибыли ордера не закрываются, а скрипт позволяет прибыли уйти выше, но при обратном движении закрывает на 5%. А если прибыль уходит выше, то прибыль траллится например по 1% (задается программно).


С уважением, AlexVic

Мониторинг ПАММа http://pammin.ru/pamm/246594

Link to post
Share on other sites
AntFX
Антон, а вот такая еще мысль. Закрытие по общей прибыли - отличная мысль, а можно ли добавить функцию трала? Например выставляется минимальное значение профита, предположим 5%. При достижении указанной прибыли ордера не закрываются, а скрипт позволяет прибыли уйти выше, но при обратном движении закрывает на 5%. А если прибыль уходит выше, то прибыль траллится например по 1% (задается программно).

 

Чем, по-вашему, трал в процентах лучше традиционного трала в пунктах?


1

Link to post
Share on other sites
AlexVic
Чем, по-вашему, трал в процентах лучше традиционного трала в пунктах?

 

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

 

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

А тут можно было бы ограничить суммарную прибыль равную 6%, навесить трал с отставанием 0,5% и пусть он тралит суммарную прибыль. На мой взгляд, таким образом исключается человеческий фактор с пересиживанием, исключаются кривые дрожащие руки и прочая мутатень.

 

Можно так, а?

 

ЗЫ. У меня данный скрипт ассоциируется с отложенными ордерами.

Бай стоп - прибыль дойдет до определенного уровня прибыли и продолжит движение дальше вверх, которое уже траллится.

Бай лимит - дойдет до определенного уровня прибыли и остановит все позиции (реализовано)

Сеел лимит - дойдет до определенного уровня убытка и остановит все позиции (реализовано)

Сеел стоп - здесь все понятно, такая функция подойдет сливаторам всяким (мне не надо)


С уважением, AlexVic

Мониторинг ПАММа http://pammin.ru/pamm/246594

Link to post
Share on other sites
AntFX
Здесь ключевым моментом является процентное отношение суммарной прибыли к балансу без привязки к валютным парам, объемам сделок и их прибыльности/убыточности по-отдельности.

Теперь понял. Подумаю, что можно сделать.


1

Link to post
Share on other sites
Wowa
Чем, по-вашему, трал в процентах лучше традиционного трала в пунктах?

Например, чтобы использовать те же значения для CFD


Мы сами знаем, что проблема не имеет решения. Мы хотим знать, как ее решать. (с) К. Хунта

Link to post
Share on other sites
AntFX
Можно так, а?

Ну вот, что-то такое забацал. Скрипт теперь называется 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 by AntFX

1

Link to post
Share on other sites
AlexVic

ВАУ!!!!! спасибо!!! ща потестим на ночь глядя. Теперь у вас два кумира. Кидайте в мой ПАММ 100 рублей, я тыщу накину


С уважением, AlexVic

Мониторинг ПАММа http://pammin.ru/pamm/246594

Link to post
Share on other sites
  • 2 months later...
mixanik.rus

тут может кто нить написать советника или скрипт? есть идея но для гуру в трейдинге она может наверное показаться утопией или чем то не выполнимым. просто я в начале пути. хотелось бы узнать мнение профи.

Link to post
Share on other sites
Ugar68
тут может кто нить написать советника или скрипт? есть идея но для гуру в трейдинге она может наверное показаться утопией или чем то не выполнимым. просто я в начале пути. хотелось бы узнать мнение профи.

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


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

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

    No registered users viewing this page.

×
×
  • Create New...