Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 845

 
Pokrov, я ж тебе ответил, куда смотришь..
 
eddy:
Pokrov, я ж тебе ответил, куда смотришь..
Не обижайся, два мнения лучше, чем одно))) И тебе спасибо!  
 
Всем привет, подскажите пожалуйста, как прописать, чтобы советник не выставлял ордер если последняя сделка закрылась сегодня?
 

Вот здесь нашёл ответ https://www.mql5.com/ru/forum/131277/page295#455199

Спасибо автору. 

 

Подскажите, ниже блок обработок ошибок, правильно написано, или может что-то не так? Только не ругайтесь сразу ))) 

 

//+------------------------------------------------------------------+
//| Функция обработки ошибок                                          |
//+------------------------------------------------------------------+
if(GetLastError()>=0)                          
{
   switch(_LastError)  
{                                               // Преодолимые ошибки            
      case  4:Sleep(3000);                      // Простое решение
      break;                                    // Выход из функции
      case  6:Sleep(10000);                     // Простое решение
      break;                                    // Выход из функции
      case 130:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 135:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 136:Sleep(3000);RefreshRates();      // Обновим данные
      break;                                    // Выход из функции
      case 137:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      case 146:Sleep(3000);                     // Простое решение
      break;                                    // Выход из функции
      default:break;        // Другие варианты  // Выход из функции
}                        
}
}
 
как в индикаторе сохранять историю значений в файл (и загружать потом)? готовые решения есть наверно?
 
eddy:
как в индикаторе сохранять историю значений в файл (и загружать потом)? готовые решения есть наверно?
Есть конечно же. У тех, кто когда-то их "приготовил"
 
спасибо кэп, я решения ищу а не просто так спрашиваю.
 
Pokrov:

Подскажите, ниже блок обработок ошибок, правильно написано, или может что-то не так? Только не ругайтесь сразу ))) 

 

На мой взгляд обработка ошибок должна быть в виде пользовательской функции, которая должна вызываться после каких либо действий связанных с обращением к серверу.

Например OrderSend() возвращает тикет ордера или -1 в случае неудачи, тоесть в случае ошибки. Вот и вызывать обработку ошибок надо в случае неудачного выполнения команды с передачей в неё кода ошибки. А в обработчике ошибок предусмотреть возвращаемое значение при котором не выполненное действие повторяется или при другом значении прекращается.

Например изменились цены, RefreshRates(); и повторить попытку, а при нехватке средств наверное лучше прекратить попытки.

 
AlexeyVik:

На мой взгляд обработка ошибок должна быть в виде пользовательской функции, которая должна вызываться после каких либо действий связанных с обращением к серверу.

Например OrderSend() возвращает тикет ордера или -1 в случае неудачи, тоесть в случае ошибки. Вот и вызывать обработку ошибок надо в случае неудачного выполнения команды с передачей в неё кода ошибки. А в обработчике ошибок предусмотреть возвращаемое значение при котором не выполненное действие повторяется или при другом значении прекращается.

Например изменились цены, RefreshRates(); и повторить попытку, а при нехватке средств наверное лучше прекратить попытки.

У меня после функций прописан GetLastError и если возникает ошибка разве она в этот блок не поступит (так как написано) и команды не будут выполняться? Я так понимаю цепочку например  OrderSend()  ->  GetLastError -> блок ошибок Sleep(3000)  RefreshRates() -> выход из блока и если условия остались опять идет запрос OrderSend(). Или мои рассуждения и представления не верны. Я понимаю,что вы мне предлагаете прописать возвращаемое return значение 1 или 0 в блок, но у меня функции простые не привязаны к булевым значения типа SignalBuy, если я правильно понимаю туда и должны потом возвращаться значения return.           

Причина обращения: