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

 
Sepulca:


Si l'erreur se produit de temps en temps, votre société de courtage attribue peut-être quelque chose d'anormal à la ligne. Vous n'avez pas à vous en préoccuper.

J'ai ce qui est écrit.


Probablement aussi une société de courtage - sur une démo aucune erreur, j'ai placé un ordre sur un compte réel, il ne s'ouvre plus et écrit une erreur !


Les autres EAs fonctionnent bien et celui-ci donne périodiquement des erreurs, qu'est-ce que cela pourrait être d'autre ?

 
T-G:

Probablement, je n'ai pas d'erreurs sur la démo, mais je l'ai placé sur le compte réel et l'ordre ne s'est pas rouvert, il dit erreur !


D'autres EAs fonctionnent simplement bien et celui-ci donne périodiquement des erreurs, qu'est-ce que cela pourrait être d'autre ?


- Si vous voulez vérifier toutes les variables de type chaîne dans le programme et vous assurer que vous avez défini explicitement la valeur de départ. Cette erreur se produit très probablement lorsqu'une chaîne de caractères non initialisée entre dans une fonction en tant que paramètre.
- imprimez les valeurs des variables de type chaîne (ainsi que le numéro de ligne du programme, pour plus de commodité) et la valeur de GetLastError() avant d'appeler ces fonctions.

 
Chers utilisateurs du forum, veuillez me conseiller,
void BU()
{
   for(int a=0; a<OrdersTotal(); a++) 
      {
       if(OrderSelect(a, SELECT_BY_POS))
        {      
         if(OrderType()==OP_BUY) 
          {
           if(OrderOpenPrice()<=(Bid-BULevel)&&OrderOpenPrice()>OrderStopLoss())
            {      
             OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
            }
           }       
 
         if(OrderType() == OP_SELL) 
           {
            if(OrderOpenPrice()>=(Ask+BULevel)&&OrderOpenPrice()<OrderStopLoss()) 
             {
              OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Red);
             }
           } 
         }
       }
}
  return(0);

Pourquoi le seuil de rentabilité ne fonctionne-t-il pas ?

Extern int BULevel = 80 est déclaré ;

Au début si (BULevel!=0) BU() ;

 
alexey1979621:
Chers utilisateurs du forum, veuillez me conseiller,

Pourquoi le seuil de rentabilité ne fonctionne-t-il pas ?

Extern int BULevel = 80 est déclaré ;

Au début si (BULevel!=0) BU() ;




BULevel*Point
 
   double Red_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_TENKANSEN,1); // красная линия 
   double Blue_Line = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_KIJUNSEN,1); // синяя линия 
   double UpO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANA,1); // верхняя граница облака 
   double DounO = iIchimoku (Symbol(),0,Tenkan,Kijun,Senkou,MODE_SENKOUSPANB,1); // нижняя граница облака 

      
   if(Volume[0]>1) return;

    // продажа
   if (Open[1]>Close[1] && Close[1] < DounO && Open[1]>DounO && Close[1] < Red_Line && Close[1] < Blue_Line) // продажа
     {
     Price = NormalizeDouble(Bid, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss >= STOPLEVEL)
          if(StopLoss > 0)
      {
       SL = Price - StopLoss*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else SL = 0;

      if(TakeProfit > 0)
      {
       TP = Price - TakeProfit*Point;
       TP = NormalizeDouble(TP, Digits); 
      }
       else TP = 0;

      { 
      ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",Magic,0,Red);
      return;
      }
    }
     
//---- buy conditions
   // покупка
   if (Open[1]<Close[1] && Close[1] > UpO && Open[1] < UpO && Close[1] > Red_Line && Close[1] > Blue_Line) // bay
   {
     Price = NormalizeDouble(Ask, Digits); // округляем до нужного нам числа цифр после запятой
     if(StopLoss >= STOPLEVEL)
     if(StopLoss > 0)
      {
       SL = Price - StopLoss*Point; // вычисляем стоплос
       SL = NormalizeDouble(SL, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else SL = 0;
      if(TakeProfit > 0)
      {
       TP = Price + TakeProfit*Point; // вычисляем тейкпрофит
       TP = NormalizeDouble(TP, Digits); // округляем до нужного нам числа цифр после запятой
      }
       else TP = 0;

      {
      ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,"Pattern_1",Magic,0,Blue);
      return;
      } 
   }
 }

Chers utilisateurs du forum, je n'arrive pas à comprendre l'indicateur Ishimoku. J'ai créé un petit conseiller expert basé sur ce modèle, mais il n'ouvre que les positions d'achat et pas les positions de vente. Je pense que cela est très probablement dû au fait que le nuage s'inverse, et que je n'ai pas non plus déterminé correctement les conditions pour entrer dans le trade.

La figure montre une flèche rouge vers le bas où une transaction de vente devrait s'ouvrir et une flèche rouge vers le haut où une transaction d'achat devrait s'ouvrir. Une transaction d'achat a été ouverte avec une mauvaise entrée (en théorie, elle ne devrait pas être là).


 
Est-il possible de déterminer l'heure de déclenchement d'un ordre en attente sans franchir le prix de l'ordre ?
 
zfs:
Est-il possible de connaître le moment de déclenchement d'un ordre en attente sans essayer de croiser le prix de l'ordre ?
.


De la façon dont je le vois, lorsqu'un ordre en attente est placé, il devient OP_BUY ou OP_SELL, (ou est-ce faux ?).

Si je mets un commentaire (lent) avec des informations sur le type d'ordre et que je vérifie s'il a été changé en 0 ou 1, je connaîtrais le temps de déclenchement,

J'espère qu'il y a quelque chose de plus facile)).

 
ALXIMIKS:


Je pense que lorsqu'un ordre en attente est exécuté, il devient OP_BUY ou OP_SELL, (ou est-ce faux ?).

Si vous entrez des informations sur le type d'ordre dans le commentaire (medjic) et que vous les comparez chaque fois qu'elles ont changé de 0 ou de 1, vous pouvez alors trouver l'heure de déclenchement,

Mais la méthode est quelque peu étriquée compte tenu de la nécessité d'une connexion constante et en général, j'espère qu'il existe quelque chose de plus simple ;))

Oui, merci, j'ai pensé à cette variante, mais qu'en est-il sur le réel).

 
zfs:
Est-il possible de déterminer l'heure de déclenchement d'un ordre en attente sans franchir le prix de l'ordre ?

datetime OrderOpenTime( )
 
<br / translate="no">
zfs:

Oui, merci, c'est une option à laquelle j'ai pensé, mais qu'en est-il de la vraie).


écrivez le numéro du ticket. et son statut... s'il a changé alors commandez le prix ouvert... pourquoi le magicien prescrirait-il quelque chose qui n'est pas habituel ou dans les commentaires...

dans un fichier pour vider l'historique. ouvert fermé... Ou simplement faire défiler l'histoire...