Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 862

 
Konstantin Erin:
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("Il numero richiesto di ordini aperti");

Grazie!

 
Potete dirmi per favore dov'è l'indicatore di volume e dove posso trovare i volumi di volume? !
 
int TotalGridBuyOrders=0;
   Print(__FUNCTION__);
   for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
   if(m_order.SelectByIndex(i))     // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()== ORDER_TYPE_BUY_STOP)
           TotalGridBuyOrders++;
    Print("Количество buy ордеров grid ", TotalGridBuyOrders);
           if (TotalGridBuyOrders>=1)
           {
           grid_buy_price_memory=m_order.PriceOpen();        
           Print("Цена ближайшего buy grid ордера: ", grid_buy_price_memory);
           
          
int TotalGridSellOrders=0;
   Print(__FUNCTION__);
   for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
   if(m_order.SelectByIndex(i))     // selects the pending order by index for further access to its properties
         if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()== ORDER_TYPE_SELL_STOP)
           TotalGridSellOrders++;
    Print("Количество sell ордеров grid ", TotalGridSellOrders);
           if (TotalGridSellOrders>=1)   
            {
           grid_sell_price_memory=m_order.PriceOpen();    
           Print("Цена ближайшего sell grid ордера: ", grid_sell_price_memory);

Perché l'ultima stampa visualizza il prezzo diORDER_TYPE_BUY_STOP

e non daORDER_TYPE_SELL_STOP

Dov'è l'errore?

 
ilyav:

Perché l'ultima stampa visualizza il prezzo diORDER_TYPE_BUY_STOP

e non daORDER_TYPE_SELL_STOP

Dov'è l'errore?

Usa lo styler (Ctrl + ,) e vedrai i tuoi errori...

 
Vladimir Karputov:

Usa lo styler (Ctrl + ,) e vedrai i tuoi errori...

Non ho un errore di compilazione.

Questo codice dovrebbe emettere in Stampa il prezzo degli ordini di acquisto e di vendita.

Il prezzo dell'ordine di acquisto viene emesso correttamente ma l'ordine di vendita emette il prezzo dell'ordine di acquisto!

 
ilyav:

Non ho un errore di compilazione.

Questo codice dovrebbe emettere in Stampa il prezzo degli ordini di acquisto e di vendita.

Il prezzo di un ordine di acquisto è corretto, ma il prezzo di un ordine di vendita è corretto!

A questo punto il consiglio è lo stesso: usate lo styler - vedrete visivamente gli errori.

... e solo allora vi mostrerò dov'è il vostro errore.
Стилизатор - Работа с исходным кодом - MetaTrader 5
Стилизатор - Работа с исходным кодом - MetaTrader 5
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым, выглядящем профессионально. Грамотно оформленный код гораздо проще анализировать в последующем как его автору, так и другим пользователям. Для того чтобы запустить стилизатор, необходимо выполнить...
 
Vladimir Karputov:

Per il momento, il consiglio rimane lo stesso: usate uno styliser - vedrete gli errori visivamente.

... E solo dopo vi mostrerò dov'è il vostro errore.
int TotalGridBuyOrders=0;
         Print(__FUNCTION__);
         for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
            if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
               if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_BUY_STOP)
                  TotalGridBuyOrders++;
         Print("Количество buy ордеров grid ",TotalGridBuyOrders);
         if(TotalGridBuyOrders>=1)
           {
            grid_buy_price_memory=m_order.PriceOpen();
            Print("Цена ближайшего buy grid ордера: ",grid_buy_price_memory);

            int TotalGridSellOrders=0;
            Print(__FUNCTION__);
            for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
               if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
                  if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
                     TotalGridSellOrders++;
            Print("Количество sell ордеров grid ",TotalGridSellOrders);
            if(TotalGridSellOrders>=1)
              {
               grid_sell_price_memory=m_order.PriceOpen();
               Print("Цена ближайшего sell grid ордера: ",grid_sell_price_memory);

Eccolo con lo styler. Ma non riesco a vedere l'errore. Ecco perché sto chiedendo in questo thread

Domande dai principianti in MQL5

 
ilyav:

Ecco quello con lo stilista. Ma non vedo l'errore. Ecco perché sto chiedendo in questo thread

Domande dai principianti in MQL5

Lo styler ha mostrato chiaramente che il tuo codice contiene problemi con le parentesi di chiusura. Dovete aggiustare le cose.

 

Merda, qualcuno qui può aiutare?

Se la styler ti ha mostrato chiaramente qualcosa - non potresti dirmi dove dovrebbe essere la staffa?

Perché non mi ha mostrato chiaramente nulla.

Ho bisogno del prezzo del buy stop più vicino e del sell stop più vicino. Come posso fare il codice in modo diverso?

 
ilyav:

Merda, qualcuno qui può aiutare?

Se la styler ti ha mostrato chiaramente qualcosa - non potresti dirmi dove dovrebbe essere la staffa?

Perché non mi ha mostrato chiaramente nulla.

Ho bisogno del prezzo del buy stop più vicino e del sell stop più vicino. Come posso fare il codice in modo diverso?

Ho evidenziato le parentesi che sono coppie mancanti:

int TotalGridBuyOrders=0;
         Print(__FUNCTION__);
         for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
            if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
               if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_BUY_STOP)
                  TotalGridBuyOrders++;
         Print("Количество buy ордеров grid ",TotalGridBuyOrders);
         if(TotalGridBuyOrders>=1)
           {
            grid_buy_price_memory=m_order.PriceOpen();
            Print("Цена ближайшего buy grid ордера: ",grid_buy_price_memory);

            int TotalGridSellOrders=0;
            Print(__FUNCTION__);
            for(int i=OrdersTotal()-1;i>=0;i--) // returns the number of current orders
               if(m_order.SelectByIndex(i)) // selects the pending order by index for further access to its properties
                  if(m_order.Symbol()==m_symbol.Name() && m_order.Magic()==m_magic && m_order.OrderType()==ORDER_TYPE_SELL_STOP)
                     TotalGridSellOrders++;
            Print("Количество sell ордеров grid ",TotalGridSellOrders);
            if(TotalGridSellOrders>=1)
              {
               grid_sell_price_memory=m_order.PriceOpen();
               Print("Цена ближайшего sell grid ордера: ",grid_sell_price_memory);

Dove mettere esattamente le coppie dipende dalla logica del vostro codice.