![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
J'obtiens une erreur/un avertissement lorsque je compile. Quelqu'un peut-il s'il vous plaît rendre ce programme compatible avec les dernières versions de MT4... à moins que cette erreur ne soit pas grave.
Merci beaucoup
jbozman
J'obtiens une erreur/un avertissement lorsque je compile. Est-ce que quelqu'un peut rendre ce programme compatible avec les dernières versions de MT4... à moins que cette erreur ne soit pas grave.
Merci beaucoup.
jbozmanjbozman
Essayez-le maintenant : price_lines_jlmv_1.mq4
jbozman Essayez-le maintenant : price_lines_jlmv_1.mq4
Aucune erreur. Compilé et ça a l'air bien. Tu es génial.
j
S'il vous plaît aidez ... si je compile ... pas d'erreur.
mais à l'onglet Expert metatrader ont erreur
[PHP]
//+------------------------------------------------------------------+
//| #MTF__B.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrDodgerBlue
#property indicator_color2 clrDeepPink
#property indicator_width1 0
#property indicator_width2 0
//---- input parameters
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PERIOD_W1 10080
PERIOD_MN1 43200
You must use the numeric value of the timeframe that you want to use
when you set the TimeFrame' value with the indicator inputs.
---------------------------------------
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high+low)/2.
PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.
You must use the numeric value of the Applied Price that you want to use
when you set the 'applied_price' value with the indicator inputs.
**************************************************************************/
extern int TimeFrame=30;
extern int barn=1000;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicator line
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(0,DRAW_ARROW,0,5);
SetIndexStyle(1,DRAW_ARROW,0,5);
SetIndexArrow(0,158);
SetIndexArrow(1,158);
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,NULL,TimeFrame);
limit=Bars-counted_bars;
for(i=0,y=0;i<limit;i++)
{
if (Time<TimeArray[y]) y++; ///// line of error here ...
/***********************************************************
Add your main indicator loop below. You can reference an existing
indicator with its iName or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator time frame
Rule 3: Use 'y' for your indicator's shift value
**********************************************************/
ExtMapBuffer1=iCustom(NULL,TimeFrame,"indicator",1,4,0,y) ;
ExtMapBuffer2=iCustom(NULL,TimeFrame,"indicator",1,4,1,y) ;
}
//
return(0);
}
//+------------------------------------------------------------------+
merci
s'il vous plaît aidez ... si je compile ... pas d'erreur
mais à l'onglet Expert metatrader a une erreur
[PHP]
//+------------------------------------------------------------------+
//| #MTF__B.mq4 |
//| Copyright 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrDodgerBlue
#property indicator_color2 clrDeepPink
#property indicator_width1 0
#property indicator_width2 0
//---- input parameters
/*************************************************************************
PERIOD_M1 1
PERIOD_M5 5
PERIOD_M15 15
PERIOD_M30 30
PERIOD_H1 60
PERIOD_H4 240
PERIOD_D1 1440
PERIOD_W1 10080
PERIOD_MN1 43200
You must use the numeric value of the timeframe that you want to use
when you set the TimeFrame' value with the indicator inputs.
---------------------------------------
PRICE_CLOSE 0 Close price.
PRICE_OPEN 1 Open price.
PRICE_HIGH 2 High price.
PRICE_LOW 3 Low price.
PRICE_MEDIAN 4 Median price, (high+low)/2.
PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.
You must use the numeric value of the Applied Price that you want to use
when you set the 'applied_price' value with the indicator inputs.
**************************************************************************/
extern int TimeFrame=30;
extern int barn=1000;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicator line
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(0,DRAW_ARROW,0,5);
SetIndexStyle(1,DRAW_ARROW,0,5);
SetIndexArrow(0,158);
SetIndexArrow(1,158);
return(0);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
datetime TimeArray[];
int i,limit,y=0,counted_bars=IndicatorCounted();
// Plot defined time frame on to current time frame
ArrayCopySeries(TimeArray,MODE_TIME,NULL,TimeFrame);
limit=MathMin(Bars-counted_bars,Bars-1);
for(i=0,y=0;i<limit;i++)
{
if (Time<TimeArray[y]) y++; ///// line of error here ...
/***********************************************************
Add your main indicator loop below. You can reference an existing
indicator with its iName or iCustom.
Rule 1: Add extern inputs above for all neccesary values
Rule 2: Use 'TimeFrame' for the indicator time frame
Rule 3: Use 'y' for your indicator's shift value
**********************************************************/
ExtMapBuffer1=iCustom(NULL,TimeFrame,"indicator",1,4,0,y) ;
ExtMapBuffer2=iCustom(NULL,TimeFrame,"indicator",1,4,1,y) ;
}
//
return(0);
}
//+------------------------------------------------------------------+
Essayez de remplacer cette ligne
limit=Bars-counted_bars ;
par celle-ci :
limit=MathMin(MathMax(Bars-counted_bars,2*TimeFrame/Period()),Bars-1) ;
Essayez de remplacer cette ligne
limit=Bars-counted_bars ;
avec ceci :
limit=MathMin(MathMax(Bars-counted_bars,2*TimeFrame/Period()),Bars-1) ;merci mladen![](https://c.mql5.com/forextsd/smiles/smile.png)
Bonjour Mladen,
J'ai des difficultés à coder cet EA car les règles d'entrée sont quelque chose que je n'ai jamais fait auparavant.
Par exemple, dans ce trade, il est simple d'écrire la règle d'entrée puisque les flèches verte et rouge apparaissent en même temps. Donc, à l'ouverture de la prochaine bougie, nous prenons une position courte.
Mais, dans l'exemple suivant, j'obtiens d'abord la flèche verte sans flèche rouge. Je ne prends donc pas de position avant que la flèche rouge n'apparaisse. En plus de cela, toutes les bougies qui sont après la flèche verte et avant la flèche rouge doivent être des bougies à la hausse, sinon ce n'est pas un trade valide.
Comment dois-je coder cette règle spécifique ? Je sais comment la coder pour la bougie actuelle, mais je ne sais pas comment spécifier ces conditions. Toute aide serait la bienvenue !
Bonjour Mladen,
J'ai du mal à coder cet EA car les règles d'entrée sont quelque chose que je n'ai jamais fait auparavant.
Par exemple, dans ce trade, il est simple d'écrire la règle d'entrée puisque les flèches verte et rouge apparaissent en même temps. Donc, à l'ouverture de la prochaine bougie, nous prenons une position courte.
Mais, dans l'exemple suivant, j'obtiens d'abord la flèche verte sans flèche rouge. Je ne prends donc pas de position avant que la flèche rouge n'apparaisse. De plus, toutes les bougies qui se trouvent après la flèche verte et avant la flèche rouge doivent être à la hausse, sinon ce n'est pas un trade valide.
![](https://c.mql5.com/forextsd/forum/144/capture.jpg)
Comment puis-je coder cette règle spécifique ? Je sais comment la coder pour la bougie actuelle, mais je ne sais pas comment spécifier ces conditions. Toute aide serait la bienvenue !Jason
Pourquoi ne pas copier les conditions logiques du code qui crée ces flèches ?
Jason Pourquoi ne pas copier les conditions logiques du code qui crée ces flèches ?
Je ne suis pas tout à fait sûr de comprendre ce que vous dites...
Ce que j'essaie de découvrir, c'est comment, dans mes conditions d'achat ou de vente, je fais comprendre à l'EA que lorsque la flèche rouge apparaît (c'est le déclencheur), la condition est qu'il doit y avoir eu une flèche verte auparavant et que toutes les bougies qui suivent cette flèche doivent être à la hausse ou à la baisse, selon ce qui est nécessaire. Mais je ne sais pas quand cette flèche verte serait apparue...
Je ne suis pas sûr de comprendre ce que vous dites... Ce que j'essaie de découvrir, c'est comment dans mes conditions d'achat ou de vente, je fais comprendre à l'EA que lorsque la flèche rouge apparaît (c'est le déclencheur), la condition est qu'il doit y avoir eu une flèche verte avant et que toutes les bougies qui suivent cette flèche doivent être à la hausse ou à la baisse selon ce qui est nécessaire. Mais je ne sais pas quand cette flèche verte serait apparue...
Bonjour Jason2005,
Les flèches rouges et vertes sont des valeurs dans les tampons de votre indicateur.... et non de votre EA.....
Utilisez iCustom dans votre EA pour appeler les valeurs de votre indicateur dans les tampons... et utilisez-les ensuite pour votre stratégie de trading.
Il y a beaucoup de bons messages ici dans ce forum sur la façon d'utiliser iCustom dans votre EA...
En attendant... si vous joignez vos indicateurs ici... quelqu'un pourra peut-être vous indiquer quels tampons d'indicateurs vous pouvez utiliser dans vos déclarations iCustom.
J'espère que cela vous aidera,
Robert