Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 802

 
pako:

ChartFirst

Renvoie l'identifiant de la première carte du terminal client.

Je comprends que c'est le tableau le plus à gauche

Malheureusement, ce n'est pas le cas, il est facile de le vérifier :

1. ouvrir 2-3 paires de devises dans le terminal

2. Exécutez le code pour le vérifier :

   long ch=ChartFirst();
   Print("Первый ID терминала: ",ch, ", символ: ",ChartSymbol(ch),", таймфрейм: ",ChartPeriod(ch));
   for(int i=1;i<=100;i++) {
      ch=ChartNext(ch);
      if(ch<0)break;
      Print(i," chart ID for ",ChartSymbol(ch),ChartPeriod(ch),": ",ch);
  }
 
gyfto:
Je soupçonne vaguement que non. Je vous répondrai demain, je dois aller travailler maintenant.
Cela n'aidera qu'en établissant une tendance des barres dans la sous-fenêtre. Mais nous devons intercepter la valeur de l'échelle d'une manière ou d'une autre. Comment ?
 
Qui sait s'il est possible de modifier le TakeProfit d'un ordre ouvert vers la zone négative si la transaction est dans la zone négative ?
 
woin2110:
Qui sait, est-il possible de modifier le TakeProfit d'un ordre ouvert vers la zone négative si le trade est dans la zone négative ?
Bien sûr que vous pouvez.
 
Bonjour, je viens de commencer à écrire un EA il y a quelques jours. j'ai de l'expérience en programmation, mais je n'ai pas encore fait de programmation en MQL4 . j'ai beaucoup à apprendre, donc j'ai besoin de quelques conseils sur la façon de le faire. par exemple, je veux ouvrir un ordre à 0,01 lot et je dois définir le takeprofit pour gagner 0,5 lot. s'il vous plaît montrez-moi la bonne façon.
 

En attendant une réponse, j'ai cherché et trouvé quelque chose et j'ai fait ceci. Est-ce que ça va s'afficher correctement ? C'est dimanche et je ne veux pas attendre minuit pour savoir si j'ai écrit correctement.


  if(Count ==0)
        symbol = Symbol();
        
   double bid   =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
   double ask   =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
   double point =MarketInfo(symbol,MODE_POINT);//Запрос Point  
   double  value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
   double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
   double digits =   MarketInfo(symbol,MODE_DIGITS);


   
   if( bid<= stoploss1||step1 == 0)
   {
      step1++;
      stoplevel= NormalizeDouble(stoplevel*point,digits);
      stoploss1 = ask-stoplevel;
      takeprofit1 = ask+stoplevel;

 
      double profit =0.5;
      double takeprofit2= profit * point * value * lot1 + bid;
      takeprofit2 = NormalizeDouble(takeprofit2,digits);
      if (takeprofit2 > takeprofit1)
         takeprofit1 = takeprofit2;


 
pycha:

En attendant une réponse, j'ai cherché et trouvé quelque chose et j'ai fait ceci. Est-ce que ça va s'afficher correctement ? C'est dimanche et je ne veux pas attendre minuit pour savoir si j'ai écrit correctement.


  if(Count ==0)
        symbol = Symbol();
        
   double bid   =MarketInfo(symbol,MODE_BID); // Запрос значения Bid
   double ask   =MarketInfo(symbol,MODE_ASK); // Запрос значения Ask
   double point =MarketInfo(symbol,MODE_POINT);//Запрос Point  
   double  value =MarketInfo(OrderSymbol(), MODE_TICKVALUE);// Размер минимального изменения цены инструмента в валюте депозита
   double stoplevel = MarketInfo(symbol,MODE_STOPLEVEL);
   double digits =   MarketInfo(symbol,MODE_DIGITS);


   
   if( bid<= stoploss1||step1 == 0)
   {
      step1++;
      stoplevel= NormalizeDouble(stoplevel*point,digits);
      stoploss1 = ask-stoplevel;
      takeprofit1 = ask+stoplevel;

 
      double profit =0.5;
      double takeprofit2= profit * point * value * lot1 + bid;
      takeprofit2 = NormalizeDouble(takeprofit2,digits);
      if (takeprofit2 > takeprofit1)
         takeprofit1 = takeprofit2;



N'est-ce pas plus facile ?

 if(OrderProfit() > 0.5) OrderClose();

.

 
J'ai besoin de calculer un profit avant d'ouvrir un ordre, afin qu'il puisse être défini immédiatement lorsque l'ordre est créé.
 
J'utiliserai ce programme non seulement pour négocier mais aussi pour analyser l'historique. je devrai calculer combien d'ordres pour les paramètres requis auraient été ouverts sur une certaine période de temps. donc tout doit être calculé manuellement.
 
pycha:
J'utiliserai ce programme non seulement pour le trading, mais aussi pour l'analyse de l'historique. j'aurai besoin de calculer combien d'ordres pour les paramètres requis auraient été ouverts sur une certaine période de temps. tout doit donc être calculé manuellement.

https://www.mql5.com/ru/forum/351

.

Raison: