- подходит ли мт4 для конкурса
- Как сделать чтобы выставлялись ордера только один buy stop и один sell stop по заданной паре?
- Непонятности в OrderCloseBy()
ихмо
расставьте после каждой операции открытия трала закрытия
Print ( GetLastError() );
так быстрее будет дело идти
визуально не вижу проблемы - ( смотрел бегло )
// // я не стал прописывать СЕЛЛ но суть надеюсь понятна // if(OrderType()==OP_BUY) { if(OrderLots()==Loto && OrderStopLoss()<OrderOpenPrice()) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); Print( " mb1 "+GetLastError()); } if(Level>0 && Bid-OrderOpenPrice()>Level*Point && OrderLots()==Lots) { OrderClose(OrderTicket(),Lotc,Ask,Slippage,CLR_NONE); Print( " cb "+GetLastError()); } else if(TrailStop>=STP) { if(Bid-OrderOpenPrice()>TrailStop*Point && OrderStopLoss()<OrderOpenPrice()) { OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); Print( " mb2 "+GetLastError()); } else if(Bid-OrderOpenPrice()>TrailStop*Point && OrderStopLoss()<Bid-(TrailStop+TrailStep)*Point && OrderStopLoss()>=OrderOpenPrice()) { OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailStop*Point,Digits),OrderTakeProfit(),0,CLR_NONE); Print( " mb3 "+GetLastError()); } } } } Comment(txt); return(0); }
if(OrderType()==OP_BUY) { if(OrderLots()==Loto && OrderStopLoss()<OrderOpenPrice()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE); Print( " mb1 "+GetLastError()); if(Level>0 && Bid-OrderOpenPrice()>Level*Point && OrderLots()==Lots) OrderClose(OrderTicket(),Lotc,Ask,Slippage,CLR_NONE); else Print( " mb1 "+GetLastError()); if(TrailStop>=STP) { if(Bid-OrderOpenPrice()>TrailStop*Point && OrderStopLoss()<OrderOpenPrice()) OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,CLR_NONE);else Print( " mb1 "+GetLastError()); if(Bid-OrderOpenPrice()>TrailStop*Point && OrderStopLoss()<Bid-(TrailStop+TrailStep)*Point && OrderStopLoss()>=OrderOpenPrice()) OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailStop*Point,Digits),OrderTakeProfit(),0,CLR_NONE); Print( " mb1 "+GetLastError()); } } } Comment(txt); return(0); }
Мдя. Вот так походя, изменить логику программы. Даже если Вы не программист, то хотя бы "прочитайте" "if...else..." по-русски "если...то...иначе...".
Попытайтесь еще раз сделать исправления как написал YuraZ - Вы просто пропустили нужную "фиг скобку"
Но выдает в журнале эксперты когда нужно закрыть половину, по приходу тика: cb 129
и не закрывает половину позы
Получилось сделать, как и советовали.
Но выдает в журнале эксперты когда нужно закрыть половину, по приходу тика: cb 129
и не закрывает половину позы
129 это неправильная цена
для начала RefreshRates()
размер в пипсах сколько у позы которую вы пытаетесть закрыть ?
и какова величина slippage
---
рапринтовку ВСЕХ параметров делайте после ошибки
лот Ask OrderTicket()
OrderPrint(); // тоже припишите что бы понять что там у вас
extern int TrailStop=30;
extern int TrailStep=5;
extern int Level=20;
extern int Slippage=3;
extern double StartLots=0.1;
extern int TrailStop=30;
extern int TrailStep=5;
extern int Level=20;
extern int Slippage=3;
extern double StartLots=0.1;
а смысл ? прикрывать ПОЛОВИНУ ордера ? если у вас лот 0.1 меньше этого лота уже не может быть - если конечнео у вас не микро
---
после каждой команды при ошибке все же расставьте распринтовку
и не забудте что это все надо скобочками обставить
---
код готовый осознано не даю!
19:08:37 BGX EURUSD,M30: initialized
19:09:06 BGX EURUSD,M30: close #26529314 sell 0.05 EURUSD at 1.5825 at price 1.5822
19:09:06 BGX EURUSD,M30: cb 0
19:09:06 BGX EURUSD,M30: deinitialized
19:09:06 BGX EURUSD,M30: uninit reason 5
19:09:10 BGX EURUSD,M30 inputs: StartLots=0.1; TrailStop=30; TrailStep=5; Level=3; Slippage=3;
19:09:10 BGX EURUSD,M30: initialized
19:09:11 BGX EURUSD,M30: modify #26529373 sell 0.05 EURUSD at 1.5825 sl: 1.5825 tp: 0.0000 ok
19:09:11 BGX EURUSD,M30: mb1 0
19:13:03 BGX GBPUSD,M30: initialized
19:13:18 BGX GBPUSD,M30: cb 129
19:13:30 BGX GBPUSD,M30: cb 129
19:13:48 BGX GBPUSD,M30: cb 129
19:13:55 BGX GBPUSD,M30: cb 129
19:13:56 BGX GBPUSD,M30: cb 129
19:13:57 BGX GBPUSD,M30: cb 129
19:14:06 BGX GBPUSD,M30: cb 129
19:14:06 BGX GBPUSD,M30: cb 129
19:14:09 BGX GBPUSD,M30: cb 129
19:17:53 BGX USDCHF,M30: initialized
19:18:21 BGX USDCHF,M30: close #26529247 sell 0.05 USDCHF at 1.0234 at price 1.0231
19:18:21 BGX USDCHF,M30: cb 0
19:18:21 BGX USDCHF,M30: mb1 130
19:18:21 BGX USDCHF,M30: mb1 130
19:18:22 BGX USDCHF,M30: mb1 130
19:18:22 BGX USDCHF,M30: mb1 130
19:18:24 BGX USDCHF,M30: mb1 130

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования