[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 493

 
hoz:

Bien sûr, je comprends. Sauf que je n'ai jamais vu la présence d'un ordre analysé de cette façon auparavant :

habituellement juste sans ==true... J'ai aimé ce point. Bien que ce soit intéressant, je n'ai pas vu cette méthode dans d'autres EA. Je comprends la logique, mais quand même.


Essayez et expérimentez différentes variantes, il sera plus facile de tout comprendre ! Bonne chance !
 
hoz:

Bien sûr, je comprends. Sauf que je n'ai jamais vu la présence d'un ordre analysé de cette façon auparavant :

habituellement juste sans ==true... J'ai aimé ce point. Bien que ce soit intéressant, je n'ai pas vu cette méthode dans d'autres EA. Je comprends la logique, mais quand même.

Une même action dans le code peut être écrite de différentes manières et toutes seront exécutées correctement. La différence peut se voir soit dans la simplicité de l'écriture du code, soit dans sa rapidité, ou les deux ensemble et vous pouvez dire que le code a été écrit par un pro.
 
Pouvez-vous me dire comment arrêter l'expert ? Une recherche n'a rien donné de significatif :(((
 
fmillion:
Pouvez-vous m'indiquer la fonction permettant d'arrêter un EA ? La recherche était incompréhensible :((

Pas de problème :

bool ОстановкаСоветника (bool Причина)
{if (Причина) return (true) else return (false);}

int start()
{
    if (ОстановкаСоветника (Причина)) return (0);
    //---- Код советника

}

et vous pouvez également utiliser le bouton "Advisors" dans le terminal pour désactiver un EA.

 

Bonjour

Pourriez-vous me dire

Lorsque je passe par la fonction OrderSelect, les commandes sont triées par le numéro de commande et non par le ticket.

Par quel paramètre ces commandes sont-elles triées ?

J'ai remarqué qu'ils sont triés par heure d'ouverture de l'ordre, c'est-à-dire que le dernier ordre est le plus récent en termes d'heure d'ouverture, qu'il s'agisse du marché ou de l'attente.

Est-ce que c'est toujours comme ça dans cette fonction ou est-ce que c'est différent ?

Est-il toujours possible d'obtenir un ticket pour le dernier ordre ouvert/placé de cette manière ?

 
while(!IsTradeAllowed()) Dormir (500) ;
RefreshRates() ;
if(Cmd == 0) PR = Bid ; sinon PR = Ask ;
int tic=OrderSend(Symbol(),Cmd,Lot,PR,Slippage,0,",Magic,0,CLR_NONE) ;
si(tic<0){
Print("Erreur d'ouverture de commande : ",GetLastError()) ;
Print("Pair=",Symbol(),"...Command=",Cmd,"...Lot=",Lot,"...Price=",DoubleToStr(PR,Digits)) ;

}

Dérapage = 5 points

Erreur 129 )) ..... Où est-il ? Qu'est-ce qui ne va pas ?

 
fmillion:
while(!IsTradeAllowed()) Dormir (500) ;
RefreshRates() ;
if(Cmd == 0) PR = Bid ; sinon PR = Ask ;
int tic=OrderSend(Symbol(),Cmd,Lot,PR,Slippage,0,",Magic,0,CLR_NONE) ;
si(tic<0){
Print("Erreur d'ouverture de commande : ",GetLastError()) ;
Print("Pair=",Symbol(),"...Command=",Cmd,"...Lot=",Lot,"...Price=",DoubleToStr(PR,Digits)) ;

}

Dérapage = 5 points

Erreur 129 )) ..... Où est-il ? Qu'est-ce qui ne va pas ?

Essayez comme ça :

if(Cmd == 0) PR =Ask; sinon PR =Bid;

Je pense que ça va aider.

 

Voici le script :

//+------------------------------------------------------------------+
//|                                Brooky_FibIt_Extension_Script.mq4 |
//|                        Copyright 2012, www.Brooky_Indicators.com |
//|                                        www.Brooky_Indicators.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, www.Brooky_Indicators.com"
#property link      "www.Brooky_Indicators.com"
#property show_confirm  
#property show_inputs
//+---------------------
//| script program start function                                    |
//+------------------------------------------------------------------+

extern int       FibOnChartNum =1;

extern color     Fib_Cbar_Color = Red;
extern int       Fib_Cbar_Size=1;
extern int       Fib_Cbar_Style=2;

extern color     Fib_Level_Color = Gray;
extern int       Fib_Level_Size=1;
extern int       Fib_Level_Style=2;

extern double     Fib_Level_1 = -0.117;
extern double     Fib_Level_2 = 0;
extern double     Fib_Level_3 = 1;
extern double     Fib_Level_4 = 1.618;
extern double     Fib_Level_5 = 2;
extern double     Fib_Level_6 = 2.382;
extern double     Fib_Level_7 = 3;

string Xtra_txtFib_Level_1  = "(SL) ";
string Xtra_txtFib_Level_2  = "";
string Xtra_txtFib_Level_3  = "";
string Xtra_txtFib_Level_4  = "(TP1)";
string Xtra_txtFib_Level_5  = "(TP2)";
string Xtra_txtFib_Level_6  = "Re Entry Break ";
string Xtra_txtFib_Level_7  = "";


string txtFib_Level_1  = "";
string txtFib_Level_2  = "";
string txtFib_Level_3  = "";
string txtFib_Level_4  = "";
string txtFib_Level_5  = "";
string txtFib_Level_6  = "";
string txtFib_Level_7  = "";


string FibPrice = " @ %$";
string FibName = "";


int start()
  {
//----
      txtFib_Level_1 = StringConcatenate(Xtra_txtFib_Level_1,DoubleToStr(Fib_Level_1,3),FibPrice);
      txtFib_Level_2 = StringConcatenate(Xtra_txtFib_Level_2,DoubleToStr(Fib_Level_2,3),FibPrice);
      txtFib_Level_3 = StringConcatenate(Xtra_txtFib_Level_3,DoubleToStr(Fib_Level_3,3),FibPrice);
      txtFib_Level_4 = StringConcatenate(Xtra_txtFib_Level_4,DoubleToStr(Fib_Level_4,3),FibPrice);
      txtFib_Level_5 = StringConcatenate(Xtra_txtFib_Level_5,DoubleToStr(Fib_Level_5,3),FibPrice);
      txtFib_Level_6 = StringConcatenate(Xtra_txtFib_Level_6,DoubleToStr(Fib_Level_6,3),FibPrice);
      txtFib_Level_7 = StringConcatenate(Xtra_txtFib_Level_7,DoubleToStr(Fib_Level_7,3),FibPrice);
      
      
      
      FibName = "Brooky_Fib_"+FibOnChartNum;
      ObjectDelete(FibName);
      
      ObjectCreate(FibName,OBJ_FIBO,0,Time[9],High[24],Time[1],Low[1]);
      
      ObjectSet(FibName, OBJPROP_COLOR,Fib_Cbar_Color);
      ObjectSet(FibName, OBJPROP_WIDTH ,Fib_Cbar_Size);
      ObjectSet(FibName, OBJPROP_STYLE ,Fib_Cbar_Style);
      
      ObjectSet(FibName, OBJPROP_RAY,True);
       
      ObjectSet(FibName, OBJPROP_LEVELSTYLE,Fib_Level_Style);
      ObjectSet(FibName, OBJPROP_LEVELCOLOR,Fib_Level_Color);      
      ObjectSet(FibName, OBJPROP_LEVELWIDTH,Fib_Level_Size);  
       
          
      ObjectSet(FibName, OBJPROP_FIBOLEVELS,7);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+0,Fib_Level_1);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+1,Fib_Level_2);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+2,Fib_Level_3);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+3,Fib_Level_4);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+4,Fib_Level_5);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+5,Fib_Level_6);
      ObjectSet(FibName, OBJPROP_FIRSTLEVEL+6,Fib_Level_7);
      

     
      ObjectSetFiboDescription(FibName,0,txtFib_Level_1);
      ObjectSetFiboDescription(FibName,1,txtFib_Level_2);
      ObjectSetFiboDescription(FibName,2,txtFib_Level_3);
      ObjectSetFiboDescription(FibName,3,txtFib_Level_4);
      ObjectSetFiboDescription(FibName,4,txtFib_Level_5);
      ObjectSetFiboDescription(FibName,5,txtFib_Level_6);      
      ObjectSetFiboDescription(FibName,6,txtFib_Level_7);
//----
   return(0);
  }
//+------------------------------------------------------------------+

Il y a un truc comme ça :

string FibPrice = " @ %$"

La question se pose : qu'est-ce que cela signifie ?

C'est juste une série de personnages ou ça a un sens ?

 
RaYDeR.tr:

Bonjour

Pourriez-vous me dire

Lorsque je passe par la fonction OrderSelect, les commandes sont triées par le numéro de commande et non par le ticket.

Par quel paramètre ces commandes sont-elles triées ?

J'ai remarqué qu'ils sont triés par heure d'ouverture de l'ordre, c'est-à-dire que le dernier ordre est le plus récent en termes d'heure d'ouverture, qu'il s'agisse du marché ou de l'attente.

Est-ce que c'est toujours comme ça dans cette fonction ou est-ce que c'est différent ?

Est-il toujours possible d'obtenir un ticket pour le dernier ordre ouvert/placé de cette manière ?

Malheureusement, l'inverse se produit également. Je l'ai déjà fait. Il est donc préférable de rechercher dans la liste le dernier ordre par le temps d'ouverture maximum.
 
hoz:

Voici le script :

Il y a un truc comme ça :

La question se pose : qu'est-ce que cela signifie ?

C'est juste une série de personnages ou ça a un sens ?

Vous l'exécutez et vous voyez. Un "set" bien utile.