10points 3.mq4 - page 339

 
pagebluk2007:
Bonjour à tous, je suis nouveau sur ce fil de discussion.

J'utilise 10p3v002 (merci à David) TF 30M sur IBFX et j'ai l'intention de backtester avec un micro compte (250$). Mais au lieu de négocier avec un lot de 0,01, il négocie constamment avec des lots de 0,1 et 0,3. Est-ce que j'ai raté quelque chose ?

Le profit en lui-même était incroyable, mais je pense que c'est trop risqué de négocier avec ces nombres de lots. Voici ma configuration et ma déclaration détaillée.

Tia, Don.

extern int Magic = 772188 ;

extern double TakeProfit = 10 ;

extern double Lots = 0.01 ;

extern double InitialStop = 160 ;

extern double TrailingStop = 0 ;

extern int MaxTrades = 10 ;

extern double Multiplier = 3 ;

extern int Pips = 5 ;

extern int OrderstoProtect = 4 ;

extern bool Money_management = true ;

extern int AccountType = 2 ; //0 : Compte standard (NorthFinance,MiG,Alpari) 1 : Compte normal (FXLQ,FXDD) 2:Compte NANO d'InterbankFX

extern double risk = 0.5 ;

extern bool ReverseSignal = false ;

extern int Fast_EMA = 12 ;

extern int Slow_EMA = 26 ;

extern int Signal_SMA = 9 ;

extern int Shift = 1 ;

extern int TradingRange = 0 ;

extern bool UseTimeFilter=true ;

extern int StopTrade = 13 ;

extern int StartTrade = 18 ;

Est-il possible que vous ayez oublié de sélectionner le mini-compte lorsque vous avez configuré la MQ4 ? Si c'est le cas, faites un clic droit sur "Comptes", sélectionnez "Nouveau" et assurez-vous de changer le type de compte en "Mini".

Tout devrait bien se passer, si c'était le problème ?

Salutations

Wayne

 
MANSTIR:
merci david pour votre réponse rapide...

je mets '0' sur le take profit parce que je veux que mon trailing stop fasse le travail pour prendre le profit....

et il n'y a pas de stoploss... quand l'ea achète, modifier le stoploss (trailing stop) était bien xtream au lieu de vendre/courter (le problème est là -- vendre/courter ne modifie pas l'action du stoploss !) pourquoi, je ne sais pas...

10points3 est beaucoup plus grand que je pensais...

cette ea est un résultat remarquable et j'ai déjà fait des tests pour m'assurer de son bon....

encore une fois le problème quand l'ea vend, pas de modification du stoploss ! je me demande pourquoi...

Je vais essayer la plupart de mon temps pour le fixer et malheureusement vers le bas à l'échec ...

hmmm dois-je changer un mot BID en ASK pour faire la différence...si oui, j'ai fait cette remarque mais pas d'action....

Voici le backtest que j'ai fait sans changer une seule chose. Le code fonctionne bien.

Salutations

David

Dossiers :
trailing.jpg  27 kb
003-trail.gif  7 kb
003-trail.htm  333 kb
 

Juste un autre rappel rapide à tous les traders. Les titulaires de comptes en direct d'IBFX sont priés d'être prudents. Lisez ceci prudemment ! !! Le compte standard IBFX est livré avec un effet de levier de 1:100. Si vous avez décidé de trader avec les séries 10p3v0, veuillez garder à l'esprit de réduire votre risque à la moitié de votre compte NANO. En effet, le compte NANO est normalement doté d'un effet de levier de 1:200. Si vous pouvez obtenir l'aide du personnel du LiveChat pour modifier votre compte standard à 1:200, alors il est bon pour vous d'utiliser les mêmes paramètres pour votre compte NANO. J'espère que cela vous aidera.

Salutations

David

 
davidke20:
Voici le backtest que j'ai fait sans changer une seule chose. Le code fonctionne bien.

Salutations

David

hmmm quelle version utilisez-vous en ce moment david, j'utilise les versions 10point4

et pouvez-vous partager vos paramètres ici...

 
davidke20:
Aucun problème de mon côté avec les comptes NANO et normaux, veuillez vérifier si mes paramètres correspondent aux vôtres. Je ne sais pas pourquoi vous avez ce problème.

Salutations

David

merci david,

hmmm peut-être que j'utilise les versions 10point4, quelles versions utilisez-vous maintenant... et pouvez-vous partager ici vos paramètres...

 
MANSTIR:
merci david, hmmm peut-être que j'utilise les versions 10point4, quelles versions utilisez-vous maintenant... et pouvez-vous partager ici vos réglages...

Version 0.03. Vous pouvez les trouver dans les pages 30X précédentes (je ne me souviens pas de 306 ou 309). Les paramètres sont sur le rapport de backtest. Lorsque vous avez voulu tester le solde du compte en dessous de 1000, assurez-vous que vous le testez sur la condition NANO (qui est EURUSD vient avec un "m" à l'arrière - EURUSDm).

Salutations

David

p/s : 10poin4 n'a pas été produit par moi. Trouvez un autre codeur pour vous aider si vous avez vraiment besoin de faire les choses correctement sur cette version particulière que vous avez mentionnée.

 
KaMpeR:
Est-il possible que vous ayez oublié de sélectionner le mini compte lorsque vous avez configuré la MQ4 ? Si c'est le cas, il suffit de faire un clic droit sur "Comptes", de sélectionner "Nouveau" et de s'assurer que le type de compte est bien "Mini".

Tout devrait bien se passer, si c'était le problème ?

Salutations

Wayne

Vous avez raison, ma petite erreur stupide. Merci Wayne !

 
pagebluk2007:
Vous avez raison, c'est une petite erreur stupide. Merci Wayne !

Pas de problème, content d'avoir pu aider, nous sommes tous humains et les erreurs sont inévitables :-)

Cheers

Wayne

 
davidke20:
Version 0.03. Vous pouvez les trouver sur les pages 30X antérieures (je ne me souviens pas de 306 ou 309) Faites quelques lectures s'il vous plaît. Les paramètres sont sur le rapport de backtest. Lorsque vous avez voulu tester le solde du compte en dessous de 1000, assurez-vous que vous le testez sur la condition NANO(qui est EURUSD vient avec un "m" à l'arrière - EURUSDm).

Salutations

David

p/s : 10poin4 n'a pas été produit par moi. Trouvez un autre codeur pour vous aider si vous avez vraiment besoin de faire les choses correctement sur cette version particulière que vous avez mentionnée.

merci encore...mr david

 

Besoin d'aide avec Ea

Je suis nouveau ici et je ne sais pas comment commencer un nouveau fil de discussion ou quoi que ce soit. Je suis en train de trader 10points3 et j'essaie de trouver quelqu'un pour mettre un code dans lequel je peux le faire trader seulement à certaines heures de la journée. Je veux qu'il arrête de trader à 19h00 et qu'il recommence à 1600 heures du matin.

extern double TakeProfit = 10 ;

extern double Lots = 0.01 ;

extern double InitialStop = 80 ;

extern double TrailingStop = 0 ;

extern int MaxTrades=7 ;

extern int Pips=5 ;

extern int SecureProfit=0 ;

extern int AccountProtection=0 ;

extern int OrderstoProtect=0 ;

extern int ReverseCondition=0 ;

extern double EURUSDPipValue=10 ;

extern double GBPUSDPipValue=10 ;

extern double USDCHFPipValue=10 ;

extern double USDJPYPipValue=9.715 ;

extern int StartYear=2005 ;

extern int StartMonth=1 ;

extern int EndYear=2005 ;

extern int EndMonth=12 ;

extern int EndHour=22 ;

extern int EndMinute=30 ;

extern int mm=0 ;

extern int Risk=12 ;

extern int AccountisNormal=0 ;

int OpenOrders=0, cnt=0 ;

int slippage=0 ;

double sl=0, tp=0 ;

double BuyPrice=0, SellPrice=0 ;

double lotsi=0, mylotsi=0 ;

int mode=0, myOrderType=0 ;

bool ContinueOpening=True ;

double LastPrice=0 ;

int PreviousOpenOrders=0 ;

double Profit=0 ;

int LastTicket=0, LastType=0 ;

double LastClosePrice=0, LastLots=0 ;

double Pivot=0 ;

double PipValue=0 ;

string text="", text2="" ;

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

//| fonction d' initialisation de l'expert |

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

int init()

{

//----

//----

return(0) ;

}

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

//| fonction de désinitialisation experte |

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

int deinit()

{

//----

//----

return(0) ;

}

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

//| fonction de démarrage expert |

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

int start()

{

//----

if (AccountisNormal==1)

{

if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000) ; }

else { lotsi=Lots ; }

} else { // then is mini

if (mm!=0) { lotsi=MathCeil(AccountBalance()*risk/10000)/10 ; }

else { lotsi=Lots ; }

}

si (lotsi>100){ lotsi=100 ; }

OpenOrders=0 ;

for(cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

si (OrderSymbol()==Symbol())

{

OpenOrders++ ;

}

}

/*

if (OpenOrders<1)

{

if (TimeYear(CurTime())<StartYear) { return(0) ; }

if (TimeMonth(CurTime())<StartMonth) { return(0) ; }

if (TimeYear(CurTime())>EndYear) { return(0) ; }

if (TimeMonth(CurTime())>EndMonth ) { return(0) ; } ; }

}

*/

if (Symbol()=="EURUSD") { PipValue=EURUSDPipValue ; } }.

if (Symbol()=="GBPUSD") { PipValue=GBPUSDPipValue ; }

if (Symbol()=="USDJPY") { PipValue=USDJPYPipValue ; }

if (Symbol()=="USDCHF") { PipValue=USDCHFPipValue ; }

if (PipValue==0) { PipValue=5 ; }

si (PreviousOpenOrders>OpenOrders)

{

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

mode=OrderType() ;

si (OrderSymbol()==Symbol())

{

si (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue) ; }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red) ; } }

return(0) ;

}

}

}

PreviousOpenOrders=OpenOrders ;

si (OpenOrders>=MaxTrades)

{

ContinueOpening=False ;

} autre {

ContinueOpening=True ;

}

if (LastPrice==0)

{

for(cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

mode=OrderType() ;

si (OrderSymbol()==Symbol())

{

LastPrice=OrderOpenPrice() ;

if (mode==OP_BUY) { myOrderType=2 ; }

if (mode==OP_SELL) { myOrderType=1 ; }

}

}

}

si (OpenOrders<1)

{

myOrderType=3 ;

//si (iMACD(14,26,9,MODE_MAIN,0)>0 et iMACD(14,26,9,MODE_MAIN,0)>iMACD(14,26,9,MODE_MAIN,1)) then OrderType=2 ;

if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=2 ; }

//si (iMACD(14,26,9,MODE_MAIN,0)<0 et iMACD(14,26,9,MODE_MAIN,0)<iMACD(14,26,9,MODE_MAIN,1)) then OrderType=1 ;

if (iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,0)<iMACD(NULL,0,14,26,9,PRICE_CLOSE,MODE_MAIN,1)) { myOrderType=1 ; }

if (ReverseCondition==1)

{

if (myOrderType==1) { myOrderType=2 ; }

else { if (myOrderType==2) { myOrderType=1 ; } }

}

}

// si nous avons ouvert des positions, nous nous en occupons

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

si (OrderSymbol() == Symbol())

{

si (OrderType()==OP_SELL))

{

si (TrailingStop>0)

{

si (OrderOpenPrice()-Ask>=(TrailingStop+Pips)*Point)

{

si (OrderStopLoss()>(Ask+Point*TrailingStop))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderClosePrice()-TakeProfit*Point-TrailingStop*Point,800,Purple) ;

retour(0) ;

}

}

}

}

si (OrderType()==OP_BUY)

{

si (TrailingStop>0)

{

si (Bid-OrderOpenPrice()>=(TrailingStop+Pips)*Point)

{

si (OrderStopLoss()<(Bid-Point*TrailingStop))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderClosePrice()+TakeProfit*Point+TrailingStop*Point,800,Yellow) ;

retour(0) ;

}

}

}

}

}

}

Profit=0 ;

LastTicket=0 ;

LastType=0 ;

LastClosePrice=0 ;

LastLots=0 ;

for(cnt=0;cnt<OrdersTotal();cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

si (OrderSymbol()==Symbol())

{

LastTicket=OrderTicket() ;

if (OrderType()==OP_BUY) { LastType=OP_BUY ; }

if (OrderType()==OP_SELL) { LastType=OP_SELL ; }

LastClosePrice=OrderClosePrice() ;

LastLots=OrderLots() ;

si (LastType==OP_BUY)

{

//Profit=Profit+(Ord(cnt,VAL_CLOSEPRICE)-Ord(cnt,VAL_OPENPRICE))*PipValue*Ord(cnt,VAL_LOTS) ;

si (OrderClosePrice()<OrderOpenPrice())

{Profit=Profit-(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point ; }

si (OrderClosePrice()>OrderOpenPrice())

{ Profit=Profit+(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point ; }

}

si (LastType==OP_SELL)

{

//Profit=Profit+(Ord(cnt,VAL_OPENPRICE)-Ord(cnt,VAL_CLOSEPRICE))*PipValue*Ord(cnt,VAL_LOTS) ;

si (OrderClosePrice()>OrderOpenPrice())

{Profit=Profit-(OrderClosePrice()-OrderOpenPrice())*OrderLots()/Point ; }

si (OrderClosePrice()<OrderOpenPrice())

{ Profit=Profit+(OrderOpenPrice()-OrderClosePrice())*OrderLots()/Point ; }

}

//Print(Symbole," :",Profit,",",LastLots) ;

}

}

Profit=Profit*PipValue ;

text2="Profit : $"+DoubleToStr(Profit,2)+" +/-" ;

si (OpenOrders>=(MaxTrades-OrderstoProtect) && AccountProtection==1)

{

//Print(Symbole," :",Profit) ;

si (Profit>=SecureProfit)

{

OrderClose(LastTicket,LastLots,LastClosePrice,slippage,Yellow) ;

ContinueOpening=False ;

retour(0) ;

}

}

if (!IsTesting())

{

if (myOrderType==3) { text="Aucune condition pour ouvrir des transactions" ; }

else { text=" " ; }

Comment("LastPrice=",LastPrice," Previous open orders=",PreviousOpenOrders,"\nContinue opening=",ContinueOpening," OrderType=",myOrderType,"\n",text2,"\nLots=",lotsi,"\n",text) ;

}

if (myOrderType==1 && ContinueOpening)

{

si ((Bid-LastPrice)>=Pips*Point || OpenOrders<1)

{

SellPrice=Bid ;

LastPrice=0 ;

si (TakeProfit==0) { tp=0 ; }

else { tp=SellPrice-TakeProfit*Point ; }

si (InitialStop==0) { sl=0 ; }

sinon { sl=Prix de vente+But initial*Point ; }

si (OpenOrders!=0)

{

mylotsi=lotsi ;

for(cnt=1;cnt<=OpenOrders;cnt++)

{

si (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*3,3) ; }

else { mylotsi=NormalizeDouble(mylotsi*3,3) ; }

}

} else { mylotsi=lotsi ; }

if (mylotsi>100) { mylotsi=100 ; } }

OrderSend(Symbol(),OP_SELL,mylotsi,SellPrice,slippage,sl,tp,NULL,0,0,Red) ;

retour(0) ;

}

}

si (myOrderType==2 && ContinueOpening)

{

si ((LastPrice-Ask)>=Pips*Point || OpenOrders<1)

{

BuyPrice=Ask ;

LastPrice=0 ;

si (TakeProfit==0) { tp=0 ; }

else { tp=BuyPrice+TakeProfit*Point ; }

if (InitialStop==0) { sl=0 ; }

sinon { sl=BuyPrice-InitialStop*Point ; }

si (OpenOrders!=0) {

mylotsi=lotsi ;

for(cnt=1;cnt<=OpenOrders;cnt++)

{

si (MaxTrades>12) { mylotsi=NormalizeDouble(mylotsi*3,3) ; }

else { mylotsi=NormalizeDouble(mylotsi*3,3) ; }

}

} else { mylotsi=lotsi ; }

if (mylotsi>100) { mylotsi=100 ; } }

OrderSend(Symbol(),OP_BUY,mylotsi,BuyPrice,slippage,sl,tp,NULL,0,0,Blue) ;

retour(0) ;

}

}

//----

return(0) ;

}

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