Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Запоминаете тикеты ордеров в массив или 2 переменные.
2. Выбираете при помощи OrderSelect их по очереди (тут массив удобнее) .
3. Проверяете тип на текущий момент.
4. Если тип OP_BUY || OP_SELL -> OrderDelete для второго тикета.
набросайте пожалуста простой пример я во многом разобрался а вот с ордер селект прям пробка какаято !
Вот код в чём ошибка ????? Не удаляет при срабатывании одного отложенника второй отложенник ......
if (MA1<MA2)
{
if(n==0)
{
//==================================================================================================================//
tiket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),Slip,slb,tpb,NULL,MagicNumber,0,CLR_NONE);
if(tiket<0) Alert("Ошибка № - ",GetLastError()," На инструменте ", Symbol()); //пишет ошибку//
//================================================================================================================//
t2 = OrderSend(Symbol(), OP_BUYSTOP, Lots*Overlot,OtkrBS, Slip,0,tpb, 0, MagicNumber,expiration);
//================================================================================================================//
t1 = OrderSend(Symbol(), OP_SELLSTOP, Lots*Overlot+1,OtkrSS,Slip,0,slb, 0, MagicNumber,expiration);
//================================================================================================================//
//==================================================================================================================//
}
//==================================================================================================================//
else
//=================================================================================================================//
if (MA1>MA2)
{
tiket=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),Slip,sls,tps,NULL,MagicNumber,0,CLR_NONE);
if(tiket<0) Alert("Ошибка № - ",GetLastError()," На инструменте ", Symbol()); //пишет ошибку//
//================================================================================================================//
t2 = OrderSend(Symbol(), OP_BUYSTOP, Lots*Overlot+1,OtkrSS1,Slip,0,sls, 0, MagicNumber,expiration);
//================================================================================================================//
t1 = OrderSend(Symbol(), OP_SELLSTOP, Lots*Overlot, OtkrBS1,Slip,0,tps, 0, MagicNumber,expiration);
//================================================================================================================//
}
//==================================================================================================================//
// если сработал SELLSTOP удаляем BUYSTOP
if(OrderSelect(t1, SELECT_BY_TICKET))
{
if(OrderType()==OP_SELL)
{
OrderDelete(t2);
}
}
//----
// если сработал BUYSTOP удаляем SELLSTOP
if(OrderSelect(t2, SELECT_BY_TICKET))
{
if(OrderType()==OP_BUY)
{
OrderDelete(t1);
}
}
Запутались с условиями. Мне кажется у вас {} скобочки вот эти не там где нужно стоят:
Или что-то вроде.
Что удивительно у меня есть подобный эксперт . Я чётко с ним всё проверил всё в принцепе одинаково . он работает а этот нет ...
отличие в том что в другом эксперте только одна поза на вход бай и два отложенника
тикеты в глобальных переменных? (за пределами старта и других функция)
если нет, то они обнуляются каждый тик.
Вставьте побольше Print()-ов, прям на каждом шаге эксперта, тогда поймете где он вылетает и чего не делает.
УРА ААААААААААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Победил !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
Жесть !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
тикеты в глобальных переменных? (за пределами старта и других функция)
если нет, то они обнуляются каждый тик.
Вставьте побольше Print()-ов, прям на каждом шаге эксперта, тогда поймете где он вылетает и чего не делает.