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

 
T-G:

Pouvez-vous me conseiller, il y a un fichier csv avec des données au format 1.33027 ; 1.33023 et ainsi de suite.

Ensuite, je lis ce fichier mais pour une raison quelconque, les données sont lues avec une précision de 4 chiffres alors que j'en ai besoin de 5.

Lire de différentes manières et

n'aide pas

Lisibles avec une précision de 15 chiffres. Les dernières versions sont encore plus grandes lors de la déclaration des constantes. Pour afficher les caractères après le 4ème, vous devez utiliser une fonction.
 
Puis-je modifier un ordre qui a un numéro magique pendant la négociation ?
 
Bonjour, conseil d'aide, a écrit un hibou, il doit périodiquement ouvrir 2 ordres à la fois le problème est que pas toujours ouvre les deux ordres, slippage je mets et 3 et 5 et 10, mais toujours pas non oui et ouvrir un seul. Je n'arrive pas à comprendre comment organiser un gardien qui garderait la trace des ouvertures et, le cas échéant, ouvrirait une commande manquante "oubliée" ?
 
Myth63:
Puis-je modifier un ordre qui a un numéro magique pendant la négociation ?

Non
 

Aide qui sait ! Je n'arrive pas à faire fonctionner ce code :

for(i=1;i<=total;i++) // Boucle de commande
{
if(OrderSelect(i-1,SELECT_BY_POS)==true)
{
if(OrderType()==OP_BUY && Ticket1==OrderTicket())
{
if(OrderCloseTime()==0 && SL1<Price1 && Bid-Price1>(NoLoss1*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue) ;
}
if ( OrderCloseTime()==0 && SL1>=Price1 && Bid - SL1 > ((NoLoss1+StepLoss1)*Point))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue) ;
}
}
}
}

le fait est qu'il devrait modifier un ordre sur plusieurs : Ticket1, mais il ne le fait pas du tout.

 
azik1306:

Aide qui sait ! Je n'arrive pas à faire fonctionner le code :


for(i=1;i<=total;i++) // Цикл перебора ордер
{
   if(OrderSelect(i-1,SELECT_BY_POS)==true)
   {
      if(OrderType()==OP_BUY && Ticket1==OrderTicket())
      {
         // Что выводится??? Посмотрите и проверьте, выполняются ли условия модификации
         // А заодно проверьте, нет ли в логах сообщений об ошибке
         Print("SL1=",DoubleToStr(SL1,8));
         Print("Price1 =",DoubleToStr(Price1 ,8));
         Print("Bid=",DoubleToStr(Price1 ,8));
         Print("NoLoss1=",DoubleToStr(NoLoss1,8));
         Print("StepLoss1=",DoubleToStr(StepLoss1,8));

         if(OrderCloseTime()==0 && SL1<Price1 && Bid-Price1>(NoLoss1*Point))
         {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
         }

         if ( OrderCloseTime()==0 && SL1>=Price1 && Bid - SL1 > ((NoLoss1+StepLoss1)*Point))
         {
            OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(Point*(NoLoss1-3)),OrderTakeProfit(),0,Blue);
         }
      }
   }
}
 
alsu:

+ si une seule commande avec le numéro de ticket1 doit être modifiée, le cycle n'est pas du tout nécessaire.

l'ordre des billets est immédiatement sélectionné et modifié

 
ilunga:

+ si une seule commande avec le numéro de ticket1 doit être modifiée, le cycle n'est pas du tout nécessaire.

l'ordre des billets est immédiatement sélectionné et modifié

Yep, +
 
Veuillez m'aider avec cette question - l'indice de la barre sur l'échelle de temps D1 est connu. On peut l'utiliser pour connaître le prix maximum de la journée. Comment puis-je connaître l'indice de la barre sur l'échelle de temps M15, qui correspond au prix maximum de la journée. J'ai essayé avec iHighest(), mais je dois spécifier le nombre d'éléments à rechercher, et il sera différent pour un jour normal, un week-end ou un jour férié. Peut-être n'est-il pas nécessaire de réinventer la roue et existe-t-il une fonction toute prête pour cela ?
 
AndEv:
Je connais l'indice de la barre sur l'échelle de temps D1. Ainsi, nous pouvons connaître le prix maximal du jour. Comment puis-je connaître l'indice de la barre sur l'échelle de temps M15, qui correspond au prix maximum de la journée. J'ai essayé avec iHighest(), mais je dois spécifier le nombre d'éléments à rechercher, et il sera différent pour un jour normal, un week-end ou un jour férié. Peut-être qu'il n'est pas nécessaire de réinventer la roue et qu'il existe une fonction toute faite pour cela ?
.

il n'y en a pas de toute faite.

Pour connaître le nombre d'ordres, vous devez trouver la différence de deux fonctions iBarShift, en substituant les heures de début et de fin de journée (c'est-à-dire +23:59).

Ce sera le nombre de barres pour la période requise.