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

 
Top2n:


Merci ! Si une autre question ne vous dérange pas, comment diable peut-on diviser un tableau à deux dimensions en deux, la logique s'effondre, n'est-ce pas ?

Si vous voulez donner un tableau à deux dimensions à partir d'un indicateur, créez un tampon pour chaque dimension du tableau.

La mémoire tampon 0 est la première dimension, la mémoire tampon 1 est la deuxième dimension.

Et les faire entrer dans l'EA de la manière habituelle.

 
Artyom Trishkin:

Si vous voulez donner un tableau à deux dimensions à partir d'un indicateur, créez un tampon pour chaque dimension du tableau.

La mémoire tampon 0 est la première dimension, la mémoire tampon 1 est la deuxième dimension.

Et les faire entrer dans l'EA de la manière habituelle.


Merci, mais si la dimensionnalité est de 1000*1000, alors pas comment.

Alors comment diviser un tableau à deux dimensions en deux ?

J'ai un tableau unidimensionnel de données sur chaque barre.

 
Top2n:


Merci, mais si la dimensionnalité est de 1000*1000, alors pas question.

Alors comment fait-on pour diviser un tableau à deux dimensions en deux ?

J'ai compris que sur chaque barre il y a un tableau de données à une dimension.

Pourquoi faut-il tout calculer dans l'indicateur pour le transmettre au conseiller expert ? Il suffit de tout calculer dans le conseiller expert - ce sera plus facile.
 
Artyom Trishkin:
Pourquoi devez-vous effectuer des calculs dans un indicateur et les transmettre ensuite au conseiller expert ? Il suffit de tout calculer dans le conseiller expert - ce sera plus facile.


J'ai une classe qui utilise le paramètre&price[]

OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
   sm.Solve(rates_total,prev_calculated,price);

Je ne peux pas le contourner dans l'EA.

 
Top2n:


J'ai une classe qui utilise&price[] comme paramètre

Je ne peux pas le contourner dans l'EA.

Lisez attentivement la section "Accès aux séries temporelles et aux indicateurs" de la documentation et tout deviendra clair.

Vous pouvez également utiliser"SymbolInfoTick" pour obtenir les prix dans les EAs.

Документация по MQL5: Доступ к таймсериям и индикаторам
Документация по MQL5: Доступ к таймсериям и индикаторам
  • www.mql5.com
Доступ к таймсериям и индикаторам - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Chers collègues, bonne journée.

J'ai lu environ 20 sujets sur MQL5 mais je n'ai pas trouvé de réponse à la question suivante : où puis-je obtenir un exemple de code d'un simple conseiller expert MQL5 pour le trading automatisé FORTS ?

Plus l'EA est simple, mieux c'est. Plus l ' EA est simple, mieux c'est.

J'ai déjà un code qui fonctionne dans MT5.


J'ai travaillé auparavant pour Tranzac, AmiBroker et un terminal informatique. Je n'ai jamais travaillé avec MetaTrader 4 ou 5,

Mais maintenant Jus2Trade (apparemment c'est une filiale de Finam) a MT5 avec accès aux forts et aux futures américains.

Je veux l'essayer sur MT5, mais je n'arrive pas à trouver un bon exemple qui fonctionne correctement. Tous les exemples sont pour le forex.

Collègues, poussez le lien, s'il vous plaît.

 
Alexey Viktorov:

Lisez attentivement la section "Accès aux séries temporelles et aux indicateurs" de la documentation et vous verrez tout.

Vous pouvez également utiliser"SymbolInfoTick" pour obtenir les prix dans les EAs.


Je ne comprends pas.
 

Bonnes gens, conseillez comment contourner ces paramètres dans un EA, je n'arrive pas à comprendre comment utiliser une classe personnalisée pour un indicateur dans un EA.

sm.Solve(rates_total,prev_calculated,price);

Info : lors du démarrage de l'indicateur j'utilise la SMA, appliquer à HL/2

 
Top2n:

Bonnes gens, conseillez comment contourner ces paramètres dans un EA, je n'arrive pas à comprendre comment utiliser une classe personnalisée pour un indicateur dans un EA.

Info : J'utilise la SMA lors du démarrage de l'indicateur, appliquer à HL/2

Je n'ai pas besoin de rates_total ou prev_calculated dans mon EA. Marchez sur ces expressions incompréhensibles et appuyez sur F1, lisez ce qu'elles signifient, peut-être qu'alors cela deviendra plus clair. Après tout, toute action doit avoir un sens. Comment pouvez-vous faire quelque chose sans penser à ce que vous pensez que cela peut ou ne peut pas marcher ? Comment pouvez-vous utiliser quelque chose sans comprendre ce que c'est ?

Eh bien, imaginez que si vous voulez planter un clou, vous essayez de le faire avec un râteau ou un microscope sans comprendre à quoi vous avez affaire...

Si vous avez besoin des valeurs de l'indicateur iMA sur les 2-3 dernières barres, vous pouvez les obtenir via CopyBuffer par un handle de l'indicateur créé précédemment. Juste là, quand vous créez un indicateur et obtenez son handle.

PRIX_MEDIAN

Le prix médian, (haut+bas)/2


Et il existe un exemple absolument clair dans la documentation.

Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
Технические индикаторы / iMA - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Ni rates_total ni prev_calculated ne sont nécessaires dans l'EA. Marchez sur ces expressions incompréhensibles et appuyez sur F1, lisez ce qu'elles signifient, peut-être qu'alors cela deviendra plus clair. Après tout, toute action doit avoir un sens. Comment pouvez-vous faire quelque chose sans penser à ce que vous pensez que cela peut ou ne peut pas marcher ? Comment pouvez-vous utiliser quelque chose sans comprendre ce que c'est ?

Eh bien, imaginez que si vous voulez planter un clou, vous allez essayer de le faire avec un râteau ou un microscope sans comprendre ce à quoi vous avez affaire.

Si vous avez besoin des valeurs de l'indicateur iMA sur les 2-3 dernières barres, vous pouvez les obtenir via CopyBuffer par un handle de l'indicateur créé précédemment. Juste là, quand vous créez un indicateur et obtenez son handle.

PRIX_MEDIAN

Le prix médian, (haut+bas)/2


Et il existe un exemple absolument clair dans la documentation.


Ok, j'ai exagéré avec les deux premiers rates_total et l'autre, mais au lieu de prece ->&aData[]. vous devriez intégrer la classe, pas les indicateurs par copybuff

la classe est

//+------------------------------------------------------------------+
void  CSMA_Greed::Solve(const int aRatesTotal,const int aPrevCalc,const double  &aData[])
  {
   rt=aRatesTotal; prv=aPrevCalc;
   for(int i=0;i<m_max_period;i++)ArrayResize(d[i].m,rt);
   chsma.Solve(rt,prv,aData,d[m_max_period-1].m);

   for(int i=prv>m_max_period?prv:m_max_period;i<rt;i++)
     {
      temp=d[m_max_period-1].m[i]*m_max_period;
      for(int j=m_max_period-2;j>=0;j--)
        {
         temp-=aData[i-(j+1)];
         d[j].m[i]=temp/(j+1);
        }
     }
  };
Raison: