Demandez ! - page 58

 

Les paramètres stoploss et takeprofit de OrderSend sont des "valeurs de prix" et non des pips. Essayez d'utiliser "Ask-stoploss*Point" et "Ask+takeprofit*Point" à la place ; lorsqu'il s'agit d'écrire un EA, la tendance n'est pas votre seule amie, le manuel l'est aussi ;-)

 
ralph.ronnquist:
Les paramètres stoploss et takeprofit de OrderSend sont des "valeurs de prix" et non des pips. Essayez d'utiliser "Ask-stoploss*Point" et "Ask+takeprofit*Point" à la place ; lorsqu'il s'agit d'écrire un EA, la tendance n'est pas votre seule amie, le manuel l'est aussi ;-)

Ralph,

Merci beaucoup pour vos réponses patientes et polies. Je sais que mes erreurs étaient vraiment stupides. En tant que débutant, je ne savais pas par où commencer lorsque l'EA a passé le cap du compilateur et que le testeur de stratégie a indiqué qu'il s'était chargé avec succès, mais qu'il ne produisait aucun résultat.

Avant de poster ma demande, j'avais en fait essayé quelque chose de proche (mais évidemment pas correct) de ce qui est dans le manuel. Cette version antérieure a été acceptée par le compilateur, mais le testeur de stratégie a rejeté la syntaxe OrderSend. J'ai donc regardé l'instruction OrderSend dans l'EA que j'avais modifiée, pour voir sa syntaxe. C'est là que j'ai trouvé la mauvaise syntaxe. Ce que je comprends maintenant, c'est que l'auteur de cette EA a prédéfini "stoploss" et "takeprofit" en utilisant la syntaxe correcte avant l'exécution de l'instruction OrderSend.

J'ai une certaine expérience de la programmation avec Fortran et Basic, mais le langage MQL4 est un défi pour moi en ce moment.

Merci encore pour vos réponses succinctes et polies. Elles ont été très utiles.

Radeau

BTY Maintenant que l'EA fonctionne, je peux voir que j'ai aussi quelques erreurs de logique dans l'EA, mais je vais les résoudre maintenant que les problèmes de syntaxe sont derrière moi.

 

besoin d'aide avec la couverture EA

Bonjour à tous,

Je suis en train d'essayer de convertir une ea straddle en script. Quelqu'un peut-il me donner une idée de la façon de procéder ?

Merci d'avance

 

Une sorte de script qui surveille les transactions jusqu'à ce qu'elles atteignent un profit prédéfini, de sorte que dès que les transactions commencent à baisser après avoir dépassé le profit prédéfini, il doit fermer toutes les transactions sur cette devise. Mais si le profit augmente au-delà de la valeur prédéfinie, il doit suivre le montant prédéfini et non chaque transaction.

 

J'ai besoin d'un script qui compare deux prix et trouve celui qui est le plus élevé.

par exemple :

int a1, a2;

a1=1.1111;

a2=1.1112;

if(a1<a2)

{

Print("OK");

}

mais cela ne fonctionne pas, car la comparaison ne porte que sur les chiffres avant le point.

J'ai besoin de comparer le nombre complet avec le nombre décimal.

J'espère que vous comprenez ce que je veux dire et que vous m'aiderez.

 

remplacer "int" par "double" comme suit

double a1, a2 ;

lisez la documentation sur les types.

 

Ohhh j'avais oublié.

Merci beaucoup pour votre aide.

 

Pourquoi cela renvoie 0.

iMA(NULL,0,10,-3,MODE_EMA,PRICE_HIGH,1);

Merci.

 

Comment forcer l'exécution de la fonction start() ?

Bonjour,

Dans un EA, la fonction start() ne sera exécutée que si le prix de la paire du graphique joint change.

J'aimerais savoir si elle peut être exécutée sans attendre le changement de prix.

Merci d'avance.

-erkao

 

Si vous voulez qu'il soit exécuté une seule fois.

vous pouvez utiliser la fonction init() qui s'exécute au démarrage du programme.

Merci.