Статус
Закрыто для дальнейших ответов.

Алекc1234

Местный житель
Здравствуйте. Сделайте, пожалуйста, в этом советнике так, чтобы когда срабатывает отложенный ордер с проскальзыванием, то стоплосс и тейкпрофит бы менялись на величину проскальзывания. То есть, поставился скажем байстоп на 1.2900, тейк - 1.2930, стоп - 1.2870. Сработал байстоп с проскальзыванием в 2 пункта, то есть открылся ордер бай по цене 1.2902. Вот тогда чтобы тейкпрофит поставился бы на 1.2932, а стоплосс на 1.2872, то есть они бы изменились на 2 пункта - на величину проскальзывания...Буду очень благодарен за помощь!

Ну, если никто не берётся за это, то хотя бы подскажите, как в коде написать - Если селлстоп(или байстоп) сработал с проскальзыванием, то новый стоплосс равняется стоплосс плюс проскальзывание.
 

faace45

Новичок форума
Здравствуйте,кто может добавить в експерта функцию - ограничения времени работы експерта,и чтобы этот параметр можно было менять(например с 9 до 15 часов).Заранее спасибо.
Посмотреть вложение experts.rar
 

Алекc1234

Местный житель
Здравствуйте. Сделайте, пожалуйста, в этом советнике так, чтобы когда срабатывает отложенный ордер с проскальзыванием, то стоплосс и тейкпрофит бы менялись на величину проскальзывания. То есть, поставился скажем байстоп на 1.2900, тейк - 1.2930, стоп - 1.2870. Сработал байстоп с проскальзыванием в 2 пункта, то есть открылся ордер бай по цене 1.2902. Вот тогда чтобы тейкпрофит поставился бы на 1.2932, а стоплосс на 1.2872, то есть они бы изменились на 2 пункта - на величину проскальзывания...Буду очень благодарен за помощь!

Если никто не берётся за это, то хотя бы подскажите, как в коде написать - Если селлстоп(или байстоп) сработал с проскальзыванием, то новый стоплосс равняется стоплосс плюс проскальзывание.
 

eevviill

Заблокирован
Ну, если никто не берётся за это, то хотя бы подскажите, как в коде написать - Если селлстоп(или байстоп) сработал с проскальзыванием, то новый стоплосс равняется стоплосс плюс проскальзывание.
Это не реально. Только если модифицировать ордер после открытия.
 

Алекc1234

Местный житель
Это не реально. Только если модифицировать ордер после открытия.

Да, я об этом и говорю. Ордер байстоп(или селлстоп) открылся с проскальзыванием, скажем в 2 пункта,и тогда стоплосс модифицируется на эти же 2 пункта. Это возможно написать в коде?
 

xpower

Интересующийся
Помогите с советником Пожалуйста

Помогите с советником Пожалуйста!

Пожалуйста Уважаемые ГУРУ Форекса.

Соберите автоматический советник на основе индикатора forex-glaz-v8.3

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

Мысль такая: Создать советник, который при появлении на графике ораньжевого кружка с синей точкой (тоесть на самой высокой цене по мнению индикатора) сразу открывал ордер селл и закрывал все ранее открытые бай и наоборот при появлении на графике ораньжевого кружка с красной точкой открывал бай и закрывал все селл.

При том что он немного перерисовывает, будут небольшие просадки, но вобщем мы получим хороший профит.

Можно конечно усложнить и сделать чтоб сел и бай открывались и закрывались еще и на простых точках (без ораньжевых кружков), только тогда нужно ставить ограничение на процент профита по закрытию.

В регулируемых настройках поставить возможность задавать лот

Основной вид в окне графика, хотелось бы оставить как есть.

Уважаемые Профессионалы! Не сочтите за наглость...:cr: Помогите пожалуйста!:idea:

Во вложении даю файлик индикатора как он есть у меня (в mq4 формате нетути)
 
Последнее редактирование:

eevviill

Заблокирован
Здравствуйте,кто может добавить в експерта функцию - ограничения времени работы експерта,и чтобы этот параметр можно было менять(например с 9 до 15 часов).Заранее спасибо.
Посмотреть вложение 89348
Это сначала советника.
PHP:
extern string vr = "Время работы";
extern int     StartHour = 8;
extern int     StopHour  = 22;

Это сразу после функции int start(){
PHP:
if(Hour()<StartHour || Hour()>=StopHour) return;
 

Алекc1234

Местный житель
Это не реально. Только если модифицировать ордер после открытия.

Да, я это и имел в виду. Если открылся отложенный ордер(скажем байстоп) с проскальзыванием допустим в 2 пункта, то стоплосс бы модифицировался на эти же 2 пункта. Как такое может выглядеть в коде?
 

eevviill

Заблокирован
Да, я это и имел в виду. Если открылся отложенный ордер(скажем байстоп) с проскальзыванием допустим в 2 пункта, то стоплосс бы модифицировался на эти же 2 пункта. Как такое может выглядеть в коде?
Такого быть не может.
1)В отложенном ордере нет проскальзывания.
2)СЛ и ТП потом можно модифицировать от цены открытия. Но сначало надо открыть ордер, узнать по какой цене он открылся, выставить стопы.
Можно в самом конце советника поставить функцию.
PHP:
void modify_SL_TP_f()
{
//модификация ордера
for(i=OrdersTotal()-1; i>=0; i--)
 {
 OrderSelect(i,SELECT_BY_POS);
 {
 if(OrderMagicNumber()==magic)
 {
 if(Symbol()==OrderSymbol()) 
 {
 if(((OrderTakeProfit()!=OrderOpenPrice()+NormalizeDouble(TakeProfit*Point,Digits) && (OrderStopLoss()!=OrderOpenPrice()-NormalizeDouble(StopLoss*Point,Digits)) ||
 (OrderOpenPrice()-NormalizeDouble(TakeProfit*Point,Digits)) &&  OrderOpenPrice()+NormalizeDouble(StopLoss*Point,Digits))))
 {
 if(OrderType()==OP_BUY)  OrderModify(OrderTicket(),0,OrderOpenPrice()-NormalizeDouble(StopLoss*Point,Digits),OrderOpenPrice()+NormalizeDouble(TakeProfit*Point,Digits),0,CLR_NONE); 
 if(OrderType()==OP_SELL) OrderModify(OrderTicket(),0,OrderOpenPrice()+NormalizeDouble(StopLoss*Point,Digits),OrderOpenPrice()-NormalizeDouble(TakeProfit*Point,Digits),0,CLR_NONE);
 if(OrderType()==OP_BUYSTOP)  OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-NormalizeDouble(StopLoss*Point,Digits),OrderOpenPrice()+NormalizeDouble(TakeProfit*Point,Digits),0,CLR_NONE); 
 if(OrderType()==OP_SELLSTOP) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+NormalizeDouble(StopLoss*Point,Digits),OrderOpenPrice()-NormalizeDouble(TakeProfit*Point,Digits),0,CLR_NONE);
 }
 }
 }
 } 
 }
}

Ну и с самого начала.
PHP:
extern string SL_TP = "Настройки SL&TP";
extern int StopLoss = 20;
extern int TakeProfit = 30;

Не обязательно, но желательно в коде найти все OrderSend и поставить СЛ 0 и ТП 0. 6и7 параметр
 
Последнее редактирование:

Алекc1234

Местный житель
Такого быть не может.
1)В отложенном ордере нет проскальзывания.
2)СЛ и ТП потом можно модифицировать от цены открытия. Но сначало надо открыть ордер, узнать по какой цене он открылся, выставить стопы.

Да, я подразумеваю, что стоплосс и тейкпрофит я уже выставил заранее в отложенном ордере. И вот когда этот отложенный ордер открылся по другой цене(не по той которую я выставил из-за проскальзывания), то тогда и модифицировать СЛ и ТП от цены открытия на величину этого проскальзывания
 

Алекc1234

Местный житель
Такого быть не может.
1)В отложенном ордере нет проскальзывания.
2)СЛ и ТП потом можно модифицировать от цены открытия. Но сначало надо открыть ордер, узнать по какой цене он открылся, выставить стопы.
Можно в самом конце советника поставить функцию.
PHP:
void modify_SL_TP_f()
{
//модификация ордера
for(i=OrdersTotal()-1; i>=0; i--)
 {
 OrderSelect(i,SELECT_BY_POS);
 {
 if(OrderMagicNumber()==magic)
 {
 if(Symbol()==OrderSymbol()) 
 {
 if(((OrderTakeProfit()!=OrderOpenPrice()+NormalizeDouble(TakeProfit*Point,Digits) && (OrderStopLoss()!=OrderOpenPrice()-NormalizeDouble(StopLoss*Point,Digits)) ||
 (OrderOpenPrice()-NormalizeDouble(TakeProfit*Point,Digits)) &&  OrderOpenPrice()+NormalizeDouble(StopLoss*Point,Digits))))
 {
 if(OrderType()==OP_BUY)  OrderModify(OrderTicket(),0,OrderOpenPrice()-NormalizeDouble(StopLoss*Point,Digits),OrderOpenPrice()+NormalizeDouble(TakeProfit*Point,Digits),0,CLR_NONE); 
 if(OrderType()==OP_SELL) OrderModify(OrderTicket(),0,OrderOpenPrice()+NormalizeDouble(StopLoss*Point,Digits),OrderOpenPrice()-NormalizeDouble(TakeProfit*Point,Digits),0,CLR_NONE);
 if(OrderType()==OP_BUYSTOP)  OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-NormalizeDouble(StopLoss*Point,Digits),OrderOpenPrice()+NormalizeDouble(TakeProfit*Point,Digits),0,CLR_NONE); 
 if(OrderType()==OP_SELLSTOP) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+NormalizeDouble(StopLoss*Point,Digits),OrderOpenPrice()-NormalizeDouble(TakeProfit*Point,Digits),0,CLR_NONE);
 }
 }
 }
 } 
 }
}

Ну и с самого начала.
PHP:
extern string SL_TP = "Настройки SL&TP";
extern int StopLoss = 20;
extern int TakeProfit = 30;

Не обязательно, но желательно в коде найти все OrderSend и поставить СЛ 0 и ТП 0. 6и7 параметр

Спасибо огромное, счас попробую вставить в советник
 

golden1

Местный житель
Добрый день eevviill !
Есть ли возможность сделать сову в таком стиле:
при достижении определенного уровня прибыли в целом по счету в валюте депо или в %
(позиции предварительно открываются другим совом или вручную)
выставляется лот по рынку в том же направлении без стопов и тэйков,фиксированный,в проц. от депозита или по экспоненте от общего количества лотов находящихся в рынке.
Спасибо!Жду ответа.
 

Ontario

Местный знаток
eevviill,переделай пожалуйста сов,нужно чтобы профит учитывался только в пунктах а не в долларах,желательно сделать,чтобы тейк был виртуальным.Допустим если у нас есть три усреднения через N пунктов то должно закрыться в совокупности 10 пп в независимости от лота
 

Вложения

  • sovetnik_2012 no Martin_edu (3) (e).mq4
    18 КБ · Просмотры: 38

ANNSchool

Местный житель
поделюсь перспективным советником с торгующим программистом на условиях небольшой правки и доработки, пишите пожалуйста в личку
 

AlexeyVik

Программист mql4 mql5
поделюсь перспективным советником с торгующим программистом на условиях небольшой правки и доработки, пишите пожалуйста в личку
Ты лучше-бы выбрал программиста и предложил ему в личку. Один отказался выбирай другого.
 
Статус
Закрыто для дальнейших ответов.
Верх