[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 331

 
sergeev:

pour les programmeurs.

ils peuvent changer de devise, d'échelle de temps ou de barre de gauche de manière programmatique.


Merci, où puis-je lire comment cela fonctionne ?
 
vitali_yv:
Merci, où puis-je lire comment cela fonctionne ?
Je pense que c'est sur MSDN
 
vitali_yv:
Merci, où puis-je lire comment cela fonctionne ?
C'est l'idée qu'Alexei se fait d'une blague. L'aide de MT4 est disponible.
 
Zhunko:
C'est Alexei qui plaisante. L'aide de MT4 est disponible.
Oui, la description et l'objectif de la fenêtre sont présents.
Mais j'ai répondu à propos de son utilisation à partir du code. Et vous ne pouvez pas le faire sans API.
 
sergeev:
oui, la description et le but de la fenêtre sont là.
Mais j'ai répondu à propos de l'utilisation du code, et vous ne pouvez pas le faire sans API.
:-)) Les lecteurs de ce fil qui grandissent. Ils se posent déjà de telles questions...
 
Comment trouver le prix le plus bas et le moins élevé entre 5 et 8 heures du matin aujourd'hui ?
 

Bonjour ! Pouvez-vous s'il vous plaît prescrire comment ouvrir un ordre dans un EA, de sorte que lorsque les conditions pour ouvrir un ordre une fois ouvert l'ordre, la prochaine fois, il ne s'ouvrira que lorsque les conditions opposées sont formées ?

 
ZZZEROXXX:

1. Comment déterminez-vous le profit/la perte de la dernière transaction ?

2. Dans le testeur, les résultats affichés incluent-ils le spread, ou dois-je soustraire le spread de chaque transaction ?


1. Je vous montre un exemple d'organisation du code dans ma chouette :

int time = 0;  // время (разместить в глобальных переменных (до старта) - факт работы только с последним закрытым ордером


//---Поиск последнего отработавшего ордера для открытия очередной позиции ---
   
   for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
   {   
      if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
      {
         Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
         continue;
      }
   
      if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
      {
         continue;
      }
      
        
   //-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------
if(time<OrderCloseTime())     //(сравниваем его с хранящимся в пероеменной time) 
  {
    time=OrderCloseTime();     //если время закрытия ордера больше - ложим его в переменную
         
         
     
         int lastType = OrderType();
         double lastLots = OrderLots();
         double lastProfit = OrderProfit() + OrderSwap();
         
        // Print ("lastProfit = ", NormalizeDouble(lastProfit, 1));
         
       
         
         // Анализ только что закрывшегося ордера
      
         if (lastProfit >= 0.0)
         {
  //---Ордер закрылся с прибылью - сюда действия при выполнении этого условия
         }
         else
         {
            // Ордер закрылся с убытком - сюда действия при выполнении этого условия (дальше фигурные скобочки сами расставите).
.....
.....
.....
 
           

2. En tenant compte de l'écart, cliquez sur l'étiquette du symbole dans la fenêtre Strategy Tester en haut à droite et lisez le contenu de la fenêtre déroulante.

 
maryan.dirtyn:
Comment connaître le prix le plus élevé et le plus bas entre 5 et 8 heures du matin aujourd'hui ?
via iHighest/iLowest
 
SeALALex:

Bonjour ! Pouvez-vous s'il vous plaît prescrire comment ouvrir un ordre dans un EA, de sorte que lorsque les conditions pour ouvrir un ordre une fois ouvert l'ordre, la prochaine fois, il ne s'ouvrira que lorsque les conditions opposées sont formées ?

Voulez-vous compter le nombre de vos commandes ?