Example2: А такая функция подойдет для обработки ошибок?
Что-то слишком короткая. Даже эта и то не полноценная.
//*********************ф-ия обработки ошибок*************************|int Fun_Error(int Error)
{
switch(Error)
{ // Преодолимые ошибкиcase0: return(1);
case4: //Print("Торговый сервер занят. Пробуем ещё раз...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase128: //Истек срок ожидания совершения сделкиreturn(1);
case129: //Print("Цена изменилась. Пробуем ещё раз...");return(1); // Выход из функцииcase132: //Print("Рынок закрыт. Пробуем ещё раз...");Sleep(123000); // Это было сделано для робо. У них первые 2 минуты в понедельник рынок закрыт, а надо было ставить ордера в 00:00return(1); // Выход из функцииcase135: //Print("Цена изменилась. Пробуем ещё раз...");RefreshRates(); // Обновим данныеreturn(1); // Выход из функцииcase136: //Print("Нет цен. Ждём новый тик...");while(RefreshRates()==false) // До нового тикаSleep(1); // Задержка в циклеreturn(1); // Выход из функцииcase137: //Print("Брокер занят. Пробуем ещё раз...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase138: //Print("Новые цены. Пробуем ещё раз...");Sleep(1); // Задержка в циклеreturn(1); // Выход из функцииcase146: //Print("Подсистема торговли занята. Пробуем ещё...");Sleep(500); // Простое решениеreturn(1); // Выход из функцииcase4107: //Print("Неправильный параметр цены для торговой функции. Пробуем ещё...");Sleep(50); // Простое решениеreturn(1); // Выход из функции// Критические ошибкиcase1:
return(0);
case2: Alert("Общая ошибка. Перегрузите терминал и\или компьютер.");
return(0); // Выход из функцииcase5: Alert("Старая версия терминала.");
//Work=false; // Больше не работатьreturn(0); // Выход из функцииcase64: Alert("Счет заблокирован.");
//Work=false; // Больше не работатьreturn(0); // Выход из функцииcase130: Alert("Неправильные стопы.");
return(0); // Выход из функцииcase133: Alert("Торговля запрещена.");
return(0); // Выход из функцииcase134: Alert("Недостаточно денег для совершения операции.");
return(0); // Выход из функцииcase4051: Alert("Недопустимое значение параметра функции.");
return(0); // Выход из функцииcase4108: Alert("Неверный номер тикета.");
return(0); // Выход из функцииdefault: //Print("Возникла ошибка ",Error); // Другие вариантыreturn(0); // Выход из функции
}
}//******************************************************************|
Соответственно если ф-ция вернула 1 повторяем попытку поставить ордер, если 0 то выход из функции открытия ордеров.
Здравствуйте, если советник устанавливает только отложенные ордера, должен ли он уметь обрабатывать ошибки?
Да.
Например.
Да.
Например.
А такая функция подойдет для обработки ошибок?
Что-то слишком короткая. Даже эта и то не полноценная.
Соответственно если ф-ция вернула 1 повторяем попытку поставить ордер, если 0 то выход из функции открытия ордеров.
покупаете/продаете без стопа и тейка sl=0;tp=0, потом модифицируете-->sl=100;tp=300
Такая мысль уже посещала от отчаяния...
Однако, вопрос в том, почему при всех верно указанных параметрах ордер не выставляется.
Поскольку это график золота, то цифры 11 и 1 вполне корректны. В переводе это означает 10 и 110 пунктов.
Проверял цены и параметры стопа и профита. Между профитом и стопом ровно 120 пунктов, а цена открытия почему-то = 0,000.
Попытка выставить отложенный ордер тоже ничего не принесла....
Все чудесатее и чудесатее.
Всем доброго времени суток!
Подскажите пожалуйста как наиболее оптимальным образом закодировать следующее условие
Если все без исключения свечки с 1 по 20 медвежии (кол.пунктов между открытием и закрытием каждой свечи значение не имеет)
Открыть ордер.
Спасибо.
Всем доброго времени суток!
Подскажите пожалуйста как наиболее оптимальным образом закодировать следующее условие
Если все без исключения свечки с 1 по 20 медвежии (кол.пунктов между открытием и закрытием каждой свечи значение не имеет)
Открыть ордер.
Спасибо.
Ну если только "на коленке" написать.
Ну если только "на коленке" написать.