EA Modification SL

Présentation, Développement, Améliorations et Ressources pour les Stratégies de Trading Automatique.

Modérateur : Administrateurs

Répondre
Message
Auteur
Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

EA Modification SL

#1 Message par StanFX »

Quelqu'un peut-il me dire où se trouve l'erreur?

ouverture de la 1ere position ou après un trade gagnant, le stoploss du prochain trade doit avoir une valeur de 50

Code : Tout sélectionner

if ((SelectLastHistoryOrder1(Symbol(), MagicNumber)&&(OrderProfit()>0))) stoploss=50*point;
si la dernière position est perdante, le stoploss du prochain trade doit avoir une valeur de 100

Code : Tout sélectionner

if ((SelectLastHistoryOrder1(Symbol(), MagicNumber)&&(OrderProfit()<0))) stoploss=100*point;
si la dernière position et l'avant dernière position sont perdantes, le stoploss du prochain trade doit avoir une valeur de 150

Code : Tout sélectionner

if ((SelectLastHistoryOrder1(Symbol(), MagicNumber)&&(SelectLastHistoryOrder2(Symbol(), MagicNumber)&&(OrderProfit()<0)))) stoploss=150*point;

Code : Tout sélectionner

//----------------------------------------------------------------------------------------
bool SelectLastHistoryOrder1(string Symbol, int MagicNumber)
{
int lastOrder=NULL;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol && OrderMagicNumber()==MagicNumber)
{
lastOrder=i;
break;
}
}
if(lastOrder==NULL)
return(false);
else
return(true);
}
//----------------------------------------------------------------------------------------
bool SelectLastHistoryOrder2(string Symbol, int MagicNumber)
{
int lastOrder=NULL;
for(int i=OrdersHistoryTotal()-2;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol && OrderMagicNumber()==MagicNumber)
{
lastOrder=i;
break;
}
}
if(lastOrder==NULL)
return(false);
else
return(true);
}

MaPomme
Membre assidu
Messages : 184
Inscription : 21 oct. 2015, 14:07

Re: EA Modification SL

#2 Message par MaPomme »

Salut Stan

Tu ne nous dit pas ce qu'il se passe mais tu devrais commencer par gérer les erreurs OrderSelect() pour essayer d'y voir plus clair.

Bon courage, j’espère pour toi que tu as une bonne clim :lol:

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#3 Message par StanFX »

:lol: :lol: :lol: merci mapomme

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#4 Message par StanFX »

Code : Tout sélectionner

OrderSelect(result,SELECT_BY_TICKET);
         OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#5 Message par StanFX »

Image

Avatar de l’utilisateur
Fabien LABROUSSE
Administrateur
Messages : 16944
Inscription : 17 mars 2008, 19:41
Localisation : Paris, France

Re: EA Modification SL

#6 Message par Fabien LABROUSSE »

Désolé, je suis naze en programmation.
Image

La Structure (par VideoBourse) : Formation sur mesure et évolutive pour optimiser compréhension et résultats en trading

📈 Informations et inscriptions : https://forms.gle/A2vnZduSwv2wPFSS7

🤝 Contact et échanges avec la communauté : Discord, mail, téléphone, LinkedIn...

Avatar de l’utilisateur
Fabien LABROUSSE
Administrateur
Messages : 16944
Inscription : 17 mars 2008, 19:41
Localisation : Paris, France

Re: EA Modification SL

#7 Message par Fabien LABROUSSE »

Par contre très cool tes résultats : https://www.myfxbook.com/members/DayTra ... an/1906511.


Bravo. Ton Darwin est ouvert aux investisseurs ? Tu as pas mal de capitaux qui te suivent ?


Car 180% de performance avec 30 de drawdown max sur une période significative, c'est bien.


C'est que du trading automatique ?
Image

La Structure (par VideoBourse) : Formation sur mesure et évolutive pour optimiser compréhension et résultats en trading

📈 Informations et inscriptions : https://forms.gle/A2vnZduSwv2wPFSS7

🤝 Contact et échanges avec la communauté : Discord, mail, téléphone, LinkedIn...

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#8 Message par StanFX »

Merci mais j'ai arrêté cette stratégie car pas de perf depuis 1 an.
Fabien LABROUSSE a écrit :Tu as pas mal de capitaux qui te suivent ?
zéro
Fabien LABROUSSE a écrit :C'est que du trading automatique ?
C’était du 100% manuel.

kariboo
Membre actif et régulier
Messages : 89
Inscription : 09 nov. 2015, 17:27

Re: EA Modification SL

#9 Message par kariboo »

StanFX a écrit :Quelqu'un peut-il me dire où se trouve l'erreur?
J'imagine qu'il ne s'agit pas d'une erreur de compilation mais que le code ne fait pas ce que tu attends. Il faudrait que tu expliques le résultat obtenu que tu appelles erreur.

De ce que je vois, si tu mets les deux conditions en parallèle dans le même if, le OrderProfit ne doit pas renvoyer l'environnement relatif au SelectLastHistoryOrder1 qui est au même niveau.

Tu as essayé le débuggage intégré ?

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#10 Message par StanFX »

Exact il n'y a pas de problème de compilation, il ne fait simplement pas ce que je lui demande.
La modification du SL fonctionne mais j'ai l'impression qu'il sélectionne les trades dans l'historique au hasard.

J'ai tenté cette modification mais c'est le même problème:

Code : Tout sélectionner

        if (SelectLastHistoryOrder1(Symbol(), MagicNumber));
        {
          if (OrderProfit()>0)  
         {
            stoploss=50*point;  
                  }
               } 
kariboo a écrit :Tu as essayé le débuggage intégré ?
Je ne connais pas
StanFX a écrit :for(int i=OrdersHistoryTotal()-1;i>=0;i--)
Le -1 veut-il bien dire que je sélectionne le dernier trade dans l'historique?

kariboo
Membre actif et régulier
Messages : 89
Inscription : 09 nov. 2015, 17:27

Re: EA Modification SL

#11 Message par kariboo »

La boucle a l'air normale.

Par contre, comme dit Mapomme, il faut absolument controler le retour des fonctions pour remonter les erreurs.
Ensuite il existe la fonction OrderPrint() qui t'affiche l'ordre selectionné, ca aide pour le debuggage.

Code : Tout sélectionner

for(int i=OrdersHistoryTotal()-1;i>=0;i--)
{
      if(!OrderSelect(i, SELECT_BY_POS,MODE_HISTORY))
      {
         Print( __LINE__ + " " + __FUNCTION__ + " ERROR OrderSelect ",GetLastError());
         break;
      }
      OrderPrint();

      if(OrderSymbol()==Symbol && OrderMagicNumber()==MagicNumber)
      {
            lastOrder=i;
            break;
      }
}

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#12 Message par StanFX »

Merci je vais tester ça

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#13 Message par StanFX »

Problème résolu, si ça peut aider voici la solution:

Code : Tout sélectionner

int Losses()
  {
    int Count = 0;
    for(int i=OrdersHistoryTotal()-1; i>=0; i--)
    {
      OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(OrderProfit()>0) break;
      Count++;
    }
    return(Count);
  } 

Code : Tout sélectionner

if (Losses()>=1))  stoploss=100*point;
if (Losses()>=2))  stoploss=150*point;

kariboo
Membre actif et régulier
Messages : 89
Inscription : 09 nov. 2015, 17:27

Re: EA Modification SL

#14 Message par kariboo »

Le code MQL5 pour accéder a l'historique et faire la même chose est beaucoup plus compliqué avec Metatrader 5:

https://www.youtube.com/watch?v=pPcjKLNZL88

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#15 Message par StanFX »

Il est cool ce Jimdandy 8)

Avatar de l’utilisateur
StanFX
Membre assidu
Messages : 478
Inscription : 20 déc. 2016, 21:02

Re: EA Modification SL

#16 Message par StanFX »

kariboo a écrit :Le code MQL5 pour accéder a l'historique et faire la même chose est beaucoup plus compliqué avec Metatrader 5
Effectivement
mql5.PNG

MaPomme
Membre assidu
Messages : 184
Inscription : 21 oct. 2015, 14:07

Re: EA Modification SL

#17 Message par MaPomme »

Hummm....

Répondre