[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 921

 
Nilog:
Ho provato in questo modo. Comunque esce solo un segnale. :((((((((((

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

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

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

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

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

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

}

} Forse allora, non ho altre opzioni per certo,).

 
gheka:

se (Saldo < Perdita)
{
switch(Delta)

No.

OK, ho fatto fare un tacchino personalizzato due anni fa che suonava il numero giusto di volte, si poteva impostare il numero. Vado a controllare la posta per vedere se riesco a trovarlo.

 
gheka:
Necron:
significa che ci sono già posizioni aperte nel conto
Non ho ancora toccato il mio conto,

Ho aperto un nuovo conto demo, non ho mai toccato il deposito.

NormalizeDouble(), controlla il limite massimo/minimo del lotto, se cinque cifre - aumenta stop e profitto di 10 volte.
 

Ciao!

Qualcuno può suggerire un indicatore che mostri il tempo rimanente di una candela o di una barra?

Non sono riuscito a trovarlo nel codice base .....

 
igrok2008:

Ciao!

Qualcuno può suggerire un indicatore che mostri il tempo rimanente di una candela o di una barra?

Non sono riuscito a trovarlo nel codice base .....

Ce ne sono molti diversi.

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

Eccone uno.

File:
 

Un'altra domanda.

Expert Advisor confronta una candela (chiusa) nera o bianca.... Nero quando aperto>chiuso bianco quando chiuso... Il grafico è di 60 minuti. Voglio confrontare e chiudere le candele sul grafico a 30 minuti.

Per favore consigliate chi può fare cosa. Ecco il codice

//+------------------------------------------------------------------+
//|                                                   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:

Ce ne sono molti diversi

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

Grazie
 
Come posso sapere se ci sono ordini aperti?
 
Necron:
Normalizzare (NormalizeDouble()), controllare il limite massimo/minimo del lotto, se cinque cifre - aumentare stop e profitto di 10 volte.

doppio NormalizeDouble( valore doppio, int cifre)

valore - Valore in virgola mobile. --- che cos'è?
cifre - Formato di precisione, il numero di cifre dopo il punto decimale (0-8). --- come 1,29800 sono 5 cifre, giusto?

 
Come posso identificare il tipo di ordine aperto?