Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 1037

 
Artyom Trishkin:

Verificar. PLOT_SHOW_DATA

Muito obrigado!

 
Pode sugerir um análogo para a função MQL5 de SetIndexDrawBegin() da MQL4.
 
The_Sheikh:
Sugerir por favor um análogo para a função MQL5 SetIndexDrawBegin() da MQL4.

https://www.mql5.com/ru/articles/81

void SetIndexDrawBegin(int index,
                       int begin)
bool PlotIndexSetInteger(index,PLOT_DRAW_BEGIN,begin)
SetIndexDrawBegin
Definir o número de série da barra desde o início dos dados, a partir do qual o desenho da linha indicadora indicada deve começar.
PlotIndexSetInteger
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 
É possível desactivar os registos do testador de estratégias no MT5? Não tenho nenhuma impressão de reserva, mas tenho 20Gb durante a noite, o VPS está encravado. Tenho estratégia em 7 pares e até 10 negócios por dia em cada...
 
Evgeny Dyuka:
É possível desactivar os registos do testador de estratégias no MT5? Não tenho nenhuma impressão de reserva, mas tenho 20Gb durante a noite, o VPS está encravado. Tenho estratégia em 7 pares e até 10 negócios por dia em cada...

Existe um EA multi-divisas a funcionar em VPS? Para que período foi o teste? Ou há 7 testadores em funcionamento?

 
Alexey Viktorov:

Existe um EA multi-divisas a funcionar no VPS? Durante que período é entregue o teste? Ou há 7 testadores em funcionamento?

Uma EA com 7 pares de moedas, 70-80 negócios por dia, coloca-o durante um ano, após 5 horas de teste o registo era superior a 20Gb, o VDS morreu. O problema com os toros é constante, por vezes o depoimento de garrafas não pára o teste, mas continua a mostrar uma carga de 150% e se eu não o parar verei toros até o VDS pendurar. Resolvi este problema programmaticamente - quando "Sedstva" é menos de 10% do depoimento inicial, o testador pára, mas é uma muleta. Mas eu não sei o que fazer com uma moeda múltipla.

 

A alteração do tipo de dados quebra a normalização:


      V=NormalizeDouble(size,2);
      closePrice=NormalizeDouble(partPrice,_Digits);

      Print("V = ",V, "","  closePrice = ",closePrice);
      Print("V = ",DoubleToString(V), "","  closePrice = ",DoubleToString(closePrice));


2019.05.05 20:04:29.483 _part_close (EURUSD,D1) V = 0.01 closePreço = 1.13456

2019.05.05 20:04:29.483 _part_close (EURUSD,D1) V = 0.01000000 closePreço = 1.13456000


Isto é normal?

 
psyman:

A alteração do tipo de dados quebra a normalização:

Isto é normal?

Não há conversões de tipo no seu código, apenas utilizou a funçãohttps://www.mql5.com/ru/docs/convert/doubletostring.

com o parâmetro padrão, por isso tem 8 caracteres em Print()

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
[in]  Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то...
 

Olá!

Não consigo perceber qual é o erro. Preciso de receber todas as carraças para a vela actual.

Ao verificar, o tamanho do conjunto de carraças não muda, e não é igual ao número actual de carraças da vela.

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[])
  {
   ArraySetAsSeries(time,true);
   _R=__TIK__(time,0);
   return(rates_total);
  }
//+------------------------------------------------------------------+
bool __TIK__(const datetime &time[],int _i)
  {
   MqlTick tick_array[];   // массив для приема тиков 
   MqlTick lasttick;       // для получения данных последнего тика 

   ulong    from_msc=time[_i]*1000;  
   ulong    to_msc=time[_i+1]*1000;              

   CopyTicksRange(Symbol(),tick_array,COPY_TICKS_ALL,from_msc,to_msc);
   int __ArraySize=ArraySize(tick_array);
   Print((string)__ArraySize+"  "+(string)time[_i]+"  "+(string)time[_i+1]);


   return ( false );
  }
 

Como posso mudar a cor de uma linha de encomenda ou de uma posição aberta?

Neste momento estão todos verdes, o que causa confusão, e não consigo encontrá-los pela força bruta

   int obj_total=ObjectsTotal(0,0,-1);
   string name;
   for(int i=0;i<obj_total;i++)
    {
     name = ObjectName(0,i,-1,-1);
     Print(i," - объект ",name);
    }

Apenas os objectos que foram criados pelo utilizador estão disponíveis.

Razão: