Доработка ботов (советников, индикаторов) vol. 2

OSS_5

Активный участник
Привет всем.
Доработайте пожалуйста индикатор, продлив отрисовку всех зон на 3 бара вперед. На скрине выделил белым.
EURUSDH1.png
 

Вложения

  • ORT_Supply_demand_v3.mq4
    54,1 КБ · Просмотры: 38

FxMen

VIP-участник
Может есть укого рабочая версия проги?
Программа FX News Alert - новостной календарь для Форекс. Или кто сможет реанимировать её.
Screenshot_1.png
 

Вложения

  • fxnewsalert.rar
    5,2 МБ · Просмотры: 44

AlexeNP

Гуру форума
Может есть укого рабочая версия проги?
Программа FX News Alert - новостной календарь для Форекс. Или кто сможет реанимировать её.
эта прога уже лет этак как не поддерживается...
а чем вас этот календарь не устраивает?
 

Вложения

  • screenshot.1.png
    screenshot.1.png
    140,7 КБ · Просмотры: 166

panand

Местный знаток
подскажите мне, не понятному ,почему не открывает позицию , притом 2 раза ,когда кривая линия индикатора пересекла линию уровня
что не так?
//+------------------------------------------------------------------+
void OpenPos()
{
double wepr1=iCustom(NULL,0,IndName,WprPeriod,Lag,NumberOfComputations,Price,2,Shift+0);
double wepr2=iCustom(NULL,0,IndName,WprPeriod,Lag,NumberOfComputations,Price,2,Shift+1);

if(wepr1>+openLevel&&wepr2<+openLevel) PutOrder(0,Ask);
if(wepr1<-openLevel&&wepr2>-openLevel) PutOrder(1,Bid);
} |
//+------------------------------------------------------------------+
void ClosePos()
{
double wepr3=iCustom(NULL,0,IndName,WprPeriod,Lag,NumberOfComputations,Price,2,Shift+0);
double wepr4=iCustom(NULL,0,IndName,WprPeriod,Lag,NumberOfComputations,Price,2,Shift+1);

if(wepr3<0&&wepr4>0) CloseAll(0);
if(wepr3>0&&wepr4<0) CloseAll(1);
}
//+------------------------------------------------------------------+
 
Последнее редактирование:

AlexeNP

Гуру форума
подскажите мне, не понятному ,почему не открывает позицию , притом 2 раза ,когда кривая линия индикатора пересекла линию уровня
что не так?
C-подобный:
//+------------------------------------------------------------------+
void OpenPos()
{
double wepr1=iCustom(NULL,0,IndName,WprPeriod,Lag,NumberOfComputations,Price,2,Shift+0);
double wepr2=iCustom(NULL,0,IndName,WprPeriod,Lag,NumberOfComputations,Price,2,Shift+1);

if(wepr1>MathAbs(openLevel) && wepr2<MathAbs(openLevel)) PutOrder(0,Ask);
if(wepr1<-1*MathAbs(openLevel) && wepr2>-1*MathAbs(openLevel)) PutOrder(1,Bid);
}
а так?
 

panand

Местный знаток
C-подобный:
//+------------------------------------------------------------------+
void OpenPos()
{
double wepr1=iCustom(NULL,0,IndName,WprPeriod,Lag,NumberOfComputations,Price,2,Shift+0);
double wepr2=iCustom(NULL,0,IndName,WprPeriod,Lag,NumberOfComputations,Price,2,Shift+1);

if(wepr1>MathAbs(openLevel) && wepr2<MathAbs(openLevel)) PutOrder(0,Ask);
if(wepr1<-1*MathAbs(openLevel) && wepr2>-1*MathAbs(openLevel)) PutOrder(1,Bid);
}
а так?
спасибо! проверю,отпишусь Вам.
для ClosePos() без изменений или MathAbs(0) ?
 
Последнее редактирование:

SHEPA

Новичок форума
Ребят помогите плиз добавить в трейлинг звуковые файлы для пары EURUSD и GBPUSD (для продаж и покупок) при переносе стопа в безубыток... буду очень благодарен... А для остальных пар я уже сам допишу :) просто не знаю как написать.... нигде примера нет :c и можно ещё добавить, просто стоплосс в этот трал? то есть после открытия ордера чтоб стоплосс он ещё ставил...
 

Вложения

  • e-Trailing.mq4
    3,2 КБ · Просмотры: 22

AlexeNP

Гуру форума
Ребят помогите плиз добавить в трейлинг звуковые файлы для пары EURUSD и GBPUSD (для продаж и покупок) при переносе стопа в безубыток... буду очень благодарен... А для остальных пар я уже сам допишу :) просто не знаю как написать.... нигде примера нет :c и можно ещё добавить, просто стоплосс в этот трал? то есть после открытия ордера чтоб стоплосс он ещё ставил...
по поводу установки стоплосса после открытия ордера - так это проще сделать сразу после открытия ордера
по поводу музыки при безубытке - на скорую руку можно сделать так:
if (OrderType()==OP_BUY) {
pBid = MarketInfo(OrderSymbol(), MODE_BID);
if (!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp) {
double oldSL=OrderStopLoss(),newSL=pBid-TrailingStop*pp;
if (oldSL<pBid-(TrailingStop+TrailingStep-1)*pp) {
ModifyStopLoss(newSL);
if(oldSL<OrderOpenPrice() && newSL>OrderOpenPrice())
PlaySound(bezubytok);
return;
}
}
}
 

SHEPA

Новичок форума
по поводу установки стоплосса после открытия ордера - так это проще сделать сразу после открытия ордера
по поводу музыки при безубытке - на скорую руку можно сделать так:
if (OrderType()==OP_BUY) {
pBid = MarketInfo(OrderSymbol(), MODE_BID);
if (!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp) {
double oldSL=OrderStopLoss(),newSL=pBid-TrailingStop*pp;
if (oldSL<pBid-(TrailingStop+TrailingStep-1)*pp) {
ModifyStopLoss(newSL);
if(oldSL<OrderOpenPrice() && newSL>OrderOpenPrice())
PlaySound(bezubytok);
return;
}
}
}

А как добавить звук к определенной валютной паре?) к примеру к EURUSD?) безубыток к продажам и покупкам...
 

AlexeNP

Гуру форума
А как добавить звук к определенной валютной паре?) к примеру к EURUSD?) безубыток к продажам и покупкам...
ну, тут уже открывается простор для фантазии)))
если нам нужно чтобы звучал безубыток строго для EURUSD, то делаем так
if (OrderType()==OP_BUY) {
pBid = MarketInfo(OrderSymbol(), MODE_BID);
if (!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp) {
double oldSL=OrderStopLoss(),newSL=pBid-TrailingStop*pp;
if (oldSL<pBid-(TrailingStop+TrailingStep-1)*pp) {
ModifyStopLoss(newSL);
if(OrderSymbol()=="EURUSD" && oldSL<OrderOpenPrice() && newSL>OrderOpenPrice())
PlaySound(bezubytok);
return;
}
}
}
если же мы хотим чтобы у каждой валютной пары был строго свой звук, то сделаем так...
сначала делаем звуковые файлы с названиями типа EURUSDzvuk.wav
потом при инициализации советника переменной bezubytok присваиваем имя bezubytok=Symbol()+zvuk;

маленький совет: пора уже использовать более интересные функции... к примеру
MarketInfo(OrderSymbol(), MODE_BID) = SymbolInfoDouble(OrderSymbol(),SYMBOL_BID)
MarketInfo(OrderSymbol(), MODE_POINT) = SymbolInfoDouble(OrderSymbol(),SYMBOL_POINT)
 

SHEPA

Новичок форума
ну, тут уже открывается простор для фантазии)))
если нам нужно чтобы звучал безубыток строго для EURUSD, то делаем так
if (OrderType()==OP_BUY) {
pBid = MarketInfo(OrderSymbol(), MODE_BID);
if (!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp) {
double oldSL=OrderStopLoss(),newSL=pBid-TrailingStop*pp;
if (oldSL<pBid-(TrailingStop+TrailingStep-1)*pp) {
ModifyStopLoss(newSL);
if(OrderSymbol()=="EURUSD" && oldSL<OrderOpenPrice() && newSL>OrderOpenPrice())
PlaySound(bezubytok);
return;
}
}
}
если же мы хотим чтобы у каждой валютной пары был строго свой звук, то сделаем так...
сначала делаем звуковые файлы с названиями типа EURUSDzvuk.wav
потом при инициализации советника переменной bezubytok присваиваем имя bezubytok=Symbol()+zvuk;

маленький совет: пора уже использовать более интересные функции... к примеру
MarketInfo(OrderSymbol(), MODE_BID) = SymbolInfoDouble(OrderSymbol(),SYMBOL_BID)
MarketInfo(OrderSymbol(), MODE_POINT) = SymbolInfoDouble(OrderSymbol(),SYMBOL_POINT)
Спасибо) попробую сделать) надеюсь, получится)
 

Slava78

Элитный участник
Уважаемые прогеры, нужна помощь. Сделайте советнику закрытие всех ордеров по профиту или убытку(можно в процентах от депо)
Описание совы: открывает две сделки, потом закрывает по профиту одну и добавляет еще две и теперь нужно какое-то усреднение трех ордеров!!!
 

Вложения

  • 2USR.mq4
    20,2 КБ · Просмотры: 23
  • Screenshot_12.png
    Screenshot_12.png
    26,3 КБ · Просмотры: 195

vladradon

Программист
Сделайте советнику закрытие всех ордеров по профиту или убытку(можно в процентах от депо)
Если ClosePercent=true - профит и просадка задается в процентах от баланса, если false - в единицах счета.
CloseEquity=true -закрытие по достижении профита или убытка по состоянию эквити - запоминается целевое значение того и другого при отсутствии ордеров. Короче разберешься. Не проверял, но все должно работать.:)
 

Вложения

  • 2USR.mq4
    23,3 КБ · Просмотры: 36

garry119

Гость
всем привет.
уважаемые специалисты, сделайте, пожалуйста, t3 zero lag tema
 

Slava78

Элитный участник
Если ClosePercent=true - профит и просадка задается в процентах от баланса, если false - в единицах счета.
CloseEquity=true -закрытие по достижении профита или убытка по состоянию эквити - запоминается целевое значение того и другого при отсутствии ордеров. Короче разберешься. Не проверял, но все должно работать.:)
Спасибо, будем тестить.
 
Последнее редактирование:
Верх