Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2182

 
JRandomTrader #:

Кроме того, если перед открытием файл каждый раз удалять, то конец файла почему-то совпадает с началом ))

То же самое, если открывать только с флагом FILE_WRITE, без FILE_READ.

Ну да. Я почему-то только поверхностно глянул код, именно перемещение указателя и всё…

 
Alexey Viktorov #:

Ну да. Я почему-то только поверхностно глянул код, именно перемещение указателя и всё…

Всем спасибо за помощь. Беру паузу на усвоение большого количества новой информации.

 

Здравствуйте, помогите или подскажите пожалуйста. Есть советник и в нем есть код "работа по времени" то есть советник может работать в указанный интервал времени каждый день, к примеру в 9:00 начал в 16:00 закончил, теперь вопрос как мне сделать чтобы после окончания работы он не просто прекращал торговать но и удалял все ордера в том числе и отложенные? Заранее спасибо!

//+------------------------------------------------------------------+

//|                          Работа по времени                       |

//+------------------------------------------------------------------+

bool TDt(string CloseHour,string CloseMinute,string OpenHour,string OpenMinute) //   Функция проверяет со скольки до скольки можно

  {

   if(CloseHour=="23" && CloseMinute=="59" && OpenHour=="0" && OpenMinute=="0")return(true);


   

//   торговать. Если удовлетворяет условиям

   int TradingTime=false;                                    //   Возвращает ""можно""

   if(StrToTime(CloseHour+":"+CloseMinute)>StrToTime(OpenHour+":"+OpenMinute))

     {

      if(TimeCurrent()<StrToTime(CloseHour+":"+CloseMinute) && TimeCurrent()>=StrToTime(OpenHour+":"+OpenMinute)) //

         TradingTime=true;

     }

   if(StrToTime(CloseHour+":"+CloseMinute)<StrToTime(OpenHour+":"+OpenMinute))

     {

      if(TimeCurrent()<StrToTime(CloseHour+":"+CloseMinute) || TimeCurrent()>=StrToTime(OpenHour+":"+OpenMinute)) //

         TradingTime=true;

     }                                     //

   return(TradingTime);                                  //

  }  

 
chigevgenii #:

Здравствуйте, помогите или подскажите пожалуйста. Есть советник и в нем есть код "работа по времени" то есть советник может работать в указанный интервал времени каждый день, к примеру в 9:00 начал в 16:00 закончил, теперь вопрос как мне сделать чтобы после окончания работы он не просто прекращал торговать но и удалял все ордера в том числе и отложенные? Заранее спасибо!

//+------------------------------------------------------------------+

//|                          Работа по времени                       |

//+------------------------------------------------------------------+

bool TDt(string CloseHour,string CloseMinute,string OpenHour,string OpenMinute) //   Функция проверяет со скольки до скольки можно

  {

   if(CloseHour=="23" && CloseMinute=="59" && OpenHour=="0" && OpenMinute=="0")return(true);


   

//   торговать. Если удовлетворяет условиям

   int TradingTime=false;                                    //   Возвращает ""можно""

   if(StrToTime(CloseHour+":"+CloseMinute)>StrToTime(OpenHour+":"+OpenMinute))

     {

      if(TimeCurrent()<StrToTime(CloseHour+":"+CloseMinute) && TimeCurrent()>=StrToTime(OpenHour+":"+OpenMinute)) //

         TradingTime=true;

     }

   if(StrToTime(CloseHour+":"+CloseMinute)<StrToTime(OpenHour+":"+OpenMinute))

     {

      if(TimeCurrent()<StrToTime(CloseHour+":"+CloseMinute) || TimeCurrent()>=StrToTime(OpenHour+":"+OpenMinute)) //

         TradingTime=true;

     }                                     //

   return(TradingTime);                                  //

  }  

Посмотрите, возможно поможет. Это богатство не мое. Взял когда-то на этом форуме из статьи об основах ООП. 

#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property script_show_inputs
#include <cOrder_Delete.mqh>

// Выбор символа. true  - удалять ордера всех символов, 
//                false - только с символом графика на котором выполняется скрипт
input bool AllSymbol=false;

// Включение типов удаляемых ордеров
input bool Buy       = true;
input bool Sell      = true;
//----------------------------------
input bool BuyStop       = true;
input bool SellStop      = true;
input bool BuyLimit      = false;
input bool SellLimit     = false;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
COrderClose cl;
COrderDelete dl;
void OnStart()
  {
// Передача классу внешних параметров
   dl.Init(AllSymbol,BuyStop,SellStop,BuyLimit,SellLimit);
   cl.Cl_Init(AllSymbol,Buy,Sell);
   cl.Close_Pos();
      bool Ret=dl.Delete();
// Обработка результата работы функции удаления
   if(Ret) 
     { 
       Alert("Работа скрипта завершена успешно"); 
     }
   else    
     { 
       Alert("При работе скрипта произошла ошибка, подробности см. в журнале"); 
     }
  }
Файлы:
 
Galim_V #:

Посмотрите, возможно поможет. Это богатство не мое. Взял когда-то на этом форуме из статьи об основах ООП. 

Спасибо за cOrder_Delete но мне нужно было на языке mql4, но все равно спасибо, я нашел скрипт CloseThemAll и теперь все работает как надо. Всем спасибо вопрос закрыт.
 

Всем добрый день!

Ищу грааль ... и меня не покидает ощущение что я его нашел. С 2010 года и по сегодня график баланса в тестере  идет строго на север с минимальными просадками. Ищу вместе с Альпари , на МТ4, методом моделирования ВСЕ ТИКИ. Смущает только одно - качество моделирования только 25%

Начал изучать данную тему и понял что для точности тестирования нужно не МОДЕЛИРОВАНИЕ тиков, а РЕАЛЬНЫЕ тики. Альпари скинуло мне ссылку с историей реальных тиков.
Если я правильно понимаю, сейчас тестер моделирует цену из файла который лежит в папке .... ТЕСТЕР - ИСТОРИЯ... и который весит 14 ГИГАбайт. Как я понял если я положу файл с реальными тиками куда нужно, то тестер будет не МОДЕЛИРОВАТЬ цену а брать ГОТОВУЮ и РЕАЛЬНУЮ цену из файла с реальными тиками.  Расширение реального файла с тиками отличается от расширения текущего файла из папки ТЕСТЕР-ИСТОРИЯ, который имеет расширение .fxt  Файл с реальными тиками имеет расширение .txt

ВОПРОС. Где взять пошаговую инструкцию о том что я должен сделать, в том числе с вышеуказанными файлами  ,  что бы тестер генерировал из файла с реальными тиками  реальные цены при тестировании.

При нажатии на  ссылку выпадает предупреждение что скачивание запрещено.... и меня начали посещать сомнения .... а действительно ли Альпари скинуло мне ссылку при помощи которой  я смогу добиться того что бы тестер генерировал реальные цены....

Это история реальных тиков которую мне скинула Альпари

Всем спасибо за помощь.

 
ANDREY #:

Всем добрый день!

Ищу грааль ... и меня не покидает ощущение что я его нашел. С 2010 года и по сегодня график баланса в тестере  идет строго на север с минимальными просадками. Ищу вместе с Альпари , на МТ4, методом моделирования ВСЕ ТИКИ. Смущает только одно - качество моделирования только 25%

Начал изучать данную тему и понял что для точности тестирования нужно не МОДЕЛИРОВАНИЕ тиков, а РЕАЛЬНЫЕ тики. Альпари скинуло мне ссылку с историей реальных тиков.
Если я правильно понимаю, сейчас тестер моделирует цену из файла который лежит в папке .... ТЕСТЕР - ИСТОРИЯ... и который весит 14 ГИГАбайт. Как я понял если я положу файл с реальными тиками куда нужно, то тестер будет не МОДЕЛИРОВАТЬ цену а брать ГОТОВУЮ и РЕАЛЬНУЮ цену из файла с реальными тиками.  Расширение реального файла с тиками отличается от расширения текущего файла из папки ТЕСТЕР-ИСТОРИЯ, который имеет расширение .fxt  Файл с реальными тиками имеет расширение .txt

ВОПРОС. Где взять пошаговую инструкцию о том что я должен сделать, в том числе с вышеуказанными файлами  ,  что бы тестер генерировал из файла с реальными тиками  реальные цены при тестировании.

При нажатии на  ссылку выпадает предупреждение что скачивание запрещено.... и меня начали посещать сомнения .... а действительно ли Альпари скинуло мне ссылку при помощи которой  я смогу добиться того что бы тестер генерировал реальные цены....

Это история реальных тиков которую мне скинула Альпари

Всем спасибо за помощь.

Забудьте… Тестер МТ4 никогда не будет работать на реальных тиках. Он так устроен…

Чтобы проверить свою стратегию на реальных тиках, вам надо переписать советник на mql5 и тестировать в тестере МТ5…

 
Alexey Viktorov #:

Забудьте… Тестер МТ4 никогда не будет работать на реальных тиках. Он так устроен…

Чтобы проверить свою стратегию на реальных тиках, вам надо переписать советник на mql5 и тестировать в тестере МТ5…

Спасибо за ценную информацию.

 
Alexey Viktorov #:

Забудьте… Тестер МТ4 никогда не будет работать на реальных тиках. Он так устроен…

Чтобы проверить свою стратегию на реальных тиках, вам надо переписать советник на mql5 и тестировать в тестере МТ5…

Отчасти можно согласиться. Но есть нештатные средства. 
Не считайте за рекламу, сам не пользуюсь и ответственности не несу.


 
Alexander Sevastyanov #:

Отчасти можно согласиться. Но есть нештатные средства. 
Не считайте за рекламу, сам не пользуюсь и ответственности не несу.


Спасибо. Буду иметь в виду. Но , как мне кажется , если у этого сервиса и есть реальные тиковые данные, то не факт что именно от Альпари. А если не от Альпари , то точность тестирования будет страдать.... Тем более что моя стратегия почти пипсовочная.  Сделки открываются по 1-2 сделки в день ,  внутри минутной свечи с ТР - 7 п. и СЛ - 15 п.