Aide au codage - page 305

 
Boomerang:
Bonjour

Quelqu'un peut-il m'aider à coder un indicateur avec les critères suivants :

Entrée utilisateur :

1- Time frame : cadre temporel actuel de 1minute à 4 heures :

2- RSI(période) : paramètre par défaut 14

3- Niveaux du RSI :

a- Niveau de hausse : de 50 à 100

b- Niveau de baisse : de 0 à 50

c- Niveau moyen : 50

4- Mode de signal :

a- Mode vente : affiche uniquement les signaux de vente.

b- Mode achat : affiche uniquement les signaux d'achat.

5- X= quelques pips au-dessus ou en dessous du haut ou du bas du jour.

Signaux en mode vente :

1- Mode vente : affiche uniquement les signaux de vente sur le graphique.

2- Attendez que le RSI traverse le niveau supérieur depuis le bas puis retrace le niveau moyen depuis le haut.

3- Tracer une flèche rouge vers le bas à la clôture de la 1ère bougie qui traverse le niveau moyen par le haut.

4- Tracez un point vert au-dessus du plus haut du jour de x pips avant le signal de la flèche rouge.

5- Alerte et possibilité d'email (vrai, faux).

6- Ne tient pas compte de tout croisement (haut, bas et moyen) avant l'heure A et après l'heure B :

a- Défaut A : 8:15 de la plateforme.

b- Défaut B : 22:00 de la plateforme.

Signaux en mode achat :

1- Mode achat jour : afficher uniquement le signal d'achat sur le graphique.

2- Attendez que le RSI traverse le niveau inférieur par le haut puis retrace le niveau moyen par le bas.

3- Dessiner une flèche verte à la clôture de la 1ère bougie qui traverse le niveau moyen par le bas.

4- Dessiner un point rouge sous le plus bas du jour par X pips avant le signal de la flèche verte.

5- Alerte et possibilité d'email (vrai, faux).

6- Ne tient pas compte des croisements (haut, bas et moyen) avant l'heure A et après l'heure B :

a- Défaut A : 8:15 de la plateforme.

b- Défaut B : 21:00 de la plateforme.

Exemple :

Merci d'avance

Boomerang

Pourquoi n'avez-vous pas pris le premier signal aussi (même condition que le signal que vous avez marqué) ?

 

heiken_ashih_sw_mtf_chrt.mq4

Bonjour, M. Tools m'a gentiment fait ce fichier il y a quelques temps, mais maintenant il ne compile pas dans le nouveau MT4, les erreurs étant avec le code timeframetoString, disant "char" non valide etc !

Pouvez-vous le réparer ?

Il fonctionne toujours visuellement, mais j'ai une deuxième version pour la "fenêtre séparée" qui n'a pas survécu à la transition correctement, il ne reste que le fichier .ex4 qui fonctionne mais je pense que les alertes ont cessé de fonctionner, donc j'essaie de le recompiler à nouveau pour vérifier. J'ai besoin de la même pour la fenêtre principale et la fenêtre séparée. Merci.

Dossiers :
 
zigflip:
heiken_ashih_sw_mtf_chrt.mq4

Bonjour, M. Tools a gentiment fait ceci pour moi il y a quelque temps, mais maintenant il ne compile pas dans le nouveau MT4, les erreurs étant avec le code timeframetoString, disant "char" non valide etc !

Pouvez-vous le réparer ?

il fonctionne toujours visuellement, mais j'ai une deuxième version pour "fenêtre séparée" qui n'a pas survécu à la transition correctement, il ne reste que le fichier .ex4 qui fonctionne mais je pense que les alertes ont cessé de fonctionner, donc j'essaie de le recompiler à nouveau pour vérifier. J'ai besoin de la même pour la fenêtre principale et la fenêtre séparée. Merci.

Zigflip, il s'agit de la version graphique rendue compatible. Si vous avez la version à fenêtre séparée, vous pouvez la rendre compatible également.

 

S'il vous plaît, quelqu'un peut-il m'aider avec ce code... il répète toujours la même alerte. par exemple, s'il apporte une alerte d'achat sur une paire, après environ 7 bougies, il apportera la même alerte d'achat sur la même paire. Je veux qu'il fonctionne de telle sorte que lorsqu'il apporte une alerte d'achat sur une paire, il n'apportera pas de signal d'achat à nouveau sur cette paire jusqu'à ce qu'il ait fourni un signal de vente :

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Lime

#property indicator_color2 Red

//--- tampons

double ExtMapBuffer1[] ;

double ExtMapBuffer2[] ;

//-variable externe......

extern int barsToProcess=100 ;

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

//| 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()

{

int counted_bars=IndicatorCounted(),

limite ;

si(barres_comptées>0)

barres comptées-- ;

limit=Bars-counted_bars ;

if(limit>barsToProcess)

limite=barsToProcess ;

for(int i=0;i<limit;i++)

{

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) ;

}

static datetime lastAlerted=0 ;

Chaîne statique AlertType1="" ;

chaîne statique AlertType2="" ;

//surveiller les alertes

if((ema5>ema13)&&(ema5>b4ema5)&&(ema13>b4ema13)&&(mom>b4mom)&&(mom>98.6591)&&(lastAlerted!=Time[0])&&(AlertType1!="Buy")){

ExtMapBuffer1=High+5*Point ;

}sélection

ExtMapBuffer1=0.0 ;

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

//alertes de vente

if((ema5<ema13)&&(ema5<b4ema5)&&(ema13<b4ema13)&&(mom<b4mom)&&(mom<100.6872)&&(lastAlerted!=Time[0])&&(AlertType2!="Sell")){

ExtMapBuffer2=Low-5*Point ;

}sélection

ExtMapBuffer2=0.0 ;

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

retour(0) ;

}

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

 
mrtools:
Zigflip, c'est la version graphique qui a été rendue compatible, est-ce qu'il y a une chance que vous ayez la version fenêtre séparée, et que vous puissiez la rendre compatible aussi.

Merci !

Je n'ai que le fichier .ex4 pour la version fenêtre séparée et je ne sais pas comment c'est arrivé mais je ne trouve le .mq4 nulle part !

J'ai juste changé la version graphique avant pour faire la version séparée, en changeant juste la ligne en haut - propriété de l' indicateur - de chart_window à separate window - n'est-ce pas ok ?

 

Salut les gars,

J'ai besoin de votre aide. Comment puis-je vous envoyer une copie d'un indicateur que je voudrais que vous modifiiez pour moi ? Je ne sais pas comment faire. Merci pour votre temps.

Steve,

 
Genesisman:
Salut les gars,

J'ai besoin de votre aide. Comment puis-je t'envoyer une copie d'un indicateur que je voudrais que tu modifies pour moi ? Je ne sais pas comment faire. Merci pour votre temps.

Steve,

S'il s'agit d'un code public, il suffit de le poster ici (appuyez sur le "go advanced" et là vous trouverez comment attacher un fichier)

 
Mastercash:
S'il vous plaît, quelqu'un peut-il m'aider avec ce code... il répète toujours la même alerte, par exemple, s'il apporte une alerte d'achat sur une paire, après environ 7 bougies, il apportera la même alerte d'achat sur la même paire. Je veux qu'il fonctionne de telle sorte que lorsqu'il apporte une alerte d'achat sur une paire, il n'apportera pas de signal d'achat à nouveau sur cette paire jusqu'à ce qu'il ait fourni un signal de vente :

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Lime

#property indicator_color2 Red

//--- tampons

double ExtMapBuffer1[] ;

double ExtMapBuffer2[] ;

//-variable externe......

extern int barsToProcess=100 ;

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

//| 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()

{

int counted_bars=IndicatorCounted(),

limite ;

si(barres_comptées>0)

barres comptées-- ;

limit=Bars-counted_bars ;

if(limit>barsToProcess)

limite=barsToProcess ;

for(int i=0;i<limit;i++)

{

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) ;

}

static datetime lastAlerted=0 ;

Chaîne statique AlertType1="" ;

chaîne statique AlertType2="" ;

//surveiller les alertes

if((ema5>ema13)&&(ema5>b4ema5)&&(ema13>b4ema13)&&(mom>b4mom)&&(mom>98.6591)&&(lastAlerted!=Time[0])&&(AlertType1!="Buy")){

ExtMapBuffer1=High+5*Point ;

}sélection

ExtMapBuffer1=0.0 ;

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

//alertes de vente

if((ema5<ema13)&&(ema5<b4ema5)&&(ema13<b4ema13)&&(mom<b4mom)&&(mom<100.6872)&&(lastAlerted!=Time[0])&&(AlertType2!="Sell")){

ExtMapBuffer2=Low-5*Point ;

}sélection

ExtMapBuffer2=0.0 ;

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

retour(0) ;

}

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

Ce serait une façon de le faire.

Dossiers :
m.mq4  4 kb
 

Cher Mrtools

Dans l'indicateur ci-joint 'macd signal line' les calculs sont en SMA, peut-on les calculer en EMA (comme Gerald Appel MACD) ?

Dans certains cadres temporels, le MACD ne s'affiche pas correctement, est-il possible d'ajouter un multiplicateur pour une meilleure visualisation ?

Merci pour toute aide

secretcode

Dossiers :
macdcci.mq4  4 kb
 
secretcode:
Cher Mrtools

Dans l'indicateur ci-joint 'macd signal line' les calculs sont en SMA, peut-on les calculer en EMA (comme Gerald Appel MACD) ?

Dans certaines périodes, le MACD ne s'affiche pas correctement, est-il possible d'ajouter un multiplicateur pour améliorer l'aspect visuel ?

Merci pour toute aide

secretcode

Bonjour Secretcode, j'ai ajouté des options de mode pour les ma's rapide, lent et de signal pour le macd, et j'ai ajouté le multiplicateur.

Dossiers :
Raison: