Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 782

 
LookingFor:

Colleghi, funzione MathSum, descrizione qui

https://www.mql5.com/ru/docs/standardlibrary/mathematics/stat/mathsubfunctions/statmathsum

non è riconosciuto nella build 1643 . Devo smontare tutto e aggiornarlo?

#include <Math\Stat\Math.mqh>
 

Per favore, aiutatemi a risolvere il problema.

Ogni iterazione del ciclo nello script deve essere eseguita con un ritardo selezionato, come può essere implementato?

 
Aleksey Vyazmikin:

Per favore, aiutatemi a risolvere il problema.

Ogni iterazione del ciclo nello script deve essere eseguita con un ritardo selezionato, come può essere implementato?

for(...)
  {
   ...
   Sleep();
  }
 
Alexey Kozitsyn:

Grazie! Avevo completamente dimenticato questa possibilità!

 
Volevo chiedere come abilitare i trailing stop nel tester mt5, si apre ma non traccia, non capisco se è il broker o un nuovo terminale, non capisco
 
Viktor Pavlov:
Volevo chiedere come abilitare il trailing stop nel tester mt5, si apre ma non fa trailing stop, non capisco se è il broker o un nuovo terminale, non capisco

Trailing Stop

 

Aiutatemi a tradurlo, ho provato a trovarlo da solo, ma non ha funzionato - non ho trovato nessun analogo

 for(int i=0; i<limit; i++) {
    if(ButtonSt) {
     MA[i]=iMAOnArray(Last,0,Env_Period,0,MODE_SMA,i);
     EnvUp[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_UPPER,i);
     EnvDn[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_LOWER,i);
    } else {
     MA[i]=iMAOnArray(Last,0,BB_Period,0,MODE_SMA,i);
     EnvUp[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_UPPER,i);
     EnvDn[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_LOWER,i);
    }
  }
 
Vitaly Muzichenko:

Per favore ditemi come tradurlo, ho provato a cercarlo da solo, ma non ha funzionato - non ho trovato nessun analogo

C'è un buffer Last[]. È già riempito nel primo ciclo. Poi, a seconda dello stato del pulsante (probabilmente, dato che la variabile si chiama ButtonSt) vengono riempiti altri tre buffer nel ciclo basato sul buffer Last[], ma con valori diversi di diversi indicatori.

//--- если кнопка нажата
if(ButtonSt) {
  //--- нарисовать MA с периодом Envelopes на данных линии буфера Last
  MA[i]=iMAOnArray(Last,0,Env_Period,0,MODE_SMA,i);
  //--- нарисовать верхнюю линию Envelopes на данных линии буфера Last
  EnvUp[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_UPPER,i);
  //--- нарисовать нижнюю линию Envelopes на данных линии буфера Last
  EnvDn[i]=iEnvelopesOnArray(Last,0,Env_Period,MODE_SMA,0,Env_Dev,MODE_LOWER,i);
//--- если кнопка не нажата
 } else {
  //--- нарисовать MA с периодом Bollinger Bands на данных линии буфера Last
  MA[i]=iMAOnArray(Last,0,BB_Period,0,MODE_SMA,i);
  //--- нарисовать верхнюю линию Bollinger Bands на данных линии буфера Last
  EnvUp[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_UPPER,i);
  //--- нарисовать нижнюю линию Bollinger Bands на данных линии буфера Last
  EnvDn[i]=iBandsOnArray(Last,0,BB_Period,BB_Dev,0,MODE_LOWER,i);
 }
 
Artyom Trishkin:

C'è un buffer Last[]. È già riempito nel primo ciclo. Poi, a seconda dello stato del pulsante (probabilmente, dato che la variabile si chiama ButtonSt) altri tre buffer vengono riempiti nel ciclo sulla base del buffer Last[], ma con valori diversi di diversi indicatori.

Grazie per l'attenzione.

La vista generale dell'indicatore è la seguente, non ho assolutamente idea di come farlo senzaiEnvelopesOnArray eiBandsOnArray.


 
Vitaly Muzichenko:

Per favore, ditemi come tradurlo, ho provato a cercarlo da solo, ma non ha funzionato - non ho trovato nessun analogo.

Ho MovingAverages.mqh nella root di include, ma non ho cercato BB, forse no. Ma il modo migliore per farlo è inserire l'indicatore handle dell'origine dati come prezzo nella funzione iMA.

Ho un esempio con la sola iMA lisciata

int haMa8, haFastMa, haMa21, haSlowMa;

int OnInit()
 {
   haMa8  = iMA(_Symbol, PERIOD_CURRENT, perFastMa, 0, metodFastMa, priceFastMa);
   haFastMa = iMA(_Symbol, PERIOD_CURRENT, perFastMa, 0, metodFastMa, haMa8);
   
   haMa21 = iMA(_Symbol, PERIOD_CURRENT, perSlowMa, 0, metodSlowMa, priceSlowMa);
   haSlowMa = iMA(_Symbol, PERIOD_CURRENT, perSlowMa, 0, metodSlowMa, haMa21);

//Продолжение догадаешься

Lo stesso per BB.

Se la fonte è un indicatore personalizzato, allora dovete

  • Fallo separatamente.
  • Creare un nuovo indicatore.
  • Allega il primo come risorsa.
  • E poi dopo aver ottenuto la sua maniglia per iMA e altre funzioni.

Che pasticcio...