Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 691

 
Pouvez-vous me dire si un EA écrit pour MT5 peut être exécuté sur la dernière version de MT4 et vice versa ?
 
borilunad:

Petite erreur : 0=Close, 1=Open, le reste est correct.

L'ouverture n'est pas nécessaire. La tâche principale était de savoir comment mettre des variables dans le testeur pour faire des exécutions EA basées sur l'indicateur, qui peut être construit sur différents types de prix.

Ici, il ne faut pas oublier de fixer le prix de 1 à 6, par incréments d'un, lors de l'optimisation.

 
rambo:
Pouvez-vous me dire si un EA écrit pour MT5 peut être exécuté sur la dernière version de MT4 et vice versa ?
S'il compile, vous pouvez l'exécuter, mais fonctionnera-t-il comme prévu, telle est la question.
 
Forexman77:

L'ouverture n'est pas nécessaire. La tâche principale était de savoir comment mettre des variables dans le testeur pour faire des exécutions EA basées sur l'indicateur, qui peut être construit sur différents types de prix.

Il ne faut pas oublier ici de fixer le prix de 1 à 6, par incréments de un, lors de l'optimisation.


Mais le prix d'ouverture est de 1, le prix de fermeture est de 0. Voir Doc !
 
Forexman77:

Si quelqu'un en a besoin, j'ai trouvé comment faire un rendu d'indicateur de type prix sans constructions compliquées :

input ENUM_APPLIED_PRICE price=0;

price=iMA(NULL, 0, 1, 0, MODE_SMA, price, i);

C'est peut-être plus facile, mais si vous devez ajouter d'autres types de prix, il est certainement préférable de le faire à votre manière, ou plutôt de manière combinée.
 
evillive:
S'il compile, vous pouvez l'exécuter, mais la question est de savoir s'il fonctionnera comme prévu.

merci
 
Vinin:

C'est peut-être plus facile, mais si vous devez ajouter d'autres types de prix, il est bien sûr préférable de le faire à votre façon, ou plutôt de combiner les deux méthodes.

C'est génial ! Je n'avais pas pensé à cette méthode.

 
borilunad:

Mais le prix d'ouverture est 1 et le prix de fermeture est 0. Voir Doc !

Si vous utilisez les énumérations "ENUM_APPLIED_PRICE".

Mais je ne les utilise pas, j'utilise simplement un opérateur conditionnel pour vérifier la véracité des six options et une seule condition fonctionne toujours.

Par exemple, la condition a fonctionné et nous avons calculé le prix :

if(price==5)ExtMapBuffer1[i]=((High[i]+Low[i]+Close[i])/3);//рассчитали весь буффер индикатора 
Je reçois le prix de clôture à calculer. C'est-à-dire que je prépare moi-même les prix et que je ne les prends pas dans l'énumération "ENUM_APPLIED_PRICE".
 
Forexman77:

C'est génial ! Je n'y avais pas pensé de cette façon.


Cette méthode ne fonctionnera que lors de l'appel d'indicateurs techniques, si vous devez changer le type de prix dans d'autres calculs par le biais des paramètres (par exemple, vous voulez comparer une certaine valeur avec Close[i] et la faire passer par l'optimiseur à (High[i]+Low[i])/2, c'est-à-dire avec PRICE_MEDIAN), cela ne fonctionnera pas.
 
evillive:

Cette méthode ne fonctionnera que lors de l'appel d'indicateurs techniques, si vous devez changer le type de prix dans d'autres calculs par le biais des paramètres (par exemple, vous comparez une certaine valeur avec Close[i] et voulez passer par l'optimiseur pour la comparer avec (High[i]+Low[i])/2, c'est-à-dire avec PRICE_MEDIAN), cela ne fonctionnera pas.

Les prix ne sont nécessaires que pour calculer l'indicateur.

Je l'ai fait comme ça :

extern ENUM_APPLIED_PRICE price=PRICE_CLOSE;

for(i=limit1;i>=0;i--) ExtMapBuffer1[i]=iMA(NULL,0,1,0,MODE_SMA,price,i);

J'ai comparé cette variante et c'est la même chose quand on change.

Raison: