Пара вопросов ... (+)

 
Пара вопросов ... (+)
Вы не объясните как будет вести себя система если, пытаясь открыть позицию по текущей цене , она не получает ответ от брокера, что нить типа Unable quote или типа того. Что будет происходить. она еще раз будет запрашивать или что?
Еще, допустим советник у меня работает на 1 часовом графике, но перед открытием позиции ему надо сравнить на 4 часовом графике два бара, один с 0 до 4 часов, второй с 4 до 8 часов. т.е. сравнить их цены Open и Close. Как это можно будет реализовать?
Еще, допустим мне надо проверить один бар (так же Open - Close) текущего дня, в нужный час, допустим бар с 8 до 9 часов на часовках. Как это можно будет сделать?
Спасибо
С Уважением, Stone
 
ответы
При открытии позиции указывается желаемая цена и максимально допустимое отклонение (slippage):
'SetOrder(op,lots,price,slippage,stoploss,takeprofit,color)'

Процесс открытия позиции состоит из:
1) запроса цен bid/ask
2) сравнение полученных цен с желаемой ценой с учетом отклонения
3) если цена устаивает, то посылается команда на совершение операции buy/sell . (при установке отложенных ордеров запроса цен не происходит, команда на установку уходит сразу к брокеру)

Если запрос цен bid/ask не увенчался успехом, то в лог пишется:
'GetPrices: request for prices failed'

Если цена устроила эксперта и при попытке совершить операцию buy/sell произошла ошибка или отказ брокера, то пишется:
'Can't sell usd/chf 1 lot(s) at price 1.4949'

После генерации сигнала на совершение любой торговой операции устанавливается запрет на проведение любых торговых операций в течение 10 секунд. В этом случае сигналы могут генерироваться, но на этапе передачи команд торговому серверу они будут отклонены. В логах это будет выглядеть как:
'Signal: OpenOrder skipped'

Таймаут на совершение операций поставлен специально, чтобы не генерировать (например по ошибке или злому умыслу трейдера) слишком частые сигналы.

Советники пока работают только со своим графиком (инструмент, период), но позже будут добавлены функции контроля других графиков.
 
уточнение
Если торговая операция не удалась, то она не будет повторно выполняться.
Просто в лог выдастся сообщение и эксперт продолжит дальнейшую работу.
 
Спасибо за оперативность ... (+)
Приятно быстро получать ответы на возникающие вопросы, даже в выходной :-).
То что стои тайм аут на запросы к брокеру, я думаю это правильно, но возможно ли будет сделать ну например три запроса на открытие позиции, если предыдущий запрос не увенчался успехом, естесственно с сохранением там-аута?
Еще один вопросик, я правильно понимаю, что если клиентский терминал не запущен или не имеет связи, то советник не срабатывает?

Спасибо
С Уважением, Stone
 
работа советника
Эксперту передается управление на каждый пришедший тик в MarketWatch.
Естественно, график должен быть открытым (должен находится в списке открытых окон по Ctrl+W).

Запросы не будут повторяться ни в коем случае - это принципиально.
Причина обращения: