Comment coder ? - page 98

 

Comment faire fonctionner un indicateur sur un autre indicateur ?

Si vous déposez la moyenne mobile de base (incluse comme indicateur dans MT4) sur un autre indicateur, il est possible de calculer la MA de l'indicateur, mais comment modifier un indicateur personnalisé de telle manière qu'il soit possible de le déposer sur un autre indicateur ?

 

sur le bar ouvert

Bonjour,

Je veux exécuter un bout de code uniquement lorsqu'une nouvelle barre est créée (à l'ouverture de la barre).

Quelqu'un a-t-il un extrait de code pour quelque chose comme ça ?

Merci

 

pourquoi mon Indicateur ne fonctionne pas bien ????

#property copyright "沈欣"

#property link "shenxinon@126.com"

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 SteelBlue

//#property indicator_minimum -0.01

//#property indicator_maximum 0.01

//---- paramètres d'entrée

extern int SMA1=12 ;

extern int SMA2=72 ;

//---- tampons

double ExtMapBuffer1[] ;

//---- 自定义区

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

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

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

int init()

{

//---- indicateurs

SetIndexStyle(0,DRAW_LINE) ;

SetIndexBuffer(0,ExtMapBuffer1) ;

string sName="Indicateur RAVI" ;

IndicatorShortName("Indicateur RAVI("+SMA1+", "+SMA2+")") ;

//----

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

//----

if(counted_bars<0) return(-1);// s'il y a une erreur, sortez et retournez -1

if(counted_bars>0) counted_bars-- ;

int pos = Bars-counted_bars ;

double sma1,sma2,r ;

while(pos>=0)

{

sma1=iMA(NULL,0,SMA1,0,MODE_SMA,PRICE_CLOSE,pos) ;

sma2=iMA(NULL,0,SMA2,0,MODE_SMA,PRICE_CLOSE,pos) ;

r=((sma1-sma2)/sma2)*10000;

//Alert("r=",r) ;

ExtMapBuffer1[pos]=r ;

pos-- ;

}

retour(0) ;

 

...

Je l'ai.

 
diffused:
Bonjour,

Je veux exécuter un morceau de code uniquement lorsqu'une nouvelle barre est créée (à l'ouverture de la barre).

Quelqu'un a-t-il un extrait de code pour quelque chose comme ça ?

Cheers

if (Volume[0] == 1)

{FAIRE...}

Big Be

 

trend Enveloppe EA

Hola

J'enseigne le mql.

J'ai lu Usage of Technical Indicators - Simple Programs in MQL4 - MQL4 Tutorial, mais je n'ai pas trouvé quelque chose du genre

Est-ce qu'il est possible de colorer une seule barre ? Par exemple, pendant le test de votre EA, vous pouvez colorer la barre d'entrée...

Sur metatrader je ne vois pas de système de surveillance, comme pour voir le champ de mon tableau variabile qu'il y a dans tous les compilateurs C.

Je veux faire ce système stupide :

Quand le prix a cassé et fermé l'évolution de la tendance (regardez l'image avec le cercle jaune) j'ouvre une alerte et je colorie une barre de rupture.

Mais mon problème est que je ne lis que l'indicateur de tendance à la hausse et pas pendant les périodes courtes, pourquoi ?

double maxprec= iHigh(NULL, PERIOD_M5,1);

double minprec=iLow(NULL, PERIOD_M5,1);

double chiusura2 = iClose(NULL,PERIOD_M15 ,2);

double chiusura = iClose(NULL,PERIOD_M15 ,1);

double chiu2 = iClose(NULL,PERIOD_M5 ,2);

double chiu = iClose(NULL,PERIOD_M5 ,1);

double apertura = iOpen(NULL,PERIOD_M15 ,0)

string rottura [3] = {" Nulla"," ROTTO"};

envelope15_1=iCustom(NULL, PERIOD_M15, "TrendEnvelopes_v1", 5,0,1);// trend envelope

if( chiusura2 > envelope15_2 && chiusura < envelope15_2 && apertura <= envelope15_2)

{

rot=1;

Alert ( " ha rotto SH M15");

}

else

rot=0;

Comment( ""\nBreak Enveolpe M 5= ", rottura[rot2],

"\nBrerak Enveolpe M 15= ", rottura[rot]

); // Alert
Dossiers :
eur_1.jpg  101 kb
 

Est-ce la bonne formule

Est-ce la formule correcte pour calculer la valeur d'un pip pour le croisement eur/chf :

(1/(eur/chf))*10*(eur/us)

Un pip vaut 0,0001.

Formule correcte ci-dessus ?

 
lizmerrill:
Est-ce la formule correcte pour calculer la valeur d'un pip pour le cross eur/chf ?

(1/(eur/chf))*10*(eur/us)

un pip correspond à 0,0001.

Formule correcte ci-dessus ?

Utilisez ce code :

pipvalue=MarketInfo("EURCHF",MODE_TICKVALUE) ;

J'espère que cela vous aidera

 

J'ai besoin du code pour arrêter l'ouverture des positions après un certain temps

J'ai déjà vu tous les messages dans cette section et j'ai fait une recherche sur tout le forum en utilisant l'outil de recherche google en haut du forum, mais ce que j'ai trouvé n'est pas exactement ce que je cherche.

Ce dont j'ai besoin est un code que je dois implémenter dans mon EA qui arrête d'ouvrir une nouvelle position après une certaine heure, par exemple après 15 GMT. Ce paramètre devrait être un paramètre que je peux modifier à partir du panneau de l'utilisateur.

Ce serait génial si je pouvais définir une période de temps pendant laquelle l'EA peut ouvrir les positions, comme suit

Ouvrir de X heures à Y heures

Merci pour votre aide.

Salutations

 
mauro269:
J'ai déjà vu tous les messages de cette section et j'ai fait une recherche sur tout le forum en utilisant l'outil de recherche google en haut du forum, mais ce que j'ai trouvé n'est pas exactement ce que je cherche.

Ce dont j'ai besoin est un code que je dois implémenter dans mon EA qui arrête d'ouvrir une nouvelle position après une certaine heure, par exemple après 15 GMT. Ce paramètre devrait être un paramètre que je peux modifier depuis le panneau de l'utilisateur.

Ce serait génial si je pouvais définir une période de temps pendant laquelle l'EA peut ouvrir les positions, comme suit

Ouvrir de X heures à Y heures

Merci pour votre aide.

Salutations

Voici comment je procède :

extern bool Use.Time.Filter = false ;

extern string Server.Time.To.Start = "08:00" ;

extern string Server.Time.To.Stop = "16:00" ;
start_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Start) ;

end_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Stop) ;

if(Use.Time.Filter && (TimeCurrent() = end_time)) return(0) ;

J'espère que cela vous aidera.

FerruFx

Raison: