Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Merci Roger09
Posté à l'origine par ForExTyro
J'essaie d'ajouter un code à un EA qui limitera le nombre de transactions qu'il effectue par jour à seulement deux (2). Seulement UNE transaction longue et UNE transaction courte par jour. C'est le code que j'ai jusqu'à présent, mais sur un back test il ne fonctionne pas.
Pouvez-vous m'aider ?
Remplacer
datetime LongTrade=0 ;
datetime ShortTrade=0 ;
en
static datetime LongTrade=0 ;
statique datetime ShortTrade=0 ;C'est tout ?
C'est ça !
MERCI Roger09
Bonjour,
C'est un bel exemple, comment se présente l'EA décompilé et l'Ind.
b.
Voilà, profitez-en !
Bonjour Kalenzo,
J'ai encore besoin de votre aide, pouvez-vous coder pour moi une info supplémentaire comme vous l'avez fait auparavant ?
supplémentaire comme vous l'avez fait avant, je voudrais mettre l'information de barre de LSMA.
Quand la barre LSMA Woodie est verte, elle montre le mot LONG (couleur verte),
et quand la barre Woodie est rouge, le mot Short est affiché (couleur rouge).
Voir l'image ci-jointe.
http://i98.photobucket.com/albums/l277/compobey/CCIinfo.jpg
Merci,
compobey
Demande d'aide
Bonjour à tous
J'ai utilisé un système très simple qui fait environ +100 pips par mois.
J'aimerais le transformer en EA mais je suis très novice en matière de codage et je me sens perdu . Peut-être que vous pourriez m'aider à créer cet EA et que nous pourrions tous l'utiliser ?
Veuillez me faire savoir si vous êtes intéressé et je posterai les détails de ce que l'EA doit faire.
Je vous remercie
Kalenzo
Voilà, profitez-en !
Rebonjour Kalenzo,
J'ai observé l'indi que vous avez réparé pour moi.
En général, il fonctionne bien, mais de temps en temps il arrive de mettre une mauvaise couleur sur la ligne.
Comme vous pouvez le voir sur l'image, il y a des endroits où il devrait être Tomate ou Rouge, mais il s'avère DodgerBlue à la place.
Les règles étaient les suivantes ;
Quand la valeur (à la clôture de la barre) est > à la clôture précédente de la barre (en hausse) = DodgerBlue.
DodgerBlue lorsque la valeur est < 0
Bleu quand la valeur est > 0
Lorsque la valeur (à la clôture de la barre) < à la clôture précédente de la barre (baisse) = DodgerBlue.
Tomate lorsque la valeur est > 0
Rouge quand la valeur est < 0
J'ai marqué avec des flèches rouges où les erreurs sont exactes.
Pouvez-vous jeter un coup d'œil au code, s'il vous plaît.
J'ai essayé d'expliquer aussi bien que possible, mais faites-moi savoir si vous avez besoin de plus d'informations.
Merci.
Salut encore Kalenzo,
J'ai observé l'indi que vous avez réparé pour moi.
En général, elle fonctionne bien, mais il arrive parfois qu'elle mette une mauvaise couleur sur la ligne.
Comme vous pouvez le voir sur l'image, il y a des endroits où il devrait y avoir de la tomate ou du rouge, mais où il s'agit de DodgerBlue.
Les règles étaient les suivantes ;
Quand la valeur (à la clôture de la barre) est > à la clôture précédente de la barre (en hausse) = DodgerBlue.
DodgerBlue lorsque la valeur est < 0
Bleu quand la valeur est > 0
Lorsque la valeur (à la clôture de la barre) < à la clôture précédente de la barre (baisse) = DodgerBlue.
Tomate lorsque la valeur est > 0
Rouge quand la valeur est < 0
J'ai marqué avec des flèches rouges où les erreurs sont exactes.
Pouvez-vous jeter un coup d'œil au code, s'il vous plaît.
J'ai essayé d'expliquer aussi bien que possible, mais faites-moi savoir si vous avez besoin de plus d'informations.
Merci.Désolé, j'ai oublié le fichier.
Comment accéder à une étiquette de ligne ?
Comment puis-je accéder à une étiquette de ligne dans Metatrader 4 ?
quelque chose comme
if(a > b) goto fred
if(c > d) goto jim
:fred
faites un peu plus de code ici
:jim
faites un peu de code ici
J'ai obtenu une réponse mais j'ai besoin d'un peu plus d'explications.
Vous pouvez écrire du code dans les fonctions à la place. Quelque chose comme ceci :
if(a > b) Valeur de retour = fred() ;
if(c > d) Valeur de retour = jim() ;
int fred()
{
faites un peu plus de code ici
}
int jim()
{
faire un peu de code ici
}
Qu'est-ce que ReturnValue ? Ce n'est pas une fonction, comment puis-je l'écrire ?
Dans l'exemple que vous avez publié, "ReturnValue" est simplement une variable. Elle aurait pu être appelée n'importe comment, mais la personne qui vous a donné ce code a utilisé 'ReturnValue'.
Pour être honnête, ce format n'a pas beaucoup de sens, sauf si vous avez l'intention de faire quelque chose avec la valeur renvoyée par les deux fonctions. Vous ne pouvez pas utiliser le concept de goto comme vous pouviez le faire en VB (ou était-ce Basic - c'est tellement loin que je ne m'en souviens plus !)
Juste quelque chose comme...
if(a>b)DoThisFunction();
if(a<b)DoAnotherFunction();
Alors, quoi que vous ayez l'intention de faire lorsque le programme aurait sauté en utilisant goto, vous le feriez à la place dans les deux fonctions respectives.
J'espère que cela a un sens.
Salutations
Lux
Dans l'exemple que vous avez posté, "ReturnValue" est juste une variable. Elle aurait pu être appelée n'importe comment, mais la personne qui vous a donné ce code a utilisé 'ReturnValue'.
Pour être honnête, ce format n'a pas beaucoup de sens, sauf si vous avez l'intention de faire quelque chose avec la valeur renvoyée par les deux fonctions. Vous ne pouvez pas utiliser le concept de goto comme vous pouviez le faire en VB (ou était-ce en Basic - c'est tellement loin que je ne m'en souviens pas !)
Juste quelque chose comme...
if(a>b)DoThisFunction();
if(a<b)DoAnotherFunction();
Alors, quoi que vous ayez l'intention de faire lorsque le programme aurait sauté en utilisant goto, vous le feriez à la place dans les deux fonctions respectives.
J'espère que cela a un sens.
Salutations
LuxMerci pour la réponse, ce que j'essaie de faire, c'est que l'EA choisisse entre deux conditions, mais choisisse celle qui change en premier.
Ainsi, dans votre exemple
if(a>b)DoThisFunction() ;
si(a<b)DoAnotherFunction() ;
il faut plus que "if do this", ou "if do that", parce que l'autre condition est "c & d" ont-ils changé avant "a & b", si c'est le cas, faites ceci et ignorez "a & b". C'est pourquoi j'ai essayé d'aller à une ligne parce que je n'arrive pas à choisir avec "if then else".
car en réalité, j'ai
if(a>b && c>d) // faire un achat ici
sinon
si (a>b && c<d) // faire un achat à la clôture ici
else
inversement faire une vente ou une vente rapprochée
mais si c & d ont changé en premier, avant a & b, alors ignorez le code ci-dessus et faites les tests ci-dessus sur c & d à la place.
Désolé, c'est aussi clair que de la boue
Travailler avec des fichiers CSV... je deviens fou !
Bonjour,
J'écris un EA qui fonctionne avec des fichiers CSV.
Pour les tests, je place mes fichiers CSV dans le dossier suivant :
/tester/files
Voici seulement une petite partie de mon EA :
int handle = 0;
int Long = 0;
handle=FileOpen("LongMarket.csv",FILE_CSV|FILE_READ,';');
if (handle > 0)
{
Long= FileReadNumber(handle);
FileClose(handle);
}
Print("LongMarket = ", Long);
Print("Long handle = ", handle);Dans mon EA, je lis les fichiers CSV, puis j'écris quelques nombres entiers.
Maintenant, lorsque je fais mon test et que je lis dans le journal les messages "Print", j'obtiens souvent de vieux entiers qui ne sont plus écrits dans les fichiers CSV !
Par exemple :
D'abord il y a écrit 3 et mon EA fonctionne et écrit le 0 dans le fichier,
Je ne vois que le 3 dans ce fichier CSV ! !
Lorsque j'efface ce fichier CSV et que je place un nouveau fichier CSV avec 3 dans le dossier " /tester/files ", je ne peux lire que le 0 du test avant ! !!!. Mais je n'arrive pas à trouver où l'EA lit le 0 ! !!
Je deviens fou !!!!!
J'espère que vous comprendrez ma question et que vous me donnerez une astuce !