Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 862

 
Konstantin Erin:
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("El número requerido de órdenes abiertas");

Gracias.

 
¿puede decirme por favor dónde está el indicador de valor y dónde puedo encontrar volúmenes de valor? ¡!
 
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);

Por qué la última impresión muestra el precio deORDER_TYPE_BUY_STOP

y no deORDER_TYPE_SELL_STOP

¿Dónde está el error?

 
ilyav:

Por qué la última impresión muestra el precio deORDER_TYPE_BUY_STOP

y no deORDER_TYPE_SELL_STOP

¿Dónde está el error?

Utiliza el estilizador (Ctrl + ,) y verás tus errores...

 
Vladimir Karputov:

Utiliza el estilizador (Ctrl + ,) y verás tus errores...

No tengo ningún error de compilación.

Este código debe mostrar en Print el precio de las órdenes de compra y venta.

El precio de la orden de compra se emite correctamente, pero la orden de venta emite el precio de la orden de compra.

 
ilyav:

No tengo ningún error de compilación.

Este código debe mostrar en Print el precio de las órdenes de compra y venta.

El precio de la orden de compra es correcto, pero el precio de la orden de venta es correcto.

En este punto, el consejo es el mismo: use el estilizador - verá los errores visualmente.

... y sólo entonces te mostraré dónde está tu error.
Стилизатор - Работа с исходным кодом - MetaTrader 5
Стилизатор - Работа с исходным кодом - MetaTrader 5
  • www.metatrader5.com
Данная функция предназначена для оформления исходного кода в соответствии с рекомендуемым стандартом. Это позволяет сделать код более читаемым, выглядящем профессионально. Грамотно оформленный код гораздо проще анализировать в последующем как его автору, так и другим пользователям. Для того чтобы запустить стилизатор, необходимо выполнить...
 
Vladimir Karputov:

Por el momento, el consejo sigue siendo el mismo: utilice un estilizador - verá los errores visualmente.

... Y sólo después de eso te mostraré dónde está tu error.
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);

Aquí con el estilista. Pero no puedo ver el error. Por eso pregunto en este hilo

Preguntas de los principiantes en MQL5

 
ilyav:

Aquí está el del estilizador. Pero no veo el error. Por eso pregunto en este hilo

Preguntas de los principiantes en MQL5

El estilizador ha mostrado claramente que su código contiene problemas con los paréntesis de cierre. Tienes que arreglarlo.

 

Mierda, ¿alguien puede ayudar?

Si el estilista le mostró claramente algo, ¿no podría decirme dónde debería estar el soporte?

Porque no me mostró claramente nada.

Necesito el precio del stop de compra más cercano y el stop de venta más cercano. ¿Cómo puedo hacer que el código sea diferente?

 
ilyav:

Mierda, ¿alguien puede ayudar?

Si el estilista le mostró claramente algo, ¿no podría decirme dónde debería estar el soporte?

Porque no me mostró claramente nada.

Necesito el precio del stop de compra más cercano y el stop de venta más cercano. ¿Cómo puedo hacer que el código sea diferente?

He resaltado los paréntesis que faltan en los pares:

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);

Dónde colocar exactamente los pares depende de la lógica de su código.