Вопрос знатокам MQL - страница 9

 

Добрый день .Помогите найти ошибку в коде

Это начальная программа в учебнике .

Не считает тики . Почему так .

Спасибо

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int Count=0; // Глобальная перемен.
//--------------------------------------------------------------------
int init() // Спец. ф-ия init()
{
Alert ("Сработала ф-ия init() при запуске"); // Сообщение
return; // Выход из init()
}
//--------------------------------------------------------------------
int start() // Спец. ф-ия start()
{
double Price = Ask; // Локальная перемен.
Count++; // Счётчик тиков
Alert("Новый тик ",Count," Цена = ",Price);// Сообщение
return; // Выход из start()
}
//--------------------------------------------------------------------
int deinit() // Спец. ф-ия deinit()
{
Alert ("Сработала ф-ия deinit() при выгрузке"); // Сообщение
return; // Выход из deinit()
}
//--------------------------------------------------------------------

 

Вот что выдаёт

 

Доброе утро.

В дц, где у меня есть реальный счет сервер настроен так, что если более 3-х минут и более (для разных символов - разное время) на график инструмента не идут котировки - то генерируется запрет торговли и вместо исполнения приказа на открытие/закрытие или модернизацию - сервер дает ответ НЕТ ЦЕНЫ (пока не придёт котировка). При этом, в журнале отображается сообщение:

2012.04.20 13:42:07 '245---00': order buy 0.2 JOK2 opening at 0.00 sl: 0.00 tp: 0.00 failed [Off quotes]

-------------------

Таким образом получается, что работать мультивалютным советником у этого дц в МТ4 невозможно. Особенно в малоликвидное ночное время, - одна/две позиции еще открываются - а ещё 2-3 получают отказ!

Мне непонятно, зачем так сделано. Техподдержка толком не отвечает, сотрудники изворачиваются "как червяки под сапогом", и отфутболивают к разработчикам mql - часто заявляя, - что это (дословно:) глючная особенность платформы мт4. Ну ладно, пусть это на их совести останется.

Пож. подскажите, как программно в терминал возвращается этот странный запрет " opening at 0.00 sl: 0.00 tp: 0.00 failed [Off quotes]" - чтобы я могла перед открытием программным запросом проверить все нужные мне 3-4 валюты на предмет "НЕТ ЦЕНЫ" и уже затем советник посылал приказы на открытие/закрытие позиций! Их Техподдерка ответ на этот вопрос не дает ...

 
Rita:

Мне непонятно, зачем так сделано.

Это костыль. Обычно такую штуку вводят в ДЦ, у которых есть проблемы с задержками котировок.

Для того, чтобы следить самому, надо отслеживать все тики по всем торгуемым инструментам и самому вводить запрет советнику заранее.

 
greysoldier:

Добрый день .Помогите найти ошибку в коде

Это начальная программа в учебнике .

Не считает тики . Почему так .

Спасибо

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int Count=0; // Глобальная перемен.
//--------------------------------------------------------------------
int init() // Спец. ф-ия init()
{

}
//--------------------------------------------------------------------
int start() // Спец. ф-ия start()
{
double Price = Ask; // Локальная перемен.

Count++; // Счётчик тиков

Alert("Новый тик ",Count," Цена = ",Price);// Сообщение
return; // Выход из start()
}
//--------------------------------------------------------------------
int deinit() // Спец. ф-ия deinit()
{

}
//--------------------------------------------------------------------

так
 
TheXpert:

Это костыль. Обычно такую штуку вводят в ДЦ, у которых есть проблемы с задержками котировок.

Для того, чтобы следить самому, надо отслеживать все тики по всем торгуемым инструментам и самому вводить запрет советнику заранее.


Получается, что здесь программно нельзя задать коректную работу мультивалютного советника - для одновременного открытия/закр позиций нескольких валют?

Тем более, что для разных валют (а инструметов в мт4 - несколько сотен!) - в сервере задан разный интервал до момента запрета "НЕТ ЦЕНЫ" и эти интервалы меняются в течение суток!

А что подскажут разработчики платформы мт4? Как нормально работать мультивалютному советнику в таких условиях при частых [Off quotes], особенно ночью (см. мой пост выше)?

 
Rita:

Тем более, что для разных валют (а инструметов в мт4 - несколько сотен!) - в сервере задан разный интервал до момента запрета "НЕТ ЦЕНЫ"

Это да.

и эти интервалы меняются в течение суток!

Это вряд ли. Они вроде жестко заданы для инструмента.

 

В вопросах от новичков спрашивал - осталось без ответа, может здесь кто поможет.

Добрый день, помогите советом написал сову, она периодически должна открывать по 2 ордера одновременно проблемма в том что не всегда открывается оба ордера, проскальзывание ставлю и 3 и 5 и 10, но всё равно нет нет да и откроет одиночку. Не могу сообразить как можно организовать сторожа который бы отслеживал правильность открытия и при необходимости открывал недостающий "забытый" ордер?

 
Покажите часть кода, где вы задаете условия одновременного открытия этих двух ордеров...
 
Открыть один ордер, проверить на открытие, если открылся - открывать второй с проверкой...
Причина обращения: