Idées brutes - page 9

 

Quelques indicateurs - modifiés

Salut,

a_ZZ et a_ZZInd - "High_Low v2 (ZigZag)" et autres(dont je ne me souviens plus maintenant,&))

aDin - "ang_PR (Din)-v2".

Qu'est-ce que vous en pensez ?

A la vôtre.

 

CroixMACD

Bonjour à tous,

J'ai une idée d'EA utilisant MACD 13,32,48 et PSAR Step 0.005 Max.0.05 ou 0.006 et 0.06 H1 TF.

Point d'entrée lorsque MACD Cross (Close Bar) et sortie PSAR ou trailing stop optionnel.

Salutations

MFX

Dossiers :
mc.gif  16 kb
 
 

Meilleure stratégie quotidienne...

Salut les gars,

Je suis heureux d'être à nouveau parmi vous. J'ai été absent pendant quelques jours. Quoi qu'il en soit, je voudrais vous demander quelles sont les meilleures stratégies quotidiennes et sur 4 heures que vous avez trouvées, utilisées peut-être...

Merci.

REGARDS

 
Dossiers :
1.bmp  1318 kb
 

codersguru : Pourriez-vous changer EMA pour triple exponential moving average ?

dans EMACROSS EA.

C'est mieux que l'EMA.

Merci.

 

Meilleur système pour les paires croisées

Bonjour

J'ai trouvé un très bon système qui est très bon pour trader les paires croisées.

Il est très simple et basé sur les SMA et EMA, mais très efficace. Si quelqu'un peut développer un EA pour cela nous pouvons le tester.

2 types de Moyenne Mobile de la barre précédente seront utilisés

6 ema, 12 sma

La tendance est à la baisse si 6ema<12ma

et la tendance est à la hausse si 6ema>12ma

Signal d'achat ou de vente

Vente : si la tendance est à la baisse et que la vente (bid) H

Ou

Acheter : si la tendance est à la hausse et acheter(ask) L[Lowest(6,0)]

sortie :

si la tendance est à la baisse, short, L[Lowest(6,0)]

si la tendance est à la hausse, long, H

inverser :

si la tendance est à la hausse, short, L[Lowest(6,0)]

si la tendance est à la baisse, long, H

------------------------------------------

Si un programmeur peut créer un indicateur ou un EA pour ce système, nous pouvons tous voir son potentiel.

 

Je suis désolé, mais je n'ai pas compris les règles. Pouvez-vous élaborer ou éventuellement utiliser des valeurs numériques pour expliquer ?

Merci,

Maji

 

Breakout EA

Salut les experts,

Je voudrais attirer votre attention sur le fil de discussion suivant, en particulier celui de fxengines. Voici le lien : http://www.strategybuilderfx.com/forums/showthread.php?t=11530&page=4&pp

Le plus important est qu'il a mentionné deux systèmes dans ses discussions, que je copie et colle ici.

Exemple 1 : Le signal d'entrée est un breakout de 60 minutes de 15 sur le haut de la dernière période, sortie limite de 30. La probabilité dans le rapport pour le déclenchement du GBP 60 MIN 15 est de 85,7%. Ce test a donné un rendement de 84%, et a fait de l'argent.

"Ce moteur a eu une performance nette de 1298 pips avec un taux de réussite de 84%. Si toutes les transactions avaient été sorties au plus haut, le moteur aurait valu 2521 pips. Cependant, une moyenne de 1,97 pips par transaction a été "rendue" entre le sommet et le point où vous avez quitté. Le drawdown maximum pour ce moteur était de 454 pips, avec 3 trades perdants pendant la pire série de pertes et 46 gagnants pendant la meilleure série de gains."

EXEMPLE 2 : Le signal d'entrée est un breakout de 60 minutes de 25 au-dessus du haut de la dernière période, sortie limite de 30. La probabilité dans le rapport pour le déclenchement du GBP 60 MIN 25 est de 95,2%. Ce test a donné un rendement de 84%, et a fait de l'argent.

"Ce moteur a eu une performance nette de 941 pips avec un taux de réussite de 84%. Si tous les trades avaient été sortis au plus haut, le moteur aurait valu 1832 pips. Cependant, une moyenne de 2,02 pips par transaction a été "rendue" entre le sommet et le point où vous avez quitté. Le drawdown maximum pour ce moteur était de 452 pips, avec 3 trades perdants pendant la pire série de pertes et 25 gagnants pendant la meilleure série de gains."

Quelqu'un a-t-il écrit un EA pour backtester et vérifier cette affirmation ? J'ai essayé, mais je n'ai pas pu dupliquer leurs résultats ou même m'en approcher, mais je ne suis pas un expert. J'espère que l'un des gourous ici présent pourra le faire.

Merci,

Maji

 

Besoin d'aide pour coder l'EA

Bonjour, j'ai téléchargé l'EA suivant et il semble fonctionner assez bien. Cependant, il n'applique pas de Trailingstop, takeprofit et stoploss. Quelqu'un pourrait-il corriger le code ? Toute aide est très appréciée. Merci beaucoup

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

//| SMC Autotrader Momentum.mq4 |

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

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

extern double Lots = 1 ;

extern double InitialStop = 30 ;

extern double TrailingStop = 20 ;

extern bool TakeProfitMode = True ;

extern int TakeProfit = 10 ;

extern bool StopLossMode = True ;

extern int StopLoss = 25 ;

datetime BarTime ;

//################################################## ###################

int init()

{

//----

//----

return(0) ;

}

//################################################## ###################

int start()

{

int cnt,total,ticket,MinDist,tmp ;

double Spread ;

//################################################## ##########################

if(Bars<100){

Print("barres inférieures à 100") ;

return(0) ;

}

//sortir si pas de nouvelle barre

if(BarTime == Time[0]) {return(0);}

//nouvelle barre, mise à jour de l'heure

BarTime = Time[0] ;

//################################################## #######################################

//~~~~~~~~~~~~~~~~Formalités diverses de configuration~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL) ;

Spread=(Ask-Bid) ;

//################################################## #######################################

double SMAP1,SMAP2,MMAP1,MMAP2,LMAP1,LMAP2 ;

SMAP1=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,1) ;

SMAP2=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,2) ;

MMAP1=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,1) ;

MMAP2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2) ;

LMAP1=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,1) ;

LMAP2=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,2) ;

//################################################## ######################################

//################## FERMETURE DE L'ORDRE ################################################## #

// Si les ordres sont en vigueur, vérifiez la fermeture par rapport aux techniques LONG et SHORT.

//Clôture des entrées LONG

total=OrdersTotal() ;

si(total>0)

{

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

{

if(SMAP2 > MMAP2 && SMAP1 < MMAP2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // clôture de la position LONGUE

}}

//CLÔTURER LES ENTRÉES COURTES :

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

if(OrderType()==OP_SELL && OrderSymbol()==Symbol()) // vérification du symbole

{

if(SMAP2 MMAP2)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; // clôture de la position SHORT

}}

} // retour pour la boucle

} // fermer le 1er if

//################################################## ############################

//################## ORDER TRAILING STOP Ajustement #######################

//ARRÊT DE TRAÎNAGE : LONG

if(0==1) //Ceci est utilisé pour activer et désactiver le trailing stop

{

total=OrdersTotal() ;

si(total>0)

{

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

if(OrderType()==OP_BUY && OrderSymbol()==Symbol()

&&

Bid-OrderOpenPrice()> (Point*TrailingStop)

&&

OrderStopLoss()<Bid-(Point*TrailingStop)

)

{OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),1,White) ;

return(0);}

}}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//TRAILING STOP : SHORT

total=OrdersTotal() ;

si(total>0)

{

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

if(OrderType()==OP_SELL && OrderSymbol()==Symbol()

&&

OrderOpenPrice()-Ask > (Point*TrailingStop)

&&

OrderStopLoss() > Ask+(Point*TrailingStop)

)

{OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(P oint*TrailingStop),OrderTakeProfit(),0,Yellow) ;

return(0);}

}}

} // support d'extrémité pour l'interrupteur marche/arrêt

//################################################## ########################################

//~~~~~~~~~~~ END OF ORDER Routines de fermeture et changements de Stoploss ~~~~~~~~~~~~~~~~~~~~~~~~~~~

//################################################## ########################################

//~~~~~~~~~~~~START of NEW ORDERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//######################### NOUVELLES POSITIONS ? ######################################

//Possiblement ajouter une minuterie pour arrêter les entrées multiples dans la période.

// Vérifier la marge disponible

// UN SEUL ORDRE par SYMBOLE

// Boucle autour des ordres pour vérifier que le symbole n'apparaît pas plus d'une fois.

// Vérifiez le temps écoulé depuis la dernière entrée pour arrêter les entrées multiples sur la même barre.

if (0==1) // Interrupteur pour activer/désactiver la vérification de l'historique.

{

total=HistoryTotal() ;

si(total>0)

{

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY) ; //Il faut que ce soit le jour suivant et non le jour suivant.

if(OrderSymbol()==Symbol()&& CurTime()- OrderCloseTime() < (Period() * 60 )

)

{

return(0) ;

}}}}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

total=OrdersTotal() ;

si(total>0)

{

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

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES) ;

if(OrderSymbol()==Symbol()) return(0) ;

}

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

if(AccountFreeMargin()<(1000*Lots))

{Print("Nous n'avons pas d'argent. Marge libre = ", AccountFreeMargin()) ;

return(0);}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//################################################## #######################################

//RÈGLES D'ENTRÉE : LONGUEUR

if(SMAP2 MMAP2)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0, "M axMin Long",16384,0,Orange) ; //Offre-(Point*(MinDist+2))

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Print("Ordre BUY ouvert : ",OrderOpenPrice()) ;

}

else Print("Erreur lors de l'ouverture de l'ordre BUY : ",GetLastError()) ;

return(0) ;

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//RÈGLES D'ENTRÉE : COURT //################################

if(SMAP2 > MMAP2 && SMAP1 < MMAP2)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0," MaxMin Short",16384,0,Red) ;

si(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Print("Ordre SELL ouvert : ",OrderOpenPrice()) ;

}

else Print("Erreur lors de l'ouverture de l'ordre VENTE : ",GetLastError()) ;

return(0) ;

}

//################################################## ##################################

//############ Fin du programme #########################

return(0) ;

}

Raison: