[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 921

 
Nilog:
J'ai essayé de cette façon. Un seul signal sort de toute façon. :((((((((((

if (Balance < Loss)
{
switch(Delta) {

cas 1: PlaySound("LossLimitReached.wav") ; Sleep (1000) ; break;

cas 2: PlaySound("LossLimitReached.wav"); Sleep (1000) ; break;

cas 3: PlaySound("LossLimitReached.wav") ; Sleep (1000) ; break;

cas 4: PlaySound("LossLimitReached.wav") ; Sleep (1000) ; break;

cas 5: PlaySound("LossLimitReached.wav") ; Sleep (1000) ; break;

}

} Peut-être alors, je n'ai pas d'autres options pour sûr,).

 
gheka:

si (Solde < Perte)
{
switch(Delta)

Non.

OK, j'ai fait faire une dinde personnalisée il y a deux ans qui sonnait le bon nombre de fois, vous pouviez régler le nombre. Je vais parcourir le courrier, voir si je peux le trouver.

 
gheka:
Necron:
cela signifie qu'il y a déjà des positions ouvertes sur le compte
.
Je n'ai pas encore touché à mon compte,

J'ai ouvert un nouveau compte de démonstration, je n'ai jamais touché au dépôt.

NormalizeDouble(), vérifie la limite maximale/minimale du lot, si cinq chiffres - augmente le stop et le profit de 10 fois.
 

Bonjour !!

Quelqu'un peut-il suggérer un indicateur qui montre le temps restant d'une bougie ou d'une barre ?

Je n'ai pas pu le trouver dans la base de code ......

 
igrok2008:

Bonjour !!

Quelqu'un peut-il suggérer un indicateur qui montre le temps restant d'une bougie ou d'une barre ?

Je n'ai pas pu le trouver dans la base de code ......

Il y en a beaucoup de différents.

https://www.forex-tsd.com/indicators-metatrader-4/9487-candle-time.html

En voici une.

Dossiers :
 

Une dernière question.

L'Expert Advisor compare une bougie (fermée) noire ou blanche.... Noir quand ouvert>close blanc quand fermé... Le graphique est de 60 minutes. Je veux comparer et fermer les chandeliers sur le graphique 30 min.

Veuillez indiquer qui peut faire quoi. Voici le code

//+------------------------------------------------------------------+
//|                                                   e_po_baram.mq4 |
//|                      Copyright © 2009, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//---- input parameters
extern double    Lots=0.01;
extern int       StopLoss=1500;
extern int       TakeProfit=100;
extern int       MagicNumber=123456;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
  
bool CheckOrders(int Type)
{
 bool Result=True;
 for(int i=0;i<OrdersTotal();i++)
  if(OrderSelect(i,SELECT_BY_POS))
   if(OrderMagicNumber()==MagicNumber && OrderSymbol() == Symbol())
      if(OrderType()==Type)
        {
         if(Type==OP_BUY)
           if(!OrderClose(OrderTicket(),OrderLots(),Bid,0))
             Result=False;
         if(Type==OP_SELL)
           if(!OrderClose(OrderTicket(),OrderLots(),Ask,0))
             Result=False;
         } 
        else Result=False;
 return(Result); 
}
  
  
  
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
    // Узнаем уровень стопов и спрэд
    int Spread = MarketInfo(Symbol(), MODE_SPREAD);
    int StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);

        
   //-------------открытие позиции Buy покупка----------------- 
    if(
    (Open[i]>Close[i])&& //проверка свечи белая или чёрная для 60 мин
    () //проверка свечи белая или чёрная для 30 мин
    ) //торговое условие на покупку
     if(CheckOrders(OP_SELL))
      {
       if(StopLoss <= StopLevel+Spread)
         double SL = 0;
        else
         SL = Ask - StopLoss*Point;
       if(TakeProfit <= StopLevel-Spread)
         double TP = 0;
        else
         TP = Ask + TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 10, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
    //-------------------Конец блока покупки -------------------
    
    //-------------Открытие позиции Sell продажа----------------  
    if(
    (Open[i]<Close[i])&& //проверка свечи белая или чёрная для 60 мин
    () //проверка свечи белая или чёрная для 30 мин
    )//торговое условие на продажу
     if(CheckOrders(OP_BUY))
      {
       if(StopLoss <= StopLevel+Spread)
         SL = 0;
        else
         SL = Bid + StopLoss*Point;
       if(TakeProfit <= StopLevel-Spread)
         TP = 0;
        else
         TP = Bid - TakeProfit*Point;
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 10, SL, TP, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//-----------------конец блока продажи ----------------------
   return(0);
  }
//+------------------------------------------------------------------+
 
Nilog:

Il y en a beaucoup de différents

https://www.forex-tsd.com/indicators-metatrader-4/9487-candle-time.html

Merci.
 
Comment puis-je savoir s'il y a des ordres ouverts ?
 
Necron:
Effectuez une normalisation (NormalizeDouble()), vérifiez la limite maximale/minimale du lot, si cinq chiffres - augmentez le stop et le profit de 10 fois.

double NormalizeDouble( double valeur, int chiffres)

valeur - Valeur à virgule flottante. --- Qu'est-ce que c'est ?
chiffres - Format de précision, le nombre de chiffres après le point décimal (0-8). --- comme 1.29800 est 5 chiffres, non ?

 
Comment puis-je identifier le type d'ordre qui est ouvert ?