Demandez ! - page 52

 
pawang:

2.) Selon le point 1.), le vrai cas est... comment créer une divergence haussière/baissière ?

Lorsque les conditions : Il y a un prix le plus élevé et un RSI le plus élevé d'un cadre temporel défini. Et puis après le temps écoulé... nous rencontrons un nouveau prix le plus élevé, mais pas suivi d'un nouveau sommet du RSI (le RSI ne parvient pas à faire un nouveau sommet).

//this gives you highest/lowest prices on last 10 bars starting with current(last on the graph - zero bar)

double highestPrice = High;

double lowestPrice = Low;

/*

this gives you lowest/highest rsi on last 10 bars starting with current - 0 bar

*/

double lowestRSI=9999, highestRSI=-9999;

int currentBar = 0;

int endBar = 10;

for(currentBar=0; currentBar<endBar; currentBar++) lowestRSI = MathMin(lowestRSI, iRSI(Symbol(),0,14,PRICE_CLOSE,currentBar));

for(currentBar=0; currentBar<endBar; currentBar++) highestRSI = MathMax(lowestRSI, iRSI(Symbol(),0,14,PRICE_CLOSE,currentBar));

//starting at bar #10 you go back 10 bars on the chart looking for lowest price

//thus you'll get lowest price from bar #10 to bar #20

double lowestPrice10_20 = Low;

to get divergence, you'll need to compare rsi & price over periods

if(lowestPrice10_20 lowestRSI){

//on bars 10-20 lowest rsi is higher than on bars 0-10

//on bars 10-20 lowest price is lower than on bars 0-10

//i hope thats correct

}

Vous devez commencer à regarder sur mql4.com pour la documentation et ce forum, la plupart des informations sont couvertes.

 

Comment puis-je écrire cet EA ?

Comment puis-je écrire cet EA ?

1 - Ouvrir 1 StopBuy 0.01 au prix + 20 et 1 StopSell 0.01 au prix -20, TP 20.

2 - Si un ordre est exécuté, annuler l'autre.

3 - Si l'ordre exécuté est un ordre d'achat, inversez la vente de 1 StopSell double (0.02) au prix d'entrée -20 ou l'inverse si ordre de vente.

4 - et chaque fois qu'un ordre stop est exécuté, inversez le double de 20 points jusqu'à ce que le TP soit exécuté, puis fermez tous les ordres ouverts pour cette paire.

Merci pour votre aide.

 

Essayez ceci, j'ai mis une alerte dessus, c'est génial.

Dossiers :
ifish.mq4  3 kb
 

quelqu'un peut m'aider avec le code

quelqu'un peut m'aider à coder l'indicateur avec expired pour que l'indicateur puisse fonctionner... et comment coder l'indicateur pour qu'il ne puisse fonctionner qu'avec 1 seul identifiant de compte.

thx

 
increase:
Essayez ceci, j'ai mis une alerte dessus, c'est génial.

Merci beaucoup pour l'augmentation, cela fonctionne comme par magie, est-il possible de faire un EA qui place un ordre dans la direction opposée quand il y a une cassure et cible seulement 5 pips ?

 

alerte sonore pour chaque indicateur

peut-on changer l'alerte sonore pour chaque indicateur, si oui comment ?

 

EA ne fonctionne pas lors des tests avancés

Cher Codersguru,

Pourriez-vous m'aider à examiner mon EA ci-dessous. Il fonctionne parfaitement bien en backtesting mais pas sur le compte de trading démo. Il n'y a aucune action d'achat ou de vente après les croisements. Merci beaucoup.

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

//| 5/13-v2-SOS.mq4 |

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

extern int Unique_Ref_Number=513 ;

extern int TakeProfit = 5 ;

extern int StopLoss=5 ;

extern double Lots = 1 ;

extern int Max_Contracts = 1 ;

extern int emaShortPeriod=5 ;

extern int emaLongPeriod=13 ;

extern bool MoneyManagement=true ;

extern int Risk=2 ;

int init() { return(0) ; }

int deinit() { return(0) ; }

int Crossed()

{

double emaLong_1=iMA(NULL,0,emaLongPeriod,0,1,PRICE_CLOSE,2) ;

double emaLong=iMA(NULL,0,emaLongPeriod,0,1,PRICE_CLOSE,1) ;

double emaShort_1=iMA(NULL,0,emaShortPeriod,0,1,PRICE_CLOSE,2) ;

double emaShort=iMA(NULL,0,emaShortPeriod,0,1,PRICE_CLOSE,1) ;

if (emaShort_1emaLong ) return (1) ; //tendance à la hausse

if (emaShort_1>emaLong_1 && emaShort<emaLong ) return (2) ; //tendance à la baisse

return (0) ; //pas d'action

}

int start()

{

double BuyStopLoss, SellStopLoss, Lotsize ;

int cnt, ticket ;

datetime statique ordertime ;

int total=OrdersTotal() ;

if(MoneyManagement==true)

{Lotsize=NormalizeDouble((AccountFreeMargin()*Risk/10000),1);}

sinon

{Lotsize=Lots ; }

BuyStopLoss=MathMin(MathMin(MathMin(Low[1],Low[2]),Low[3]),Ask-StopLoss*Point) ;

SellStopLoss=MathMax(MathMax(MathMax(High[1],High[2]),High[3]),Bid+StopLoss*Point) ;

if(Time[0]>ordertime && total<Max_Contracts)

{

// vérification de la possibilité d'une position longue (BUY)

if(Crossed()==1 )

{

OrderSend(Symbol(),OP_BUY,Lotsize,Ask,1,BuyStopLoss,Ask+TakeProfit*Point, "5-13-Long",Unique_Ref_Number,0,Green) ;

ordertime=Time[0] ;

retour(0) ;

}

// vérification de la possibilité d'une position courte (SELL)

if(Crossed()==2 )

{

OrderSend(Symbol(),OP_SELL,Lotsize,Bid,1,SellStopLoss,Bid-TakeProfit*Point, "5-13-Short",Unique_Ref_Number,0,Red) ;

ordertime=Time[0] ;

retour(0) ;

}

}

return(0) ;

}

 

Codersguru,

J'ai besoin de votre aide pour un EA MT4.

Le jour commence à 0000 GMT.

1) Dessinez 5 lignes horizontales (de couleurs différentes). Hier OHLC et hier (H+L)/2 ligne médiane.

2) Sonne et fait apparaître des alertes lorsque le prix touche l'une des 5 lignes.

Ce serait formidable si vous pouviez m'aider. Merci...

 
MiniMe:
L'indicateur permet de dessiner une ligne de tendance

Tout ce que je veux, c'est pouvoir modifier la finesse de la ligne de tendance.

Aidez moi

Alan

C'est ici. J'espère que c'est ce que vous vouliez.

Dossiers :
 
Maji:
C'est ici. J'espère que c'est ce que vous vouliez.

Merci beaucoup Maji, c'est exactement ce que je cherchais.