[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 37

 

Voici tout ce qui est défini dans l'indicateur.

#property indicator_buffers 8 // Nombre de tampons
SetIndexBuffer(1,Set_SL) ; // affectation du tableau
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1) ; // Style de ligne

Vous n'avez pas besoin de définir la taille du tampon de l'indicateur !

 
Bonsoir. Veuillez me conseiller - dans mon conseiller expert, après la clôture réussie d'une transaction rentable, une position est rouverte dans la même direction que la transaction précédente (bien sûr, elle devient non rentable à l'avenir). Comment puis-je interdire la réouverture de ces transactions incorrectes ?
 
xruss >> :
Bonsoir. Veuillez me conseiller - dans mon conseiller expert, après la clôture réussie d'une transaction rentable, une position est rouverte dans la même direction que la transaction précédente (bien sûr, elle devient non rentable à l'avenir). Comment puis-je interdire la réouverture de ces transactions erronées ?

Supprimez la condition à laquelle vos transactions sont ouvertes de cette manière, et insérez la condition telle que vous souhaitez qu'elles soient ouvertes.

 
Vinin >> :

Et ce serait une bonne idée de définir d'abord la taille du tableau.

Voici tout ce qui est défini dans l'indicateur.

#property indicator_buffers 8 // Nombre de tampons
SetIndexBuffer(1,Set_SL) ; // affectation du tableau
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1) ; // Style de ligne

Vous n'avez pas besoin de définir la taille du tampon de l'indicateur !

 
ikatsko >> :

Vous n'avez pas besoin de définir la taille du tampon de l'indicateur !

Ce n'est pas nécessaire. Cela signifie que le tampon double Set_SL[] ;

 
granit77 >> :

Ce n'est pas nécessaire. Cela signifie que le tampon double Set_SL[] ;

Il me reste donc la question postée ici le 22.03.2009 16:05 (page précédente). Oui, voici un ajout : tout s'est déroulé pendant le week-end, c'est-à-dire qu'il n'y a pas eu de TICKS.


 
ikatsko писал(а) >>

J'ai donc encore une question.

>> mettre tout le code là-bas, voyons si on peut le comprendre.

 
xruss писал(а) >>
Bonsoir. Pouvez-vous me dire - dans mon Expert Advisor, après la clôture réussie d'une transaction rentable, il y a une réouverture d'une position dans la même direction que la transaction précédente (bien sûr, elle devient non rentable dans le futur). Comment puis-je interdire la réouverture de telles transactions erronées ?

Il suffit de vérifier la dernière transaction clôturée. Mais vous devez prévoir le cas où il n'y a pas encore d'histoire.

 
ikatsko писал(а) >>

C'est tout ce qui est défini dans l'indicateur.

#property indicator_buffers 8 // Nombre de tampons
SetIndexBuffer(1,Set_SL) ; // affectation d'un tableau
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1) ; // Style de ligne

Vous n'avez pas besoin de définir la taille du tampon de l'indicateur !

Ceci n'était pas présent dans le code original. Si c'est le cas, la raison est autre. Nous devrions examiner l'ensemble du code.

 
Figar0 >> :

Postez le code complet, essayons de le comprendre.

J'ai laissé (pour simplifier) uniquement ce qui constitue le problème dans le code. Mettons l'indicateur et voyons le problème, pour ainsi dire.

//+------------------------------------------------------------------+
//| iK_exp_stat_v30.mq4 |
//| Ivan Katsko |
//| |
//+------------------------------------------------------------------+
#property copyright "Ivan Katsko"
#propriété lien ""

#property indicator_separate_window // Affichage dans une fenêtre séparée
#property indicator_buffers 8 // Nombre de tampons
#property indicator_color1 DeepPink // Couleur de la première ligne
#property indicator_color2 Purple // Couleur de la deuxième ligne
#property indicator_color3 Red // Couleur de la troisième ligne
#property indicator_color4 LawnGreen // Couleur de la quatrième ligne
#property indicator_color5 Gold // Couleur de la cinquième ligne
#property indicator_color6 Blue // Couleur de la sixième ligne
#property indicator_color7 SteelBlue // Couleur de la septième ligne
#property indicator_color8 Lime //couleur de la huitième ligne

externe interne
Depth=1 ; // Profondeur de l'historique : 1 - sur Valeur de l'historique.
extern double Level=10 ; // Niveau minimum SL/TP

int Historique ; // Nombre de barres dans l'historique calculé

double
Value_TP[] ; // Tableau - Valeur de la prise de bénéfices (Take Profit)
Av_Sum_TP[], // Tableau - Montant moyen des prises de bénéfices (Take Profit)
Sum_na_TP[], // Tableau - Montant incrémental du Take Profit
Algorithme[], // Algorithme : 1 - "aujourd'hui est comme hier", -1 - "aujourd'hui n'est pas comme hier".
Direction[], // Direction de l'ordre : 1 - achat, -1 - vente
Sum_TP[], // Tableau - Montant du Take Profit adaptatif incrémental
Set_TP[], // Mise en place du Take Profit
Set_SL[] ; // Définir le Stop Loss


//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
//--------------------------------------------------------------------
SetIndexBuffer(0,Set_TP) ; // affectation du tableau Swap Up
SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,1) ; // Style de ligne
SetIndexBuffer(1,Set_SL) ; // Affectation de l'oscillation du tableau vers le bas
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1) ; // Style de ligne
SetIndexBuffer(2,Sum_TP) ; // Affectation du tableau au tampon
SetIndexStyle(2,DRAW_LINE,STYLE_SOLID,2) ; // Style de ligne
SetIndexBuffer(3,Direction) ; // Affectation d'un tableau au tampon
SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_SOLID,4) ; // Style de ligne
SetIndexBuffer(4,Algoritm) ; // Affectation d'un tableau au tampon
SetIndexStyle(4,DRAW_LINE,STYLE_SOLID,1) ; // Style de ligne
SetIndexBuffer(5,Value_TP) ; // Affectation d'un tableau au tampon
SetIndexStyle(5,DRAW_HISTOGRAM,STYLE_SOLID,2) ; // Style de ligne
SetIndexBuffer(6,Sum_na_TP) ; // Affectation d'un tableau au tampon
SetIndexStyle(6,DRAW_LINE,STYLE_SOLID,2) ; // Style de ligne
SetIndexBuffer(7,Av_Sum_TP) ; // Affectation d'un tableau au tampon
SetIndexStyle(7,DRAW_HISTOGRAM,STYLE_SOLID,2) ; // Style de ligne

//--------------------------------------------------------------------
switch (Period()) // Définir le nombre de barres à examiner
{
cas 1 : Historique = 30 ; pause ; // Période de 1 minute
cas 5 : Historique = 24 ; pause ; // Période de 5 minutes
cas 15 : Historique = 24 ; pause ; // Période de 15 minutes
cas 30 : Historique = 24 ; pause ; // Période de 30 minutes
cas 60 : Historique = 24 ; pause ; // Période d'une heure
cas 240 : Historique = 30 ; pause ; // Période de 4 heures
case 1440 : History = 22 ; break ; // Période quotidienne
default : Alert("Sélectionnez la période M1 à D1.") ; break ; /période horaire
}
Set_SL[Histoire*Profondeur]=1.0*Niveau*Point ;
Alert("Init :"," Set_SL[",History*Depth,"]=",Set_SL[History*Depth]);//Affichez-le pour voir : il affiche (disons) 0,0001
//--------------------------------------------------------------------//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction personnalisée de désinitialisation de l'indicateur |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int start()
{
Alert("Start :"," Set_SL[",History*Depth,"]=",Set_SL[History*Depth]);//And this already shows 2147483647
retour(0) ;
}


Dossiers :