Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 268

 
Николай Никитюк #:
2023.03.22_04:15 GMT+3. Здравствуйте! Недавно что-то случилось с МТ4 терминалом. Теперь при переключении между счетами он дёргается несколько раз, окна исчезают и появляются снова, по диспетчеру задач видно, что процессор чем-то сильно занят. Это происходит сравнительно долго. Дольше, чем раньше, до ошибки. Мне что, переустановить МТ4? Кто знает, подскажите. Это, наверно, вопрос к MetaQuotes. Но с чего это началось я не понял. Буду ждать ответа. 04:24 GMT+3.

из личной практики эксплуатации : "окна исчезают и появляются" при докачке истории (в последних версиях это усугублено и заметно) и

как правило лечение проблем с MT4/MT5 начинается с

1) что запущено в терминале (советники и индикаторы). 

2) что накачено в терминал. 

3) совместные проблемы :-) например какой-нибудь рассчёт имеет сложность O(N^2) без ограничений по N и накачено много-много N ; или возникли проблемы с HDD - либо действительно физически приказывает долго жить, либо заканчивается объём "диска це" (win имеет такое свойство начинать втормаживать при этом). Или имеются граф.объекты в неведомой дали (с очень старыми точками привязок)

самое простое решение: почистить историю котировок, удалить из чартов всё накопленное и лишнее. Очень повезло, что в mt4 всё-таки пользователь управляет этим. 

 
Николай Никитюк #:
2023.03.22_04:15 GMT+3. Здравствуйте! Недавно что-то случилось с МТ4 терминалом. Теперь при переключении между счетами он дёргается несколько раз, окна исчезают и появляются снова, по диспетчеру задач видно, что процессор чем-то сильно занят. Это происходит сравнительно долго. Дольше, чем раньше, до ошибки. Мне что, переустановить МТ4? Кто знает, подскажите. Это, наверно, вопрос к MetaQuotes. Но с чего это началось я не понял. Буду ждать ответа. 04:24 GMT+3.

Сделай как сказал Алексей

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Вопросы от начинающих MQL4 MT4 MetaTrader 4

Alexey Viktorov, 2023.03.22 07:21

Можно просто сохранить советники, скрипты и индикаторы которые писали сами или на заказ. Потом удалить всё кроме файлов terminal.exe и metaeditor.exe и запустите терминал как обычно по ярлыку на столе. Затем верните взад самописные советники и прочее. 


Это лучшее решение. Я сохраняю свои индикатор, эксперты, библиотеки, скрипты, шаблоны и профили. Дальше как указано выше.
 
Добрый день, подскажите плиз, на диске кончилась память, так понимаю тестами в mql все загрузил, как очистить не удаляя прогу со скриптами, спасибо.
 
walter27 #:
Добрый день, подскажите плиз, на диске кончилась память, так понимаю тестами в mql все загрузил, как очистить не удаляя прогу со скриптами, спасибо.

Сиклинером почисть, только с правами админа. Или логи и тмп файлы сам удали.

 
Valeriy Yastremskiy #:

Сиклинером почисть, только с правами админа. Или логи и тмп файлы сам удали.

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

Подскажите, как реализовать тейк профит, чтобы он считался как разница между Open[3] и Close[1]? Тестер постоянно присылает ошибки 130 и 4107. Я сделал вот так, но, очевидно, что косяк)))


if(OrderCount(OP_SELL) == 0 && OrderCount(OP_BUY) == 0)
     {
      double body1 = Close[1];
      double body2 = Close[2];
      double body3 = Close[3];
      double PriceMA = iMA(NULL,0,PeriodMA,0,MODE_LWMA,PRICE_WEIGHTED,0);
      double stopikBUY = Low[3];
      double stopikSELL = High[3];
      double takeSELL = NormalizeDouble((Open[3] - Close[1])*_Point,_Digits);
          Print(takeSELL);
      double takeBUY = NormalizeDouble((Close[3] - Open[1])*_Point,_Digits);
          Print(takeBUY);
         
         if(body1 < PriceMA && body2 < body3) //Три свечки + Close последнего бара ниже мувинга
                 
              {
               if(OrderSend(_Symbol,OP_SELL,Lot,Bid,Slippage,stopikSELL,takeSELL,Comm,Magic,0,Red) > -1)
                 {
                  Print("Открыта соль");
                 }else Print("Ошибка открытия селлов");
              }
 
Sergey Izhutov #:

Подскажите, как реализовать тейк профит, чтобы он считался как разница между Open[3] и Close[1]? Тестер постоянно присылает ошибки 130 и 4107. Я сделал вот так, но, очевидно, что косяк)))


      double takeSELL = NormalizeDouble(MathAbs(Open[3] - Close[1]),_Digits);
          Print(takeSELL);
      double takeBUY = NormalizeDouble(MathAbs(Close[3] - Open[1]),_Digits);
          Print(takeBUY);
        
      if(body1 < PriceMA && body2 < body3) //Три свечки + Close последнего бара ниже мувинга
        {
         if(OrderSend(_Symbol,OP_SELL,Lot,Bid,Slippage,stopikSELL,Bid-takeSELL,Comm,Magic,0,Red) > -1)
           Print("Открыта соль"); else Print("Ошибка открытия селлов");
        }
 
Tretyakov Rostyslav #:

Огромное спасибо! Всё-таки через MathAbs)) А я отмёл эту идею. А я смотрю вы убрали _Point, т.е. при нормализации это необязательно?  MathAbs возвращает число типа double, т.е. уже нормализованное, получается?

 
Sergey Izhutov #:

Огромное спасибо! Всё-таки через MathAbs)) А я отмёл эту идею. А я смотрю вы убрали _Point, т.е. при нормализации это необязательно?  MathAbs возвращает число типа double, т.е. уже нормализованное, получается?

возвращает положительное число типа double

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