fonction de calcul automatique de la taille des lots ? - page 6

 
1005phillip:

Tout le plaisir est pour moi ! Et merci de me faire savoir que cela fonctionne pour vous, j'apprécie le retour d'information. Je ne suis pas sûr de ce qui a mal tourné avec le code précédent. Il se peut qu'il s'agisse d'un bug que j'ai involontairement corrigé entre deux révisions.

J'aurai probablement une version mise à jour d'ici une semaine ou deux qui aura des fonctions de repli pour l'utilisation du backtesting dans MT4 sur des paires de devises croisées. Actuellement, si vous essayez de backtester une paire croisée tout en utilisant mon code de taille de lot, votre backtest va échouer parce que le backtester ne peut pas accéder aux prix du marché pour les paires de base et de contrepartie requises. (ce n'est pas un problème dans les tests en direct ou à terme, c'est une limitation du backtester de MT4).

Je posterai le code quand j'aurai traversé ce pont, peut-être que vous ou d'autres personnes le trouveront utile.

Je vous souhaite un bon week-end,
- Phil

Bonjour 1005phillip :

J'ai lu ce fil de discussion. Je suis intéressé à tester / utiliser votre code, s'il est encore disponible.

Les fichiers les plus récents sont-ils sur la page 1, ou les proposez-vous en privé ?


Regards,

spgandau

 

... et la foule s'agglutinait bruyamment : (LOL string) "Phillip, Phillip, Phillip !" (LOL string END)

Juste pour dire un GRAND MERCI, Phillip (, Phillip, Phillip !).

Je ne peux pas dire que le code fonctionne pour moi, j'ai eu la même erreur "Error occurred while identifying SymbolType(), calculated SymbolType() = 6" que les gens avant moi, lors du backtesting. Je suppose que je vais devoir faire des tests en amont.

J'ai déjà envoyé une grande lettre au Père Noël pour le cadeau de Noël 2013 :

"Cher Père Noël !

Cette année, je me suis lavé les oreilles 4 fois. Alors, comme j'ai été extrêmement bon garçon, j'aimerais avoir un cerveau comme Phillip, le codeur mql4 le plus généreux de cette planète. S'il vous plaît, cher Père Noël, incluez ses capacités de codage mql4 !

Merci, Phillip, désolé, Père Noël".

Meilleures salutations,

Amusez-vous bien,


Simon

 
1005phillip:

Heureux de l'entendre Shawn !

Je modifie continuellement les codes, si vous souhaitez une version plus récente (il n'y a pas de bogues dans ceux que vous avez), je serais plus qu'heureux de la partager.

Les changements consistent principalement à rendre le fichier d'inclusion plus facile à intégrer et à utiliser avec votre EA existante. Puisque vous avez déjà réussi à implémenter l'autre, cela ne fait peut-être aucune différence pour vous maintenant.

Bonne journée

J'ai besoin d'aide pour coder une application, ou au moins pour obtenir les paramètres de cet indicateur particulier.

Dossiers :
 
saintrose:

Bonne journée

j'ai besoin d'aide pour coder une ea. ou au moins pour obtenir la mq de cet indicateur particulier.

Demandez à votre voisin ou allez ici : Aide au codage de MT4 et MT5 pour les personnes qui ne veulent pas se donner la peine d'apprendre.
 
Shawn:

Bonjour à tous, de retour pour vous harceler :-) Quelqu'un aurait-il une petite fonction MQL4 très pratique qui calcule automatiquement la taille du lot (pour n'importe quel symbole) en fonction du pourcentage de risque de mon capital disponible et de la taille de mon stoploss en pips ?


Merci !

Shawn

//+------------------------------------------------------------------+

//| Analyse des informations sur le marché |

//+------------------------------------------------------------------+

bool GetMarketInfo()

{

minSLTPdstnc = MarketInfo(Symbole(), MODE_STOPLEVEL) ;

if (Risk_Percentage>100 || Risk_Percentage<0 ) Risk_Percentage=10 ;

Margin_Required=MarketInfo(Symbol(), MODE_MARGINREQUIRED) ;

lotmin=MarketInfo(Symbol(), MODE_MINLOT) ;

lotmax=MarketInfo(Symbol(), MODE_MAXLOT) ;

Lot_Step=MarketInfo(Symbol(), MODE_LOTSTEP) ;

Lot_Size=MarketInfo(Symbol(), MODE_LOTSIZE) ;

Tick_Value=MarketInfo(Symbol(), MODE_TICKVALUE) ;

Spread=MarketInfo(Symbol(), MODE_SPREAD) ;

retour(true) ;

}


//+------------------------------------------------------------------+

//| Mesurer les ordres Lot |

//+------------------------------------------------------------------+

double CheckLots (int risk_percent,double sl_size, double Static_Lot) {

if (risk_percent<=0) return (Static_Lot) ;

double lots=0 ;

lots=NormalizeDouble( (AccountBalance()*Risk_Percentage/100) / (Tick_Value*sl_size), 2 ) ;

if (lots*Margin_Required>AccountFreeMargin()) {

error("Pas assez d'argent pour prendre " + DoubleToStr(lots,2) +" lots.") ;

lots=Marge libre du compte()/Marge_requise ;

}

lots=MathFloor(lots/Lot_Step + 0.5)* Lot_Step ;

si ( lots < lotmin ) lots=lotmin ;

si ( lots > lotmax ) lots=lotmax ;

si ( lots > MaxLot ) lots = MaxLot ;

return(lots) ;

}

 

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Règles générales et meilleures pratiques du forum.

Lorsque vous postez un code, veuillez utiliser le bouton SRC !


Bonjour,

Veuillez EDITER votre message et utiliser le bouton CODE lorsque vous postez du code.

Bouton de code dans l'éditeur

Merci.

 
William Roeder:

Bonjour, il est possible de compter la taille du lot en fonction des dernières pertes en argent pour couvrir la perte non comptabilisée en raison du glissement ou de l'écart de prix.