Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 715

 
Zvezdochet:
URRRRRRRRRRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA !!!!!!!!!!! Taggrogisme vaincu ! !! Mais passaran ! Venceremos ! Libérez le Nicaragua !

Je ne pense pas que vous devriez continuer à poster dans ce fil de discussion - il n'est pas là pour vous apprendre à lire/écrire ou à parler. C'est ici que les débutants sont aidés. Et vous n'êtes pas un débutant, vous êtes un bébé :)

ZS. Je t'ai déjà donné un lien pour savoir où commencer. Et peu importe que ce soit sur cinq, c'est la même langue. L'API est différente.

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
 
Artyom Trishkin:

Je ne pense pas que vous devriez continuer à poster dans ce fil de discussion - il n'est pas là pour vous apprendre à lire/écrire ou à parler. Il s'agit d'aider les nouveaux arrivants. Et vous n'êtes pas un débutant, vous êtes un bébé :)

ZS. Je t'ai déjà donné un lien pour savoir où commencer. Et peu importe que ce soit sur cinq, c'est la même langue. L'API est différente.

Eh bien.... avant que vous ne soyez banni...... , selon les règles du freelancing, il n'est pas interdit aux bébés de faire pipi. J'ai donc écrit - que pouvez-vous faire avec un bébé - il ne sait pas ce qu'il fait. Et il y a beaucoup de branches ici, l'arbre est grand, il pousse, je souhaite à l'arbre une bonne santé.

IMHO ( je vais pantant aussi ) il y a beaucoup de liens et ils ne tiennent pas dans votre tête. Et ici, les gens (pas les références) ont donné un peu d'aide - ils ont fait du bien et ne les ont pas envoyés sur ...... ou en exil en Sibérie.

Frères en exil ! Aidez-moi à trouver comment résoudre la deuxième tâche ! Il y a une ligne Coment ( str ) et sur le moniteur "Hello" devrait s'allumer.

 
Zvezdochet:
&&&&&&&& sur le clavier est cyara 7 avec shift en disposition anglaise :)
 
https://www.mql5.com/ru/forum/160683/page711#comment_9876690 Dites-moi qui sait où l'on peut lire les informations relatives à ma question - si vous ne pouvez pas m'aider, je le ferai moi-même... Ailleurs, on m'a dit que MT5 pouvait le faire, mais comme j'ai MT4, la recherche ne m'aide pas.
 
ruzaden:
https://www.mql5.com/ru/forum/160683/page711#comment_9876690 Dites-moi qui sait où l'on peut lire les informations relatives à ma question - si vous ne pouvez pas m'aider, je le ferai moi-même... On m'a dit ailleurs que cela pouvait être fait dans MT5, mais j'ai MT4, la recherche n'aide pas.

cela peut être fait via les variables globales du terminal. A condition que vous ayez le code source de l'indicateur et que vous puissiez le modifier.

Cela signifie que l'indicateur effectuera des calculs en obtenant des paramètres non pas par l'intermédiaire de l'extern mais en appelant GlobalVariableGet(). En conséquence, le conseiller expert modifiera cette variable par le biais de GlobalVariableSet.

 

Je souhaiterais apporter quelques améliorations à MT5 :

1. Réduire le nombre de chiffres du graphique de 5 à 4, le courtier ne veut pas le faire.

2. Pour une raison quelconque, lorsque je définis la couleur de la ligne d'offre, l'arrière-plan du prix devient de la même couleur et se fond dans l'arrière-plan.

Si je règle la couleur noire, j'obtiendrai une ligne continue sur tout l'écran, ce qui est très gênant.


D'après ce que j'ai compris, la meilleure façon de procéder est d'afficher la valeur du prix sous forme de marqueur textuel. Comment puis-je le faire bouger lorsque le prix change ?

Il est possible que ma question ait déjà une solution depuis longtemps, mais je n'ai rien trouvé en cherchant.

 
ruzaden:
&&&&&&&& sur le clavier est cyara 7 avec shift en disposition anglaise :)
Ahhhhhh

...... J'ai déjà peur d'allumer mon ordinateur portable, je me suis dit : "Ils me regardent sur la webcam. Ils savent que j'ai un 7. "On a déjà commencé à creuser des tranchées. Construire un abri anti-bombe. etc. ....

 

Tant qu'ils n'ont pas créé un fil "Questions pour les bébés", je vais faire semblant d'être un débutant et poser des questions ici. Je parle de la deuxième mission. Je l'ai copié exactement. Il n'y a que quelques mots que j'ai mis dans le modèle, mais il y a beaucoup d'erreurs.

String str = "Hi " ;

Commentaire (str ) ;


 
Zvezdochet:

Tant qu'ils n'ont pas créé un fil "Questions pour les bébés", je vais faire semblant d'être un débutant et poser des questions ici. Je parle de la deuxième mission. Je l'ai copié exactement. Il n'y a que quelques mots que j'ai mis dans le modèle, mais il y a beaucoup d'erreurs.

String str = "Hi " ;

Commentaire (str ) ;


void OnStart()
{
     int y = 7;
     double z = 1.47;
     string str = "Привет!";
     
     Comment( str, "\n", y, "\n", z); 
}
 
Bonjour à tous, que faut-il vérifier ? ?? donne un avertissement lors de la modification et à l'ouverture de ..... ( ???) il renvoie une valeur et je dois la vérifier ... comment ? ?? EA ouvre des ordres comme je l'entends ... (((
extern string MMM          = "MMM";
extern double Lot          = 0.1;
extern int    TakeProfit   = 50;
extern int    StopLoss     = 20;
extern int    Slippage     = 3;
extern int    Magic        = 888;
// Moving Average 1
extern string Indi_MA1        = "MA1";
extern int    MA1_Period   = 22;
extern int    MA1_Shift    = 0;
extern int    MA1_Method   = 0;
extern int    MA1_Price    = 0;
// Moving Average 2
extern string Indi_MA2        = "MA2";
extern int    MA2_Period   = 55;
extern int    MA2_Shift    = 0;
extern int    MA2_Method   = 0;
extern int    MA2_Price    = 0;
//+------------------------------------------------------------------+
double MA1,MA2,SL,TP;
int ticket;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
    if (Digits == 3 || Digits == 5)
    {
      TakeProfit = TakeProfit * 10;
      StopLoss = StopLoss     * 10;
      Slippage = Slippage     * 10;
    }
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
{
 return(0);
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() 
 {           
    MA1 = iMA(Symbol(),0,MA1_Period,MA1_Shift,MA1_Method,MA1_Price,0);
    MA2 = iMA(Symbol(),0,MA2_Period,MA2_Shift,MA2_Method,MA2_Price,0);
    
    if (Ask >= MA1 && MA1 >= MA2 && CountBuy() == 0)
    {
       SL = NormalizeDouble(Ask - StopLoss   * Point,Digits);
       TP = NormalizeDouble(Ask + TakeProfit * Point,Digits);
       ticket = OrderSend(Symbol(),OP_BUY ,Lot,Ask,Slippage,0,0,"",Magic,0,Green);
       if (ticket > 0)
       { 
         if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
            OrderModify(ticket,OrderOpenPrice(),SL,TP,0);

       }      
        
    if (Bid <= MA1 && MA1 <= MA2 && CountSell() == 0) 
    
       SL = NormalizeDouble(Bid + StopLoss   * Point, Digits);
       TP = NormalizeDouble(Bid - TakeProfit * Point, Digits);
       ticket = OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,0,0,"",Magic,0,Red);
       if (ticket > 0)
       { 
         if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES) == true)
            OrderModify(ticket,OrderOpenPrice(),SL,TP,0);

       }                
    }
 }
//+------------------------------------------------------------------+
int CountBuy()
{
   int count = 0; 
   for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
   {
      OrderSelect(trade,SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic)
      {
        if (OrderType() == OP_BUY)
        count++; 
      } 
   }
   return(count);
}
//+------------------------------------------------------------------+
int CountSell()
{
   int count = 0;
   for (int trade = OrdersTotal() - 1; trade >= 0; trade--)
   {
      OrderSelect(trade,SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic) 
      {
        if (OrderType() == OP_SELL)
        count++; 
      }
   }
   return(count);
}
//+------------------------------------------------------------------+