Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
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
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.
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,
ChrisstoffChrisstoff
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
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/21C'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
A :mladen
Pourriez-vous dans MT4 d'accord ? Une section du code TS, je ne vais pas écrire MT4 . Merci.
Kreangast
2013-5-21A 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
A : mladen
J'aimerais savoir comment faire ?
Je vous remercie.
KreangastPour 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.
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