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
dites-moi s'il y a un système de test sur la programmation de l'EA pour vous montrer pas à pas ce qui se passe quand cet EA fonctionne
non, il n'y a pas de ftn de test pas à pas ; utilisez Print pour afficher les valeurs de contrôle et les différentes parties de votre programme.
J'aime votre code pour l'optimisation des lots ; je l'ai modifié pour augmenter le volume des lots lorsque les pertes augmentent.
J'aime votre code pour l'optimisation des lots ; je l'ai modifié pour augmenter le volume des lots au fur et à mesure que les pertes augmentent.
montrez-moi s'il vous plaît
ou envoyez-moi votre EA
montrez-moi s'il vous plaît
ou envoyez-moi votre EA
il me donne une erreur
La fonction "CalculateCurrentOrders" n'est pas référencée et sera supprimée du fichier exp.il me donne une erreur
La fonction "CalculateCurrentOrders" n'est pas référencée et sera supprimée du fichier exp-file.ignorez cette erreur ; tout ce qu'elle dit c'est que vous avez une fonction appelée CalculateCurrentOrders que vous n'utilisez pas ; donc soit vous la supprimez, soit vous la levez ; cela ne causera aucun dommage ; le système dit qu'il va supprimer cette fonction de votre fichier compilé ex4
montrez-moi s'il vous plaît
ou envoyez-moi votre EA
sous la fonction LotOptimization changez votre code en quelque chose comme ceci
lot=lot*MulltiplyingFactor*losses
où MulitplyFactor = 2 ou 3 ou 4 etc, similaire à votre DecreaseFactor qui consiste à diminuer la taille de vos lots au fur et à mesure que les pertes augmentent.
Ceci dit, augmenter la taille de vos lots au fur et à mesure que les pertes augmentent est dangereux pour votre EA, donc à utiliser avec précaution.
sous la fonction LotOptimisation, changez votre code en quelque chose comme ceci
lot=lot*FacteurMultiplicatif*pertes
où MulitplyFactor = 2 ou 3 ou 4 etc, similaire à votre DecreaseFactor qui consiste à diminuer la taille de vos lots au fur et à mesure que les pertes augmentent.
ceci dit, augmenter la taille de votre lot au fur et à mesure que les pertes augmentent est dangereux pour votre EA, donc à utiliser avec précaution.
Voulez-vous dire quelque chose comme ceci
//+------------------------------------------------------------------+//| Calculer la taille optimale du lot
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lot=Lots*Multiplication*Pertes ;
int orders=HistoryTotal() ; // total des ordres historiques
int losses=0 ; // nombre d'ordres de pertes sans pause
//---- sélectionner la taille du lot
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1) ;
//---- calcule le nombre d'ordres de pertes sans interruption
if(Facteur de diminution>0)
{
for(int i=ordres-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Erreur dans l'historique !") ; break ; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue ;
//----
si(OrderProfit()>0) break ;
si(OrderProfit()<0) pertes++ ;
}
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1) ;
}
//---- retourner la taille du lot
si(lot<0.1) lot=0.1 ;
return(lot) ;
}
Voulez-vous dire quelque chose comme ceci
//+------------------------------------------------------------------+
//| Calculer la taille optimale du lot |
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lot=Lots*Multiplication*Pertes ;
int orders=HistoryTotal() ; // total des ordres historiques
int losses=0 ; // nombre d'ordres de pertes sans pause
//---- sélectionner la taille du lot
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1) ;
//---- calcule le nombre d'ordres de perte sans interruption
if(Facteur de diminution>0)
{
for(int i=ordres-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Erreur dans l'historique !") ; break ; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue ;
//----
si(OrderProfit()>0) break ;
si(OrderProfit()<0) pertes++ ;
}
if(losses>1) lot=NormalizeDouble(Lots*Multiplying*losses ;,1) ;}
//---- retourner la taille du lot
si(lot<0.1) lot=0.1 ;
return(lot) ;
}
non, mettez-le après le if(pertes>1)
non, mettez-le après le if(pertes>1)
cela me donne une erreur
'Multiplying' - variable non définie C:\Program Files\Interbank FX Trader 4\experts\jbtest4.mq4 (57, 44)
où dois-je le définir ?
Cela me donne une erreur
'Multiplying' - variable non définie C:\Program Files\Interbank FX Trader 4\experts\jbtest4.mq4 (57, 44)
où est-ce que je le définis
ok j'ai int multiplying=2 ;