Aide au codage - page 241

 

Bonjour à tous,

Je ne veux pas que mon EA ouvre une position s'il y a déjà une position allant dans la même direction au même niveau de prix déjà (en utilisant renko). Essentiellement, cela ressemblerait à quelque chose comme ceci :

Si la direction de la barre précédente est à la hausse, ouvrir une position longue s'il n'y a pas de position longue au même niveau de prix (+-2 pips par exemple). Même chose pour les positions courtes.

Est-ce possible ?

 

Merde, si facile

 

Merde, si facile

Merci Mladen

 

Mladen, j'ai un problème.

J'ai trouvé votre indicateur Dynamic zones Spearman, trouvé aussi d'autres. Mais je n'arrive pas à faire ce que je veux. Je veux dans une fenêtre des corrélations. Vous me comprenez ? Je veux que l'ordinateur ne s'arrête pas, en utilisant votre indicateur. Mais ça ressemble à une pile de Spearman.

mais pour moi c'est impossible de le faire. Je superpose les indicateurs les uns aux autres, mais je ne vois qu'un seul...

Dossiers :
eurjpymh1.png  72 kb
 
Air92:
Mladen, j'ai un problème.

J'ai trouvé votre indicateur Dynamic zones Spearman, trouvé aussi d'autres. Mais je n'arrive pas à faire ce que je veux. Je veux dans une fenêtre des corrélations. Vous me comprenez ? Je veux que l'ordinateur ne s'arrête pas, en utilisant votre indicateur. Mais ça ressemble à une pile de Spearman.

mais chez moi c'est impossible de le faire. Je superpose les indicateurs les uns aux autres, mais je ne vois qu'un seul indicateur.

Voici à quoi ressemble l'indicateur de ce post : https://www.mql5.com/en/forum/general lorsque je l'applique plusieurs fois dans la même sous-fenêtre.

Dossiers :
spearman.gif  49 kb
 

Вот как индикатор с этого поста : https://www.mql5.com/en/forum/general выглядит, когда применяю его несколько раз в том же дополнительном окне...

Mladen, merci pour le nmc !

 
BlackCoq:
Bonjour à tous,

Je ne veux pas que mon EA ouvre une position s'il y a déjà une position allant dans la même direction au même niveau de prix (en utilisant renko). Essentiellement, cela ressemblerait à quelque chose comme ceci :

Si la direction de la barre précédente est à la hausse, ouvrir une position longue s'il n'y a pas de position longue au même niveau de prix (+-2 pips par exemple). Même chose pour les positions courtes.

Est-ce possible ?

Il suffirait peut-être de consulter le prix ouvert des 15 dernières transactions, de vérifier si l'une d'entre elles se situe dans une fourchette de +-2 pips par rapport au prix actuel, puis de vérifier si cette transaction est dans la même direction que la nouvelle transaction prévue et, si ce n'est pas le cas, d'envoyer l'ordre. Est-ce que cela fonctionnerait ?

Merci,

Axel

 
BlackCoq:
Il suffirait peut-être de consulter le prix d'ouverture des 15 dernières transactions, de vérifier si l'une d'entre elles se situe dans une fourchette de +- 2 pips par rapport au prix actuel, puis de vérifier si cette transaction est dans la même direction que la nouvelle transaction prévue et, si ce n'est pas le cas, d'envoyer l'ordre. Est-ce que cela fonctionnerait ?

Merci,

Axel

Axel

Cela peut être fait.

Il suffit de rechercher le type d'ordre ouvert souhaité et de comparer son prix d'ouverture au nouveau prix d'ouverture souhaité ou de comparer les barres sur lesquelles il a été ouvert à la barre qui sert de critère d'ouverture.

 
mladen:
Axel

Cela peut être fait.

Il suffit d'analyser les ordres ouverts pour trouver le type souhaité et de comparer leurs prix d'ouverture au nouveau prix d'ouverture souhaité ou de comparer les barres sur lesquelles ils ont été ouverts à la barre qui sert de critère d'ouverture.

Serait-il possible d'écrire une fonction comme celle ci-dessous une vingtaine de fois pour différents "i=OrdersTotal()-1", puis d'appeler toutes les fonctions et de les comparer au nouveau prix d'ouverture?

Je vous remercie.

 

Je ne sais pas ce que j'ai fait de mal, le code ci-dessous est 2 EMA cross over avec des alertes.il refuse de fonctionner.svp quelqu'un peut-il m'aider à compiler et à travailler sur mt4 build 600 + :

#property copyright "wnk"

#property link "www.wnk.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Lime

#property indicator_color2 Red

//--- tampons

double ExtMapBuffer1[] ;

double ExtMapBuffer2[] ;

//variable externe......

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

//| Fonction d'initialisation de l'indicateur personnalisé |

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

int init()

{

//---- indicateurs

SetIndexStyle(0,DRAW_ARROW) ;

SetIndexArrow(0,217) ;

SetIndexBuffer(0,ExtMapBuffer1) ;

SetIndexEmptyValue(0,0.0) ;

SetIndexStyle(1,DRAW_ARROW) ;

SetIndexArrow(1,217) ;

SetIndexBuffer(1,ExtMapBuffer2) ;

SetIndexEmptyValue(1,0.0) ;

//----

retour(0) ;

}

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

//| Fonction personnalisée de désinitialisation de l'indicateur |

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

int deinit()

{

//----

//----

return(0) ;

}

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

//| Fonction d'itération de l'indicateur personnalisée |

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

int start()

{

static datetime LastAlertTime = TimeCurrent() ;

int counted_bars=IndicatorCounted(),

limite ;

if(counted_bars<0)

retour(-1) ;

si(barres_comptées>0)

barres comptées-- ;

limite=Bars-compté_barres ;

while(limite)

{

double ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,0) ;

double ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0) ;

double b4ema13=iMA(NULL,0,13,0,MODE_EMA,PRICE_CLOSE,1) ;

double b4ema5=iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1) ;

double mom=iMomentum(NULL,0,14,PRICE_CLOSE,0) ;

double b4mom=iMomentum(NULL,0,14,PRICE_CLOSE,1) ;

//surveiller les alertes

if((LastAlertTime!=Time[0])&&(ema5>ema13)&&(ema5>b4ema5)&&(ema13>b4ema13)&&(mom>b4mom)&&(mom>98.6591))

ExtMapBuffer1[limite]=High[limite]+5*Point ;

LastAlertTime = Time[0] ;

Alert(Symbol()," ",Period(), "M Price UP") ;

//des alertes de vente

if((LastAlertTime!=Time[0])&&(ema5<ema13)&&(ema5<b4ema5)&&(ema13<b4ema13)&&(mom<b4mom)&&(mom<100.6872))

ExtMapBuffer2[limit]=Low[limit]-5*Point ;

LastAlertTime = Time[0] ;

Alert(Symbol()," ",Period(), "M Price Down") ;

}

return(0) ;

}

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

Raison: