Aide au codage - page 88

 

Cher Mladen,

Désolé pour la question de base - je suis toujours en difficulté quand un code a besoin de fonctionner avec la date et l'heure. Il y a une constante 120 dans la ligne 97 de l'EA AverageJoe que vous avez posté dans ce forum il y a quelques jours :

if (OrderType() == OP_SELL && CurTime()-LastSellTime >=120) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );

Quelle est l'unité de mesure de cette constante 120?

Merci,

Chrisstoff

 
mladen:
Chrisstoff Ce sont des secondes (metatrader enregistre le temps en tant que nombre de secondes passées depuis la version 1.1.1970 si je ne me trompe pas, mais le fait est qu'il fonctionne toujours avec des secondes lorsqu'une variable datetime est déclarée ou qu'une fonction comme CurrentTime() est appelée).

Mladen,

Merci pour cette réponse rapide.

 
chrisstoff:
Cher Mladen,

Désolé pour la question de base - je suis toujours en difficulté lorsqu'un code doit fonctionner avec la date et l'heure. Il y a une constante 120 dans la ligne 97 de l'EA d'AverageJoe que vous avez postée dans ce forum il y a quelques jours :

if (OrderType() == OP_SELL && CurTime()-LastSellTime >=120) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );

Quelle est l'unité de mesure de cette constante 120?

Merci,

Chrisstoff

Chrisstoff

Ce sont des secondes (metatrader enregistre le temps en tant que nombre de secondes écoulées depuis la version 1.1.1970 si je ne me trompe pas, mais le fait est qu'il fonctionne toujours avec des secondes lorsqu'une variable de date est déclarée ou qu'une fonction comme CurrentTime() est appelée).

 

Modifier les indicateurs Merci à !

#property indicator_chart_window

#property indicator_buffers 5

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

extern int TimeFramePeriod ;

extern int N=100 ;

//

extern double CustoMA1 ;

extern double CustoMA2 ;

extern double CustoMA3 ;

extern double CustoMA4 ;

extern double high20 ;

extern double low20 ;

//

#property indicator_color1 Red

#property indicateur_color2 Lime

#property indicateur_color3 Orange

#property indicateur_color4 Rouge

//--- tampons

double CustoMA1[] ;

double CustoMA2[] ;

double CustoMA3[] ;

double CustoMA4[] ;

double tr[] ;

//

int init() {

SetIndexStyle(0, DRAW_LINE) ;

SetIndexBuffer(0, CustoMA1) ;

SetIndexStyle(1, DRAW_LINE) ;

SetIndexBuffer(1, CustoMA2) ;

SetIndexStyle(2, DRAW_LINE) ;

SetIndexBuffer(2, CustoMA3) ;

SetIndexStyle(3, DRAW_LINE) ;

SetIndexBuffer(3, CustoMA4) ;

SetIndexStyle(4, DRAW_LINE) ;

SetIndexBuffer(4,tr) ;

retourner (0) ;

}

//---- tampons

double buff[] ;

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

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

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

//int init()

//{

//si (Bars < MIN_BARS_REQUIRED) return(-1) ;

//IndicatorDigits(Digits) ;

//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2) ;

//SetIndexBuffer(0, buff) ;

//string paramDesc = "("+getPeriodDesc(TimeFramePeriod) + ", "")" ;

//IndicatorShortName("" + paramDesc) ;

// Définir les étiquettes d'index

//SetIndexLabel(0, "" + paramDesc) ;

//----

//retourne(0) ;

}

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

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

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

int start()

{

int Limit ;

int counted_bars=IndicatorCounted() ;

//----

if(counted_bars<0) return(-1) ;

if(counted_bars>0) counted_bars-- ;

int limit=Bars-counted_bars ;

int i=0 ;

for (i=Mathmin(Bars-5,Limit);i>=0;i--) ;

tr[]=MathMax(MathMax(High-Low,MathAbs(Close-High)),MathAbs(Close-Low)) ;

higt20=H=HHV(H,N) ;

low20=L=LLV(L,N) ;

//

MA1=H-tr[]*0.1 ;

MA2=H-tr[]*0,2 ;

MA3=L+tr[]*0,1 ;

MA4=L+tr[]*0.2 ;

//

CustoMA1=REF(MA1,BarsSince(higt20)) ;

CustoMA2=REF(MA2,BarsSince(higt20)) ;

CustoMA3=REF(MA3,BarsSince(low20)) ;

CustoMA4=REF(MA4,BarsSince(low20)) ;

//

Plot(CustoMA1, "TREND",colorRed) ;

Plot(CustoMA2, "TREND",colorLime) ;

Plot(CustoMA3, "TREND",colorOrange) ;

Plot(CustoMA4, "TREND",colorRed) ;

//----

retour(0) ;

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

string getPeriodDesc(int aNumMinutes)

{

switch(aNumMinutes)

{

case PERIOD_M1 : return("M1") ;

case PERIOD_M15 : return("M15") ;

case PERIOD_M30 : return("M30") ;

case PERIOD_H1 : return("H1") ;

case PERIOD_H4 : return("H4") ;

case PERIOD_D1 : return("D1") ;

cas PERIOD_W1 : return("W1") ;

cas PERIOD_MN1 : return("MN1") ;

cas 0 : return("Chart") ;

par défaut : return("M" + aNumMinutes) ;

}

}

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

//| |

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

double getDeMarker(int aShift)

{

return(iDeMarker(NULL, TimeFramePeriod, 13, iBarShift(NULL, TimeFramePeriod, Time[aShift]))) ;

}

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

//| |

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

int start()

{

for(int shift=Bars-1;shift>=0;shift--)

{

buff[shift]=getDeMarker(shift) ;

}

return(0) ;

}

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

Désolé ! Collez le code ici

Kreangast

2013/5/21

 
Kreangast:
Modifier les indicateurs Merci à vous !

#property indicator_chart_window

#property indicator_buffers 5

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

extern int TimeFramePeriod ;

extern int N=100 ;

//

extern double CustoMA1 ;

extern double CustoMA2 ;

extern double CustoMA3 ;

extern double CustoMA4 ;

extern double high20 ;

extern double low20 ;

//

#property indicator_color1 Red

#property indicateur_color2 Lime

#property indicateur_color3 Orange

#property indicateur_color4 Rouge

//--- tampons

double CustoMA1[] ;

double CustoMA2[] ;

double CustoMA3[] ;

double CustoMA4[] ;

double tr[] ;

//

int init() {

SetIndexStyle(0, DRAW_LINE) ;

SetIndexBuffer(0, CustoMA1) ;

SetIndexStyle(1, DRAW_LINE) ;

SetIndexBuffer(1, CustoMA2) ;

SetIndexStyle(2, DRAW_LINE) ;

SetIndexBuffer(2, CustoMA3) ;

SetIndexStyle(3, DRAW_LINE) ;

SetIndexBuffer(3, CustoMA4) ;

SetIndexStyle(4, DRAW_LINE) ;

SetIndexBuffer(4,tr) ;

retourner (0) ;

}

//---- tampons

double buff[] ;

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

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

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

//int init()

//{

//si (Bars < MIN_BARS_REQUIRED) return(-1) ;

//IndicatorDigits(Digits) ;

//SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2) ;

//SetIndexBuffer(0, buff) ;

//string paramDesc = "("+getPeriodDesc(TimeFramePeriod) + ", "")" ;

//IndicatorShortName("" + paramDesc) ;

// Définir les étiquettes d'index

//SetIndexLabel(0, "" + paramDesc) ;

//----

//retourne(0) ;

}

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

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

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

int start()

{

int Limit ;

int counted_bars=IndicatorCounted() ;

//----

if(counted_bars<0) return(-1) ;

if(counted_bars>0) counted_bars-- ;

int limit=Bars-counted_bars ;

int i=0 ;

for (i=Mathmin(Bars-5,Limit);i>=0;i--) ;

tr[]=MathMax(MathMax(High-Low,MathAbs(Close-High)),MathAbs(Close-Low)) ;

higt20=H=HHV(H,N) ;

low20=L=LLV(L,N) ;

//

MA1=H-tr[]*0.1 ;

MA2=H-tr[]*0.2 ;

MA3=L+tr[]*0,1 ;

MA4=L+tr[]*0.2 ;

//

CustoMA1=REF(MA1,BarsSince(higt20)) ;

CustoMA2=REF(MA2,BarsSince(higt20)) ;

CustoMA3=REF(MA3,BarsSince(low20)) ;

CustoMA4=REF(MA4,BarsSince(low20)) ;

//

Plot(CustoMA1, "TREND",colorRed) ;

Plot(CustoMA2, "TREND",colorLime) ;

Plot(CustoMA3, "TREND",colorOrange) ;

Plot(CustoMA4, "TREND",colorRed) ;

//----

retour(0) ;

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

string getPeriodDesc(int aNumMinutes)

{

switch(aNumMinutes)

{

case PERIOD_M1 : return("M1") ;

case PERIOD_M15 : return("M15") ;

case PERIOD_M30 : return("M30") ;

case PERIOD_H1 : return("H1") ;

case PERIOD_H4 : return("H4") ;

case PERIOD_D1 : return("D1") ;

cas PERIOD_W1 : return("W1") ;

cas PERIOD_MN1 : return("MN1") ;

cas 0 : return("Chart") ;

par défaut : return("M" + aNumMinutes) ;

}

}

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

//| |

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

double getDeMarker(int aShift)

{

return(iDeMarker(NULL, TimeFramePeriod, 13, iBarShift(NULL, TimeFramePeriod, Time[aShift]))) ;

}

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

//| |

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

int start()

{

for(int shift=Bars-1;shift>=0;shift--)

{

buff[shift]=getDeMarker(shift) ;

}

return(0) ;

}

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

Désolé ! Collez le code ici

Kreangast

2013/5/21

C'est quelqu'un qui essaie de combiner un code de Tadestation avec un code de Metatrader. Cela ne fonctionnera pas de cette façon et il ne peut pas être combiné de cette façon.

 

A :mladen

Pourriez-vous dans MT4 d'accord ? Une section du code TS, je ne vais pas écrire MT4 . Merci.

Kreangast

2013-5-21

 
Kreangast:
A :mladen

Pourriez-vous dans MT4 d'accord ? Une section du code TS, je ne vais pas écrire MT4 . Merci.

Kreangast

2013-5-21

A partir de ce que vous avez posté, il n'est pas possible de voir ce qu'il devrait faire.

 

A :mladen

Je voudrais demander comment faire ?

Je vous remercie

Kreangast

 
Kreangast:
A : mladen

J'aimerais savoir comment faire ?

Je vous remercie.

Kreangast

Pour commencer, vous devrez d'abord lire ceci : https://www.mql5.com/en/forum/172969/page2 et ensuite quelque chose de similaire pour tradestation et ensuite vous pourrez convertir le code d'un langage de codage à un autre langage de codage.

 
mladen:
Pour commencer, vous devrez d'abord lire ces : https://www.mql5.com/en/forum/172969/page2 et ensuite quelque chose de similaire pour tradestation et ensuite vous pouvez convertir le code d'un langage de codage à un autre langage de codage....

Mais ce code ne s'écrit pas, ce qui vous perturbe dans MT4 ok ? Extrêmement reconnaissant

Kreangast

2013/5/21