Здравствуйте, уважаемые форумчане.
если не там создал тему, прошу перекинуть её в нужное место.
пишу советника...
одно из условий должно быть такое: Если текущая рыночная цена ниже чем Low последней сформировавшейся свечи[1], то ...
Вот такая штука работает: Low[1]<Low[2]. - но это слишком запаздывающее событие особенно для малых ТФ.
Прописал как Low[0]<Low[1] - не работает.
А как прописать текущую рыночную цену (или последнюю известную BID) никак не могу сообразить.
Помогите плиз.
Нутром чую что это элементарно...
Внезапно : Bid<Low[1]
Или позабористей: MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,1)
Внезапно : Bid<Low[1]
Или позабористей: MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,1)
Внезапно : Bid<Low[1]
Или позабористей: MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,1)
MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,1)
не работает...
MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,1)
не работает...
Вот в таком кусочке:
for(int i=OrdersTotal()-1;i>=0;i--)
{
if
(
MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,0,1)
)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderType()==OP_BUY) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),slippage);
}
Смысл данного кода в том, что при выполнении условия "MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,0,1)", т.е. (если рыночная цена оказалась ниже Лоя предыдущей (последней) свечи[1].) , должны быть закрыты все имеющиеся открытые БАЙ-ордера по текущей (рыночной) цене.
Вот в таком кусочке:
for(int i=OrdersTotal()-1;i>=0;i--)
{
if
(
MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,0,1)
)
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if (OrderType()==OP_BUY) OrderClose (OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),slippage);
}
Смысл данного кода в том, что при выполнении условия "MarketInfo(_Symbol,MODE_BID)<iLow(_Symbol,0,1)", т.е. (если рыночная цена оказалась ниже Лоя предыдущей (последней) свечи[1].) , должны быть закрыты все имеющиеся открытые БАЙ-ордера по текущей (рыночной) цене.
Сначала проверка, а потом, если истина, цикл по открытым позициям. Зачем вам проверка цены в цикле?
Цикл сделал для того, чтобы закрылись все открытые позиции по заданному условию.
Не так делаю?
Больше года не трогал mql... не могу сообразить.
Но в другом коде (иные задачи и иные паттерны) данный код закрытия работает исправно, но правда там используются уже сформированные свечи [1] и [2].
А вот как прицепить текущую цену не соображу
Цикл сделал для того, чтобы закрылись все открытые позиции по заданному условию.
Не так делаю?
Больше года не трогал mql... не могу сообразить.
Но в другом коде (иные задачи и иные паттерны) данный код закрытия работает исправно, но правда там используются уже сформированные свечи [1] и [2].
У вас условие: если цена ниже то закрыть все.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Здравствуйте, уважаемые форумчане.
если не там создал тему, прошу перекинуть её в нужное место.
пишу советника...
одно из условий должно быть такое: Если текущая рыночная цена ниже чем Low последней сформировавшейся свечи[1], то ...
Вот такая штука работает: Low[1]<Low[2]. - но это слишком запаздывающее событие особенно для малых ТФ.
Прописал как Low[0]<Low[1] - не работает.
А как прописать текущую рыночную цену (или последнюю известную BID) никак не могу сообразить.
Помогите плиз.
Нутром чую что это элементарно...