Ошибки, баги, вопросы - страница 3287

 
Nikita Chernyshov #:

Честно говоря, у вас много проблем в коде. Там одно тянет другое.

Понятно дело. Первый раз пытаюсь писать )

 
Nikolay Grigoryev #:

Понятно дело. Первый раз пытаюсь писать )

Вставляйте правильно код -

----------------‌

MQL5.community - Памятка пользователя 

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

MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 
Sergey Golubev #:

Вставляйте правильно код -

----------------‌

MQL5.community - Памятка пользователя 

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

//+------------------------------------------------------------------+
//|                                                       Expert.mq4 |
//|                                                       nickolay2i |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "nickolay2i"
#property link      ""
#property version   "1.00"
#property strict

extern double Tick               = 0.002;
      extern double Volumesize         = 0.01;
      extern int StopLoss              = 50;
      extern int TakeProfit            = 50;
      extern int Slippage              = 3;
      extern int Magic                 = 0701;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit();
  {


  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick();
  {
         double   SL = NormalizeDouble(Bid - StopLoss, 5);
         double   TP = NormalizeDouble(Bid + TakeProfit, 5);
        
            
            
           
            if(MODE_TICKVALUE > Tick);
          {
            OrderSend(Symbol(),OP_BUY, Volumesize,Bid,Slippage,SL,TP,"", Magic, 0, Blue);
           }
  }
//+------------------------------------------------------------------+
 
Nikolay Grigoryev #:
//+------------------------------------------------------------------+
//|                                                       Expert.mq4 |
//|                                                       nickolay2i |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "nickolay2i"
#property link      ""
#property version   "1.00"
#property strict

extern double Tick               = 0.002;
      extern double Volumesize         = 0.01;
      extern int StopLoss              = 50;
      extern int TakeProfit            = 50;
      extern int Slippage              = 3;
      extern int Magic                 = 0701;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() //;
  {


  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() //;
  {
         double   SL = NormalizeDouble(Bid - StopLoss, 5);
         double   TP = NormalizeDouble(Bid + TakeProfit, 5);
        
            
            
           
            if(MODE_TICKVALUE > Tick) // ;
          {
            OrderSend(Symbol(),OP_BUY, Volumesize,Bid,Slippage,SL,TP,"", Magic, 0, Blue);
           }
  }
//+------------------------------------------------------------------+

Вот так

 
Vladimir Pastushak #:

Вот так

На 24 строку ругается. И 46ю.

 
Nikolay Grigoryev #:

На 24 строку ругается. И 46ю.

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2018, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "nickolay2i"
#property link      ""
#property version   "1.00"
#property strict

extern double Tick               = 0.002;
extern double Volumesize         = 0.01;
extern int StopLoss              = 50;
extern int TakeProfit            = 50;
extern int Slippage              = 3;
extern int Magic                 = 0701;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() //;
  {
   return (INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() //;
  {
   double   SL = NormalizeDouble(Bid - StopLoss, 5);
   double   TP = NormalizeDouble(Bid + TakeProfit, 5);
   if(MODE_TICKVALUE > Tick) // ;
     {
      int ticket = OrderSend(Symbol(),OP_BUY, Volumesize,Bid,Slippage,SL,TP,"", Magic, 0, Blue);
     }
  }
//+------------------------------------------------------------------+
 
//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2018, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property copyright "nickolay2i"
#property link      ""
#property version   "1.00"
#property strict

input double Tick               = 0.002;
input double Volumesize         = 0.01;
input int StopLoss              = 50;
input int TakeProfit            = 50;
input int Slippage              = 3;
input int Magic                 = 0701;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() //;
  {
   return (INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() //;
  {
   double   SL = NormalizeDouble(Ask - StopLoss*_Point, 
_Digits);
   double   TP = NormalizeDouble(Ask + TakeProfit*_Point, 
_Digits);
   if(::OrdersTotal()==0 && ::SymbolInfoDouble(_Symbol,MODE_TICKVALUE)/*тут или MarketInfo или SymbolInfo(*/ > Tick) // ;
     {
      int ticket = OrderSend(Symbol(),OP_BUY, Volumesize,Ask,Slippage,SL,TP,"", Magic, 0, Blue);
     }
  }
//+------------------------------------------------------------------+
 
Sergey Golubev #:

Вставляйте правильно код -

----------------‌

MQL5.community - Памятка пользователя 

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

И тему перенести бы в вопросы и ответы)
 

Здравствуйте. Сервисдеск отправил на ... форум с моими пожеланиями, что я и делаю (надеюсь прочитают разработчики)

1. В режиме тестирования на кастомных символах не читается формула этого кастомного символа через SYMBOL_FORMULA
2. При копировании кастомного символа вручную через окно Symbols с другого кастомного символа, неверная цена тика, добавляется поле Volume Limit со значением 0.1 и время сессий не копируется
3. Нет функции ограничения используемого дискового пространства для тиков для онлайн символов (но хоть можно удалять на горячую файлы). Забивает винт файлами tks на брокере R..nF...x на счетах с криптой. Приходится через bat файл и Планировщик Заданий windows 5 раз в сутки выполнять задачу по удалению фалов.
4. При использовании CustomTicksAdd в скрипте по формированию кастомной истории для кастомных символов, забивает оперативную память, что в свою очередь вешает систему и ни как ее не освободить, только перезагрузка терминала. Задача правда не тривиальная - для 7000 кастомных символов тиковую историю записать, но все же, думаю, что лучше это исправить
5. При использовании CustomRatesAdd для кастомных символов (использую скрипт для онлайн получения котировок с Бинанс) также забивает дисковое пространство, только файлами hst, причем на горячую файлы удалить нельзя. Приходится выключать терминал и удалять файлы
6. При оптимизации, если не хватает RAMM, также вешает систему. Приходится вручную отслеживать заполненность RAMM и вручную подключать/отключать агентов. Старая проблема...

7. Когда более 20.000 позиций после тестирования, невозможно сохранить отчет в html, пишет, что памяти недостаточно в браузере Y...x (хотя у меня 128GB RAMM). Приходится сохранять скриншоты.
    Было бы полезно сделать две опции сохранения отчета по тестированию в html: "полный" - с ордерами и сделками, как сейчас, и "краткий" - без них соотв.

8. Также было бы не плохо, на графике кривой баланса в отчете по тестированию, показывать помимо кривой баланса, еще и кривую эквити и загрузку депозита (как в отчетах МТ4)

9. Свежачок - в билде 3550 не запоминается размер окна с входными параметрами (когда кидаешь скрипт или робот на график)...раньше запоминал и было так удобно
 
jurijsk #:

3. Нет функции ограничения используемого дискового пространства для тиков для онлайн символов (но хоть можно удалять на горячую файлы). Забивает винт файлами tks на брокере R..nF...x на счетах с криптой. Приходится через bat файл и Планировщик Заданий windows 5 раз в сутки выполнять задачу по удалению фалов.

Там всего 140 онлайн-символов. Объем tkc-файлов - объем трафика по их передаче. Т.е. несколько раз в сутки выкачиваете с сервера огромные объемы данных! Похоже на неправильное формирование входных параметров CopyTicks-функций.