Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Но ОНО не хочет работать на реале (вернее закрываются не все ордера)
Помогите пожалуйста, если еще нужна инфа просто скажите что именно...
Да вот полностью советник:Абсолютно неверный код. От слова совсем. Видно полное непонимание того, что пытаетесь сделать и делаете.
При выборе ордера по тикету pool не имеет никакого значения - он игнорируется - т.е.,MODE_TRADES в функции выбора ордера по тикету вообще не нужен. Чтобы понять из какого списка выбран ордер при его выборе по тикету, нужно проверить время закрытия выбранного ордера и, если оно равно нулю, значит ордер ещё открыт и выбран из списка открытых позиций. Если время закрытия ордера не равно нулю, то это означает, что ордер уже закрыт, и был выбран из списка закрытых позиций.
Выбор ордера по тикету в вашем случае совсем не нужен - ведь тикет вы можете заранее не знать. Соответственно, ордер нужно выбирать по индексу. Далее проверять его магик, его тип и, если подходят, то закрывать.
Позиция Sell закрывается по цене Ask, позиция Buy - по цене Bid. А вы по какой цене их зарывать пытаетесь?
Абсолютно неверный код. От слова совсем. Видно полное непонимание того, что пытаетесь сделать и делаете.
При выборе ордера по тикету pool не имеет никакого значения - он игнорируется - т.е.,MODE_TRADES в функции выбора ордера по тикету вообще не нужен. Чтобы понять из какого списка выбран ордер при его выборе по тикету, нужно проверить время закрытия выбранного ордера и, если оно равно нулю, значит ордер ещё открыт и выбран из списка открытых позиций. Если время закрытия ордера не равно нулю, то это означает, что ордер уже закрыт, и был выбран из списка закрытых позиций.
Выбор ордера по тикету в вашем случае совсем не нужен - ведь тикет вы можете заранее не знать. Соответственно, ордер нужно выбирать по индексу. Далее проверять его магик, его тип и, если подходят, то закрывать.
Позиция Sell закрывается по цене Ask, позиция Buy - по цене Bid. А вы по какой цене их зарывать пытаетесь?
Спасибо за критику, все подправил и теперь прекрасно работает. Насчет полного непонимания... ну это Вы перегибаете... И с ценами закрытия что-то у Вас не то...
Правда?
Позиция Buy открывается по цене Ask, закрывается по цене Bid
Позиция Sell открывается по цене Bid, закрывается по цене Ask
И никак иначе.
Вы же позицию Sell пытаетесь закрыть по цене Bid:
Открытие:
Закрытие (обе позиции имеют тип Sell):
Правда?
Позиция Buy открывается по цене Ask, закрывается по цене Bid
Позиция Sell открывается по цене Bid, закрывается по цене Ask
И никак иначе.
Вы же позицию Sell пытаетесь закрыть по цене Bid:
Открытие:
Закрытие (обе позиции имеют тип Sell):
Ладно, убедил)))
Правда?
Позиция Buy открывается по цене Ask, закрывается по цене Bid
Позиция Sell открывается по цене Bid, закрывается по цене Ask
И никак иначе.
А ведь точно, что и логично. А я чего-то напутал думал раз sell открывается по биду, то и закрывать нужно. Давно не работал с функцией OrderClose!
А ведь точно, что и логично. А я чего-то напутал думал раз sell открывается по биду, то и закрывать нужно. Давно не работал с функцией OrderClose!
Подскажите пожалуйста что здесь не так:
bool CloseOrder1()
{
for(int i=OrdersTotal()-1; i>=0; i--)
{
if(!OrderSelect(i,SELECT_BY_POS))
{
Print ("Відсутні ордери");
}
if(OrderSymbol() != Symbol()) continue;
if(OrderMagicNumber() != Magic1) continue;
if(OrderType() == OP_BUY)
{
if(OrderClose(OrderTicket(),Lots,Bid,Slippage,clrAqua))
PlaySound ("CoinsDrop2.wav");
}
}
return (true);
}
звук почему-то не воспроизводится...
Подскажите пожалуйста что здесь не так:
звук почему-то не воспроизводится...
А ордер закрывается? Тогда звуковой файл не тот, или нет его, или не там.