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

 
Artyom Trishkin:

No funcionará aquí - no utiliza smartphones y otros aparatos nuevos - hay un teléfono de Smolny...

Aquí hay al menos una persona con ideas afines. Yo también ignoro todos estos aparatos y las redes sociales. Excepto que no hay ningún teléfono del Kremlin...

 

Estoy harto de las recotizaciones.

//+------------------------------------------------------------------+
void OpenSell()
  {

   m_symbol.Name("EURUSD");
   RefreshRates();
   if(m_trade.Sell(InpLots,"EURUSD",m_symbol.Bid(),0.0,0.0))
     {
      if(m_trade.ResultDeal()==0)
        {
         Print("#1 Sell -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of result: ",m_trade.ResultRetcodeDescription());
         PrintResultTrade(m_trade,m_symbol);
        }
      else
        {
         Print("#2 Sell -> true. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of result: ",m_trade.ResultRetcodeDescription());
         PrintResultTrade(m_trade,m_symbol);
        }

     }

//---
  }
//+------------------------------------------------------------------+

¿Qué ocurre con este código? Ni siquiera obtengo el resultado de la comprobación de la ejecución de la orden.

Sólo recibo una tabla con una recotización, eso es todo.


 
ilvic:

Estoy harto de las recotizaciones.

¿Qué ocurre con este código? Ni siquiera obtengo el resultado de la comprobación de la ejecución de la orden.

Me sale una tabla con una recotización y ya está.


Debe pegar el resultado dePrintResultTrade como un código. No en forma de imagen, sino en forma de código.

 

Este es el escrito de los expertos. Tenga en cuenta que no escribe el resultado de la prueba

2018.11.02 15:20:36.769 Above (EURUSD,M1)       CTrade::OrderSend: instant sell 1.00 EURUSD at 1.14299 [requote (1.14307/1.14317)]

Y esto es lo que dice el registro.

2018.11.02 11:18:49.826 Network '13107230': scanning network for access points
2018.11.02 11:19:17.821 Network '13107230': scanning network finished
2018.11.02 15:20:35.846 Trades  '13107230': instant sell 1.00 EURUSD at 1.14299 (deviation: 100)
2018.11.02 15:20:36.769 Trades  '13107230': requote 1.14307 / 1.14317 (instant sell 1.00 EURUSD at 1.14299 (deviation: 100))

Demostración del servidor de metacomillas

 
ilvic:

Este es el escrito de los expertos. Tenga en cuenta que no escribe el resultado de la prueba

Y esto es lo que dice el registro.

Servidor de demostración de methaqvotes

Inserta el resultado dePrintResultTrade como un código. No como una imagen, sino como un código.


¿O no se llega aPrintResultTrade en absolutoy se tira primero?

 

¿Lo es? Si no es así, dígame a qué se refiere.

//+------------------------------------------------------------------+
//| Print CTrade result                                              |
//+------------------------------------------------------------------+
void PrintResultTrade(CTrade &trade,CSymbolInfo &symbol)
  {
   Print("File: ",__FILE__,", symbol: ",m_symbol.Name());
   Print("Code of request result: "+IntegerToString(trade.ResultRetcode()));
   Print("code of request result as a string: "+trade.ResultRetcodeDescription());
   Print("Deal ticket: "+IntegerToString(trade.ResultDeal()));
   Print("Order ticket: "+IntegerToString(trade.ResultOrder()));
   Print("Volume of deal or order: "+DoubleToString(trade.ResultVolume(),2));
   Print("Price, confirmed by broker: "+DoubleToString(trade.ResultPrice(),symbol.Digits()));
   Print("Current bid price: "+DoubleToString(symbol.Bid(),symbol.Digits())+" (the requote): "+DoubleToString(trade.ResultBid(),symbol.Digits()));
   Print("Current ask price: "+DoubleToString(symbol.Ask(),symbol.Digits())+" (the requote): "+DoubleToString(trade.ResultAsk(),symbol.Digits()));
   Print("Broker comment: "+trade.ResultComment());
  }
//+------------------------------------------------------------------+
 
ilvic:

Este es el escrito de los expertos. Tenga en cuenta que no escribe el resultado de la prueba

Y esto es lo que dice el registro.

Demostración de metacitas del servidor.

¿Por qué tuviste que cortar el código? Ejemplo de función de apertura en el códigodel EA del SAR Parabólico

//+------------------------------------------------------------------+
//| Open Sell position                                               |
//+------------------------------------------------------------------+
void OpenSell(double sl,double tp)
  {
   sl=m_symbol.NormalizePrice(sl);
   tp=m_symbol.NormalizePrice(tp);

   double short_lot=InpLots;
//--- check volume before OrderSend to avoid "not enough money" error (CTrade)
   double free_margin_check= m_account.FreeMarginCheck(m_symbol.Name(),ORDER_TYPE_SELL,short_lot,m_symbol.Bid());
   double margin_check     = m_account.MarginCheck(m_symbol.Name(),ORDER_TYPE_SELL,short_lot,m_symbol.Bid());
   if(free_margin_check>margin_check)
     {
      if(m_trade.Sell(short_lot,m_symbol.Name(),m_symbol.Bid(),sl,tp))
        {
         if(m_trade.ResultDeal()==0)
           {
            Print("#1 Sell -> false. Result Retcode: ",m_trade.ResultRetcode(),
                  ", description of result: ",m_trade.ResultRetcodeDescription());
            PrintResultTrade(m_trade,m_symbol);
           }
         else
           {
            Print("#2 Sell -> true. Result Retcode: ",m_trade.ResultRetcode(),
                  ", description of result: ",m_trade.ResultRetcodeDescription());
            PrintResultTrade(m_trade,m_symbol);
           }
        }
      else
        {
         Print("#3 Sell -> false. Result Retcode: ",m_trade.ResultRetcode(),
               ", description of result: ",m_trade.ResultRetcodeDescription());
         PrintResultTrade(m_trade,m_symbol);
        }
     }
   else
     {
      Print(__FUNCTION__,", ERROR: method CAccountInfo::FreeMarginCheck returned the value ",DoubleToString(free_margin_check,2));
      return;
     }
//---
  }
 
ilvic:

¿Lo es? Si no es así, dígame a qué se refiere.

Has omitido el paso de comprobación nº 3 del código.

 
Vladimir Karputov:

Inserte el resultado dePrintResultTrade como código. No como una imagen, sino como un código.


¿O no llegas aPrintResultTrade y te echan antes?

Exactamente, si la orden se ejecuta, su impresión se verá así

2018.11.02 10:09:12.648 Above (EURUSD,M1)       #2  Buy -> true. Result Retcode: 10009, description of result: done at 1.14387

Si hay una recotización, el Asesor Experto permanece en silencio.

Y me quedo con un pedido sin cumplir

 
ilvic:

Exactamente, si la orden se ejecuta, la impresión será así

Si una recotización, el Asesor Experto será silencioso como un pez.

Y me quedo con un pedido sin cumplir.

En mi post, di un ejemplo de una función. No lo he cortado. Hay un ejemplo en elSAR Parabólico EA