Questions des débutants MQL5 MT5 MetaTrader 5 - page 782

 
LookingFor:

Collègues, fonction MathSum, description ici

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

n'est pas reconnu dans la version 1643 . Dois-je tout démolir et mettre à jour ?

#include <Math\Stat\Math.mqh>
 

Veuillez m'aider à résoudre ce problème.

Chaque itération de la boucle dans le script doit être exécutée avec un délai sélectionné, comment cela peut-il être mis en œuvre ?

 
Aleksey Vyazmikin:

Veuillez m'aider à résoudre ce problème.

Chaque itération de la boucle dans le script doit être exécutée avec un délai sélectionné, comment cela peut-il être mis en œuvre ?

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

Merci ! J'avais complètement oublié cette possibilité !

 
Je voulais demander comment activer les stops suiveurs dans le testeur mt5, il s'ouvre mais ne suit pas, je ne comprends pas si c'est un courtier ou un nouveau terminal, je ne comprends pas...
 
Viktor Pavlov:
Je voulais demander comment activer le trailing stop dans le mt5 tester, il s'ouvre mais ne trailing stop, je ne comprends pas si c'est le courtier ou un nouveau terminal, je ne comprends pas

Stop suiveur

 

Aidez-moi à le traduire, j'ai essayé de le trouver moi-même, mais ça n'a pas marché - je n'ai pas trouvé d'analogues.

 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:

S'il vous plaît, dites-moi comment le traduire, j'ai essayé de le trouver moi-même, mais ça n'a pas marché - je n'ai pas trouvé d'analogues.

Il existe un tampon Last[]. Il est déjà rempli dans la première boucle. Ensuite, en fonction de l 'état du bouton (probablement, puisque la variable s'appelle ButtonSt), trois autres tampons sont remplis dans la boucle sur la base du tampon Last[], mais avec des valeurs différentes des différents indicateurs.

//--- если кнопка нажата
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:

Il existe un tampon Last[]. Il est déjà rempli dans la première boucle. Ensuite, en fonction de l'état du bouton (probablement, puisque la variable s'appelle ButtonSt), trois autres tampons sont remplis dans la boucle sur la base du tampon Last[], mais avec des valeurs différentes des différents indicateurs.

Merci de votre attention.

La vue générale de l'indicateur est la suivante, je n'ai absolument aucune idée de comment le faire sansiEnvelopesOnArray etiBandsOnArray.


 
Vitaly Muzichenko:

S'il vous plaît, dites-moi comment le traduire, j'ai essayé de le trouver moi-même, mais ça n'a pas marché - je n'ai pas trouvé d'analogues.

J'ai MovingAverages.mqh à la racine de include, mais je n'ai pas cherché BB, peut-être pas. Mais la meilleure façon de le faire est d'insérer le handle de l'indicateur de la source de données comme prix dans la fonction iMA.

J'ai un exemple avec l'iMA lissé uniquement.

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);

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

La même chose pour BB.

Si la source est un indicateur personnalisé, alors vous devez

  • Faites-le séparément.
  • Créez un nouvel indicateur.
  • Attachez le premier comme ressource.
  • Et puis après avoir obtenu sa poignée à iMA et d'autres fonctions.

Quel gâchis...

Raison: