OrderSend(Symbol(), OP_BUY, Lot, Ask, 10,Ask-SL*10*Point,Ask+TP*10*Point, "BUY", Magic, 0, Green );
Программа совершает сделки и ставит Stoploss и Takeprofit, но при пересичение свечами этих линий они не срабатывают,
в чём может бить проблема?
Не хватает NormalizeDouble.
Все 'double' что вы подставляете в команды Ордеров должны быть предварительно нормализованы.
Например:
Ask =>>> NormalizeDouble(Ask,Digits)
Не хватает NormalizeDouble.
Все 'double' что вы подставляете в команды Ордеров должны быть предварительно нормализовано.
Например:
Ask =>>> NormalizeDouble(Ask,Digits)
если была бы в этом проблема, то ордер бы вообще не ставился.
и появлялась ошибка - неправильная цена.
Проверьте журнал, может ДЦ не проставил ни СЛ, ни ТП!
Лучше после открытия позиции устанавливать их модификацией!
Проверьте журнал, может ДЦ не проставил ни СЛ, ни ТП!
Лучше после открытия позиции устанавливать их модификацией!
Так не бывает. Если выставление тп и сл при открытии ордера запрещены - то ордер просто не откроется.
стопы = трусы
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброе время суток,
у меня сложилась проблема с Stoploss и Takeprofit .
Использован следущий код,
extern int Magic=177757;
extern double Lot=0.2;
extern int SL=10;
extern int TP=2;
int countpos=0;
int start(){
for(int pos=0; pos<OrdersTotal(); pos++){
OrderSelect(pos,SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic)
countpos++;
}
if(countpos==0){
OrderSend(Symbol(), OP_BUY, Lot, Ask, 10,Ask-SL*10*Point,Ask+TP*10*Point, "BUY", Magic, 0, Green );
}
}
Программа совершает сделки и ставит Stoploss и Takeprofit, но при пересичение свечами этих линий они не срабатывают,
в чём может бить проблема?