Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 940

 
Artyom Trishkin:

Não vai funcionar aqui - ele não usa smartphones e outros gadgets novos - há um telefone de Smolny...

Há pelo menos uma pessoa com a mesma opinião aqui. Eu também ignoro todas estas engenhocas e meios de comunicação social. Excepto que não há telefone do Kremlin.

 

Estou farto das exigências.

//+------------------------------------------------------------------+
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);
        }

     }

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

O que há de errado com este código? Nem sequer recebo o resultado de uma verificação da execução da encomenda.

Só recebo uma mesa com um requote, só isso.


 
ilvic:

Estou farto das exigências.

O que há de errado com este código? Nem sequer recebo o resultado de uma verificação da execução da encomenda.

Só recebo uma mesa com um requote e é tudo.


Deve colar o resultado daPrintResultTrade como um código. Não sob a forma de uma imagem mas sob a forma de um código.

 

Esta é a escrita especializada. Por favor note que ele não escreve o resultado do teste

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

E isto é o que diz o diário de bordo.

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

Demonstração das metáforas do servidor

 
ilvic:

Esta é a escrita especializada. Por favor note que ele não escreve o resultado do teste

E isto é o que diz o diário de bordo.

Demonstração de methaqvotes do servidor

Inserir o resultado doPrintResultTrade como um código. Não como uma imagem, mas como um código.


Ounão chega de todo àPrintResultTrade e é expulso primeiro?

 

É isso? Caso contrário, diga-me o que quer dizer.

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

Esta é a escrita especializada. Por favor note que ele não escreve o resultado do teste

E isto é o que diz o diário de bordo.

Demonstração de metáforas de servidores.

Porque é que teve de cortar o código? Exemplo de função de abertura em códigoEA 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:

É isso? Caso contrário, diga-me o que quer dizer.

Deitou fora o passo de verificação nº 3 do código.

 
Vladimir Karputov:

Inserir o resultado daPrintResultTrade como código. Não como uma imagem, mas como um código.


Ounão chega àPrintResultTrade e é expulso mais cedo?

Exactamente, se a encomenda for executada, a sua impressão terá este aspecto

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

Se houver um requote, o Conselheiro Especialista permanece em silêncio.

E fico com uma encomenda por preencher

 
ilvic:

Exactamente, se a ordem for executada, a impressão terá o seguinte aspecto

Se um requote, o Conselheiro Especialista ficará em silêncio como um peixe.

E eu fico com uma ordem por cumprir.

No meu posto, dei um exemplo de uma função. Eu não o cortei. Há um exemplo na EAparabólica SAR

Razão: