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
Salut Pro-Coders,
J'obtiens l'avertissement : "vérifiez la précédence de l'opérateur pour une erreur éventuelle ; utilisez les parenthèses pour clarifier la précédence".
if ((STC115)||(STC185)&&(Ask>emaFilter && ADXmain>25))
{
OpenBuy();
}
Il semble que l'instruction ..AND (Ask>emaFilter) soit également ignorée par MT4.
Quelqu'un pourrait-il me conseiller ?
Merci d'avance !Vous devriez probablement l'écrire comme ceci :
if((STC115) || (STC185)) && (Ask>emaFilter && ADXmain>25) )
Mais cela dépend principalement de ce que vous voulez tester exactement. L'avertissement vient du fait qu'avant la précédence de && (et) et || (ou) était différente - ils l'ont inversé et maintenant toutes ces comparaisons logiques doivent être vérifiées.
Vous devriez probablement l'écrire comme ceci :
si (((STC115) || (STC185)) && (Ask>emaFilter && ADXmain>25) )
Mais cela dépend principalement de ce que vous voulez exactement tester. L'avertissement vient du fait qu'avant la précédence de && (et) et || (ou) était différente - ils l'ont inversé et maintenant toutes ces comparaisons logiques doivent être vérifiées.Salut Mladen,
merci beaucoup pour votre suggestion. Je vais l'essayer ! Vous êtes toujours très utile !
En termes simples, les trois parenthèses doivent devenir vraies avant que l'EA n'ouvre une transaction.
Je suppose que votre code fournira cette fonctionnalité.
Cordialement,
T.
Codeurs,
Quelqu'un pourrait-il m'aider avec ce qui suit ?
J'utilise un script de vagues Elliot pour étiqueter manuellement les vagues. Le script place 8 objets différents sur le graphique (i,ii,iii,iv,v,a,b,c).
Tout fonctionne bien, mais la suppression des objets demande beaucoup de travail. En effet, je dois cliquer sur chaque objet (i, ii, iii, iv, v, a, b, c) pour les supprimer. Je voudrais ajouter quelque chose au code qui me permette de mettre en évidence tous les objets (i,ii,iii,iv,v,a,b,c) avec un seul clic sur les objets. J'ai déjà cherché mais je n'ai pas trouvé la fonction dont j'ai besoin.
(Je ne cherche pas un script qui supprime tous les objets du graphique).
Merci d'avance
//+------------------------------------------------------------------+
#property version "1.00"
#property strict
#include
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
extern string Text1 = "(i)"; // Enter Text to place on screen
extern string Text2 = "(ii)"; // Enter Text to place on screen
extern string Text3 = "(iii)"; // Enter Text to place on screen
extern string Text4 = "(iv)"; // Enter Text to place on screen
extern string Text5 = "(v)"; // Enter Text to place on screen
extern string Text6 = "(a)"; // Enter Text to place on screen
extern string Text7 = "(b)"; // Enter Text to place on screen
extern string Text8 = "(c)"; // Enter Text to place on screen
extern string Text_font="Arial Bold"; // font of text
extern int Text_fontsize = 14; // size of text
extern color Text_color = Red; // color of text
int TextBarsAhead2 = 7; // # bars to space 2nd letter from first
int TextBarsAhead3 = 14; // # bars to space 3rd letter from first
int TextBarsAhead4 = 21; // # bars to space 4th letter from first
int TextBarsAhead5 = 28; // # bars to space 5th letter from first
int TextBarsAhead6 = 35; // # bars to space 6th letter from first
int TextBarsAhead7 = 42; // # bars to space 7th letter from first
int TextBarsAhead8 = 49; // # bars to space 8th letter from first
//+------------------------------------------------------------------+
//+-----------------------------SCRIPT CODE--------------------------+
int OnStart(){
double price = WindowPriceOnDropped(); // find the price point where dropped
datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped
datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)
datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;
datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;
datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;
datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;
datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;
datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;
datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;
string gap=" "; // spacing between text characters
string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line
TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter
TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter
TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter
TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter
TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter
TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter
TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter
TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter
return(0);
}
//+------------------------------------------------------------------+
void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)
{
if(StringLen(LabelText)>1){
ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);
ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);
}
}
//+------------------------------------------------------------------+Codeurs,
Quelqu'un pourrait-il m'aider avec ce qui suit ?
J'utilise un script de vagues Elliot pour étiqueter manuellement les vagues. Le script place 8 objets différents sur le graphique (i,ii,iii,iv,v,a,b,c).
Tout fonctionne bien, mais la suppression des objets demande beaucoup de travail. En effet, je dois cliquer sur chaque objet (i, ii, iii, iv, v, a, b, c) pour les supprimer. Je voudrais ajouter quelque chose au code qui me permette de mettre en évidence tous les objets (i,ii,iii,iv,v,a,b,c) avec un seul clic sur les objets. J'ai déjà cherché mais je n'ai pas trouvé la fonction dont j'ai besoin.
(Je ne cherche pas un script qui supprime tous les objets du graphique).
Merci d'avance
//+------------------------------------------------------------------+
#property version "1.00"
#property strict
#include
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
extern string Text1 = "(i)"; // Enter Text to place on screen
extern string Text2 = "(ii)"; // Enter Text to place on screen
extern string Text3 = "(iii)"; // Enter Text to place on screen
extern string Text4 = "(iv)"; // Enter Text to place on screen
extern string Text5 = "(v)"; // Enter Text to place on screen
extern string Text6 = "(a)"; // Enter Text to place on screen
extern string Text7 = "(b)"; // Enter Text to place on screen
extern string Text8 = "(c)"; // Enter Text to place on screen
extern string Text_font="Arial Bold"; // font of text
extern int Text_fontsize = 14; // size of text
extern color Text_color = Red; // color of text
int TextBarsAhead2 = 7; // # bars to space 2nd letter from first
int TextBarsAhead3 = 14; // # bars to space 3rd letter from first
int TextBarsAhead4 = 21; // # bars to space 4th letter from first
int TextBarsAhead5 = 28; // # bars to space 5th letter from first
int TextBarsAhead6 = 35; // # bars to space 6th letter from first
int TextBarsAhead7 = 42; // # bars to space 7th letter from first
int TextBarsAhead8 = 49; // # bars to space 8th letter from first
//+------------------------------------------------------------------+
//+-----------------------------SCRIPT CODE--------------------------+
int OnStart(){
double price = WindowPriceOnDropped(); // find the price point where dropped
datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped
datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)
datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;
datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;
datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;
datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;
datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;
datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;
datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;
string gap=" "; // spacing between text characters
string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line
TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter
TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter
TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter
TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter
TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter
TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter
TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter
TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter
return(0);
}
//+------------------------------------------------------------------+
void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)
{
if(StringLen(LabelText)>1){
ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);
ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);
}
}
//+------------------------------------------------------------------+xtractalpha
Dans la procédure deinit() ajoutez la partie nettoyage.
Dans votre cas, ce serait ObjectDelete(objectName) pour chaque objet que votre code a créé.
Bonjour Mladen
Pourriez-vous m'aider à résoudre les erreurs de compilation dans le fichier ci-dessous ?
Bonjour Mladen Pourriez-vous m'aider à résoudre les erreurs de compilation dans le fichier ci-dessous ?
Regardez-le maintenant : genie_stoch_rsittt_1.mq4
Cher Mladen
Merci pour cet excellent logiciel
Est-il possible d'avoir une version histogramme ? ??
Cher Mladen
Thanx pour ce grand indy
Est-il possible version histogramme ???Il est possible d'acheter alors les deux lignes de signal doivent être complètement ignorées et coupées.
Il est possible d'acheter alors les deux lignes de signal doivent être complètement ignorées et coupées.
No problem.... j'ai seulement besoin de cette ligne rouge-verte
(ligne rouge-verte comme histogramme)
Merci d'avance
Bonjour Mladen,
J'ai ajouté un code pour le trailing stop à l'EA. Je reçois deux erreurs de compilation. Les instructions pour ajouter le code étaient :
Comment l'utiliser ?
Très simple. Placez le code ci-dessous dans n'importe quelle partie de votre programme Expert Advisor et appelez la fonctiontrail2(#ticket) dans la fonction Start().ticket = est votre ticket d'ordre, il peut s'agir d'un ordre d'achat ou de vente. Mais il doit s'agir d'un ordre réel et non d'un ordre en attente.
Par exemple
{...(votre code)
ticket=ordersend(...)
...
}
..
trail2(ticket)
ou trail2(ticket, 300, 40, 250, 100)
..