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

 
Voici un exemple de la façon dont j'utilise l'indicateur, ils sont tous identiques.
double  iMAf( string symbol, ENUM_TIMEFRAMES timeframe, int period, int ma_shift, ENUM_MA_METHOD ma_method, int applied_price, int shift){
 
 
 
                   int handle=iMA(symbol,timeframe,periodd(period),ma_shift, ma_method,applied_price);Sleep(2000);
                    CopyBuffer(handle,0,0,100,MA);
                    ArraySetAsSeries(MA,true);
    return( (MA[shift])); } 
                   

Prescrit en dehors de toutes les fonctions

 double MA[]; 
//---- handles for indicators
int MA_handle;

Ai-je mal écrit quelque chose en général, ou bien où chercher en général, qu'est-ce qui ne va pas ?

 

Les manipulateurs sont créés dans OnInit()

void OnInit()
  {
   ma_h=iMA(_Symbol,_Period,MA_Period,0,MODE_SMA,PRICE_CLOSE);
  }

Nous obtenons les données dans OnTick ()

void OnTick()
  {
   CopyBuffer(ma_h,0,1,2,ma);
  }

Il s'agit d'un exemple de construction standard.

 
Maintenant, je vais utiliser le bloc-notes pour trouver ces indicateurs spécifiquement
 
Merci !!!!
 
Il ne se déclenche qu'une fois, au démarrage, et ensuite ?
 
Vous créez les indicateurs une fois, puis vous en tirez les valeurs au fur et à mesure que vous travaillez.
 
Je suis désolé, qu'est-ce qui ferait que la poignée se redessine avec l'arrivée de nouveaux ticks ou au moins de nouvelles barres, si elle est créée dans son init ? Vraiment, je veux juste comprendre.
 
Dimka-novitsek:
Je suis désolé, qu'est-ce qui ferait que la poignée se redessine avec l'arrivée de nouveaux ticks ou au moins de nouvelles barres, si elle est créée dans son init ? Vraiment, je veux juste comprendre.
Handle est l'id, la référence à l'indicateur. une fois reçu et ensuite CopyBuffer( handle,....)
 
Dimka-novitsek:
Quatre mille trois cent deux n'est pas une chaîne, et qu'est-ce qui ne va pas avec elle de toute façon ?

Lorsque le compilateur émet une erreur, il indique le numéro de la ligne et le numéro de la position du curseur.

Lorsque le terminal émet une erreur, il indique le numéro de l'erreur. Reportez-vous à la section Erreurs d'exécution du manuel, et voyez quelle erreur correspond à la valeur "4302". L'emplacement de la création de la poignée est une question secondaire :)

 
MERCI ! !!
Raison: