[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 309
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
Aidez-moi !
Seules deux lignes MAH sont affichées, alors que le code est équivalent pour les quatre lignes.Quel est le problème ?
#property indicator_separate_window // L'indicateur est dessiné dans une fenêtre séparée.
#property indicator_buffers 4 // Nombre de tampons
#property indicator_color1 Blue // Couleur de la première ligne
#property indicator_color2 Red // Couleur de la deuxième ligne
#propriété indicateur_color3 Olive
#propriété indicateur_color4 Teal
double Buf_ROC_MA40[],Buf_ROC_MA20[],Buf_MA40[],Buf_MA20[] ; // déclaration de tableau (pour les tampons indicateurs)
//--------------------------------------------------------------------
int init() // Fonction spéciale init()
{
SetIndexBuffer(0,Buf_MA40) ; // Affectation d'un tableau au tampon
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);// Style de ligne
SetIndexBuffer(1,Buf_MA20) ; // Affectation d'un tableau au tampon
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);//Style de ligne
SetIndexBuffer(3,Buf_ROC_MA40) ; // Affectation d'un tableau au tampon
SetIndexStyle(3,DRAW_LINE,STYLE_SOLID,2);//Style de ligne
SetIndexBuffer(4,Buf_ROC_MA40) ; // Affectation d'un tableau au tampon
SetIndexStyle(4,DRAW_LINE,STYLE_SOLID,2);// Style de ligne
return ; // Quitter la fonction spéciale init()
}
//--------------------------------------------------------------------
int start() // Fonction spéciale start()
{
int i, // Index de la barre
Histoire=3000,
counted_bars ; // nombre de barres calculées
double ma20,ma40,MA40[],MA20[],MA40_s[],MA20_s[],ma40_s,ma20_s,ROC_MA40[],ROC_MA20[];
//--------------------------------------------------------------------
// Counted_bars=IndicatorCounted() ; // Nombre de barres comptées
i=Bars;//Counted_bars-1 ; // Index du premier non compté
while(i>=0) //Cycle à travers les barres non comptées
{
ma20=iMA("EURUSD",PERIOD_M1,20,0,MODE_SMA,PRICE_CLOSE,i) ;
ma20_s=iMA("EURUSD",PERIOD_M1,20,0,MODE_SMA,PRICE_CLOSE,i+20) ;
ma40=iMA("EURUSD",PERIOD_M1,40,0,MODE_SMA,PRICE_CLOSE,i) ;
ma40_s=iMA("EURUSD",PERIOD_M1,40,0,MODE_SMA,PRICE_CLOSE,i+40) ;
Alert("ma20=",ma20, " ma20_s=",ma20_s, " ma40_s=",ma40_s, " ma40=",ma40) ;
MA40_s[i]=ma40_s ;
MA40[i]=ma40 ;
MA20[i]=ma20 ;
MA20_s[i]=ma20_s ;
Buf_MA40[i]=ma40 ;
Buf_MA20[i]=ma20 ;
ROC_MA40[i]=MA40[i]-MA40_s[i];
Buf_ROC_MA40[i]=ROC_MA40[i];
ROC_MA20[i]=MA20[i]-MA20_s[i];
Buf_ROC_MA20[i]=ROC_MA20[i];
i-- ;
// Calcul de l'indice de la barre suivante
}
//--------------------------------------------------------------------
return ; // Sortie de la fonction spéciale start()
}
1.recommandez, s'il vous plaît, un débogueur (de préférence avec un débogage étape par étape afin de pouvoir voir les valeurs intermédiaires des variables).
Comment puis-je afficher les données de débogage et où (dans quelle fenêtre), car il est peu pratique d'utiliser les alertes.
3) Comment puis-je mettre à jour la version MQL ?
Veuillez me conseiller !
Comment puis-je faire en sorte que mon conseiller expert ne traite que sur la session européenne ?
Aidez-moi !
Seules deux lignes de MAshek sont produites, bien que le code soit équivalent pour les quatre lignes.Quel est le problème ?
J'ai trouvé une erreur. Après le tampon 1 est venu immédiatement le tampon 3. Le tampon 2 a été sauté.
Tu n'aurais pas dû sortir les mélanges et la différence dans une seule fenêtre. Ils ont plus d'un ordre de grandeur de différence.
Veuillez me conseiller !
Comment faire pour que mon EA ne traite que sur la session européenne ?
Il suffit de mettre start au début du module
if(Hour()<7 || Hour()>15)return(0) ;
Regardez à nouveau le code. J'ai supprimé les MA car les nouvelles valeurs reçues ont une échelle complètement différente.
Toujours rien ne s'affiche.
#property indicator_separate_window // L'indicateur est dessiné dans une fenêtre séparée.
#property indicator_buffers 2 // Nombre de tampons
#property indicator_color1 Blue // Couleur de la première ligne
#property indicator_color2 Red //couleur de la deuxième ligne
//#property indicator_color3 Olive
//#propriété indicator_color4 Teal
double Buf_ROC_MA40[],Buf_ROC_MA20[],Buf_MA40[],Buf_MA20[] ; // Déclaration des tableaux (pour les tampons indicateurs)
//--------------------------------------------------------------------
int init() // Fonction spéciale init()
{
//SetIndexBuffer(0,Buf_MA40) ; // Affectation d'un tableau au tampon
//SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);// Style de ligne
//SetIndexBuffer(1,Buf_MA20) ; // Affectation du tableau au tampon
//SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);//Style de ligne
SetIndexBuffer(0,Buf_ROC_MA40) ; // Affectation d'un tableau au tampon
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);//Style de ligne
SetIndexBuffer(1,Buf_ROC_MA20) ; // Affectation d'un tableau au tampon
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);//Style de ligne
return ; // Quitter la fonction spéciale init()
}
//--------------------------------------------------------------------
int start() // Fonction spéciale start()
{
int i, // indice de la barre
Histoire=3000,
counted_bars ; // nombre de barres calculées
double ma20,ma40,MA40[],MA20[],MA40_s[],MA20_s[],ma40_s,ma20_s,ROC_MA40[],ROC_MA20[];
//--------------------------------------------------------------------
// Counted_bars=IndicatorCounted() ; // Nombre de barres comptées
i=Bars;//Counted_bars-1 ; // Index du premier non compté
while(i>=0) //Cycle à travers les barres non comptées
{
ma20=iMA("EURUSD",PERIOD_M1,20,0,MODE_SMA,PRICE_CLOSE,i) ;
ma20_s=iMA("EURUSD",PERIOD_M1,20,0,MODE_SMA,PRICE_CLOSE,i+20) ;
ma40=iMA("EURUSD",PERIOD_M1,40,0,MODE_SMA,PRICE_CLOSE,i) ;
ma40_s=iMA("EURUSD",PERIOD_M1,40,0,MODE_SMA,PRICE_CLOSE,i+40) ;
MA40_s[i]=ma40_s ;
MA40[i]=ma40 ;
MA20[i]=ma20 ;
MA20_s[i]=ma20_s ;
Buf_MA40[i]=ma40 ;
Buf_MA20[i]=ma20 ;
ROC_MA40[i]=MA40[i]-MA40_s[i];
Buf_ROC_MA40[i]=ROC_MA40[i];
ROC_MA20[i]=MA20[i]-MA20_s[i];
Buf_ROC_MA20[i]=ROC_MA20[i];
i-- ;
//Calculer l'indice de la barre suivante
}
//--------------------------------------------------------------------
return ; // Sortie de la fonction spéciale start()
}
Regardez à nouveau le code. J'ai supprimé les MA car les nouvelles valeurs reçues ont une échelle complètement différente.
Toujours rien ne s'affiche.
#property indicator_separate_window // L'indicateur est dessiné dans une fenêtre séparée.
#property indicator_buffers 2 // Nombre de tampons
#property indicator_color1 Blue // Couleur de la première ligne
#property indicator_color2 Red //couleur de la deuxième ligne
//#property indicator_color3 Olive
//#propriété indicator_color4 Teal
double Buf_ROC_MA40[],Buf_ROC_MA20[],Buf_MA40[],Buf_MA20[] ; // Déclaration des tableaux (pour les tampons indicateurs)
//--------------------------------------------------------------------
int init() // Fonction spéciale init()
{
//SetIndexBuffer(0,Buf_MA40) ; // Affectation d'un tableau au tampon
//SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);// Style de ligne
//SetIndexBuffer(1,Buf_MA20) ; // Affectation du tableau au tampon
//SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);//Style de ligne
SetIndexBuffer(0,Buf_ROC_MA40) ; // Affectation d'un tableau au tampon
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);//Style de ligne
SetIndexBuffer(1,Buf_ROC_MA20) ; // Affectation d'un tableau au tampon
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);//Style de ligne
return ; // Quitter la fonction spéciale init()
}
//--------------------------------------------------------------------
int start() // Fonction spéciale start()
{
int i, // indice de la barre
Histoire=3000,
counted_bars ; // nombre de barres calculées
double ma20,ma40,MA40[],MA20[],MA40_s[],MA20_s[],ma40_s,ma20_s,ROC_MA40[],ROC_MA20[];
//--------------------------------------------------------------------
// Counted_bars=IndicatorCounted() ; // Nombre de barres comptées
i=Bars;//Counted_bars-1 ; // Index du premier non compté
while(i>=0) //Cycle à travers les barres non comptées
{
ma20=iMA("EURUSD",PERIOD_M1,20,0,MODE_SMA,PRICE_CLOSE,i) ;
ma20_s=iMA("EURUSD",PERIOD_M1,20,0,MODE_SMA,PRICE_CLOSE,i+20) ;
ma40=iMA("EURUSD",PERIOD_M1,40,0,MODE_SMA,PRICE_CLOSE,i) ;
ma40_s=iMA("EURUSD",PERIOD_M1,40,0,MODE_SMA,PRICE_CLOSE,i+40) ;
MA40_s[i]=ma40_s ;
MA40[i]=ma40 ;
MA20[i]=ma20 ;
MA20_s[i]=ma20_s ;
Buf_MA40[i]=ma40 ;
Buf_MA20[i]=ma20 ;
ROC_MA40[i]=MA40[i]-MA40_s[i];
Buf_ROC_MA40[i]=ROC_MA40[i];
ROC_MA20[i]=MA20[i]-MA20_s[i];
Buf_ROC_MA20[i]=ROC_MA20[i];
i-- ;
// Calcul de l'indice de la barre suivante
}
//--------------------------------------------------------------------
return ; // Sortie de la fonction spéciale start()
}
Il y a trop d'erreurs.
Principale erreur dans le travail avec les tableaux.
Aidez-moi à résoudre ce problème - il y a un signal d'achat/vente, EA ouvre une transaction, fixe un profit et un stop. Et si la transaction est fermée au stop sur la même bougie, alors le conseiller ouvre à nouveau la transaction, et j'ai besoin qu'elle ne soit pas ouverte, c'est-à-dire que sur un signal, une transaction a été ouverte.
Comment faire ?
Comment faire ?
L'heure de clôture du dernier ordre doit être inférieure à l'heure d'ouverture de la barre actuelle.
Si ce n'est pas le cas, n'ouvrez pas la transaction.
L'heure de clôture du dernier ordre doit être inférieure à l'heure d'ouverture de la barre actuelle.
Si ce n'est pas le cas, nous n'ouvrons pas de marché.
>> Je suis confus.
Eh bien, comment va-t-il ouvrir la PREMIÈRE transaction si la condition est d'écrire qu'il n'entre pas avant qu'il y ait au moins une transaction ?