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

 
sion:

if должен с массивами так работать иль это баг?

Баг, потому как нижеследующее не компилируется, а значит и Ваш пример не должен
( (bool)ts )
( (int)ts )
( ts == true )
( ts != NULL )
 
Vladon:

насколько я знаю - обновление терминала делается не просто так, то что некотоыре функции становятся битыми это есть такое. 

Но как запретить обновление - тут должна сработать смекалка, ведь это ооочень просто мне кажется. 

Действительно, все просто :) 

А где все-таки почитать что изменилось в новой сборке?

Спасибо! 

 
ns_k:

Действительно, все просто :) 

А где все-таки почитать что изменилось в новой сборке?

Спасибо! 

https://www.mql5.com/ru/forum/23
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 

День добрый!

Использую уровни в окне индикатора

IndicatorSetDouble(INDICATOR_LEVELVALUE,1,80);  

Хорошо, что уровней может быть несколько. Есть ли возможность устанавливать одно и тоже свойство для разных уровней разными?

Т.е., например, я хотел бы 1,80 рисовать синим сплошным, а 0,20 отрисовывать черным пунктиром. 

Спасибо! 

 
  void fLog(string Message){
    //ЗАПИСЬ В ТХT
   ResetLastError();
    filehandle=FileOpen(file_name,FILE_WRITE|FILE_TXT);
   if(filehandle!=INVALID_HANDLE){
        FileSeek(filehandle,0,SEEK_END);
        FileWrite(filehandle,Message);
        FileClose(filehandle);
        //Print("Запись удачна!"); 
     }
   else Print("Операция FileOpen неудачна, ошибка ",GetLastError()); 
        } 
Хочу дописать в конец файл, а оно затирается. Что не так?
 

Если FILE_WRITE –  файл создается заново с нулевым размером

Если FILE_READ|FILE_WRITE – создаётся новый файл если файл с таким именем отсутствует.

 

 

 Пишу код

 

//+------------------------------------------------------------------+
//|                                                   LEVELSTEST.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_buffers 1
#property indicator_plots   1

int OnInit()
  {
//--- indicator buffers mapping
  
  
   IndicatorSetInteger(INDICATOR_LEVELS,2);
   IndicatorSetInteger(INDICATOR_LEVELCOLOR,clrBlue);
   IndicatorSetInteger(INDICATOR_LEVELSTYLE,2);
   IndicatorSetDouble(INDICATOR_LEVELVALUE,0,30.0);
   IndicatorSetDouble(INDICATOR_LEVELVALUE,1,50.0);
      
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
  {
//---
   
  }
//+------------------------------------------------------------------+

 

 

Получаю на выходе

 https://www.mql5.com/en/charts/408767/eurusd-m5-alpari-fs-levels-test

 

Так должно быть или все таки и уровень 50 должен отрисовываться синим пунктиром?

Спасибо! 

Chart EURUSD, M5, 2013.06.16 22:20 UTC, Alpari FS, MetaTrader 5, Demo
Chart EURUSD, M5, 2013.06.16 22:20 UTC, Alpari FS, MetaTrader 5, Demo
  • www.mql5.com
Chart EURUSD, M5, Alpari FS: LEVELS TEST
 
A100:

Если FILE_WRITE –  файл создается заново с нулевым размером

Если FILE_READ|FILE_WRITE – создаётся новый файл если файл с таким именем отсутствует.

 

Спасибо.
 
ns_k:

Хорошо, что уровней может быть несколько. Есть ли возможность устанавливать одно и тоже свойство для разных уровней разными?

Т.е., например, я хотел бы 1,80 рисовать синим сплошным, а 0,20 отрисовывать черным пунктиром. 

Конечно, только на днях опубликовали примеры:

  1. Demo_IndicatorSetInteger
  2. Demo_IndicatorSetDouble
  3. Demo_IndicatorSetString
 
A100:
Баг, потому как нижеследующее не компилируется, а значит и Ваш пример не должен

ts==true и ts!=NULL - это совершенно разные выражения.

Более того

ts==true и ts!=false - это тоже разные выражения

А знаете, чем они разные? Не только по синтаксису, но и по семантике

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