Errori, bug, domande - pagina 1311

 
Ivan Vagin:

Ora il sito si apre ma, nessuna immagine è visibile

E quando provo ad aprire il file allegato.

Il problema persiste.

Sfortunatamente, i dispositivi più vecchi non supportano la connessione sicura utilizzata dai nostri server web.

Raccomandiamo le seguenti opzioni:

  1. se possibile aggiornare la versione di Android
  2. Usare un altro browser (Chrome per esempio)
  3. Aggiorna il tuo dispositivo
 
Alexandr Bryzgalov:

Solo in coppia.

Ecco il codice (vecchio stile), può essere migliorato:

Grazie per il suggerimento, ma lo stesso script è lì per chiudere gli ordini sovrapposti!

Sono interessato alla realizzazione di questo attraverso la funzione del terminale stesso!

 
murad:

Purtroppo le macchine più vecchie non supportano la connessione sicura utilizzata dai nostri server web.

Raccomandiamo le seguenti opzioni:

  1. se possibile aggiornare la versione di Android
  2. Usare un altro browser (Chrome per esempio)
  3. aggiorna il tuo dispositivo

Neanche io riesco a vedere le pubblicità.

 
Quando l'opzione "Traccia le compravendite sul grafico" è attivata - la traccia deve apparire automaticamente sul grafico o devo eseguire altre azioni? Terminale MetaTrader 5 build 1135.
 

Ho un broker con esecuzione in borsa.

Il mio Expert Advisor utilizza una libreria standard.

Quando lo eseguo, vedo nel log del mio Expert Advisor che è stato attivato un comando

         trade.PositionOpen(_Symbol,// инструмент
                            ORDER_TYPE_BUY,// 
                            inLot,// количество лотов для торговли
                            ask,// последняя цена  ask
                            0.0,// Stop Loss
                            0.0,// Take Profit 
                            " ");                                             // без комментариев  

Ma non c'è niente nel log del terminale. Faccio qualche ricerca in biblioteca. Ho trovato questo.

   if(!FillingCheck(symbol))
      return(false);

Si blocca qui.

Ho cercato ulteriormente e sono arrivato a questo.

         //--- wrong filling policy, set error code
         m_result.retcode=TRADE_RETCODE_INVALID_FILL;
         return(false);

Sono tornato e ho trovato questo

//--- get possible filling policy types by symbol
   uint filling=(uint)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);

Restituisce 0.

Ho provato a parlare con il personale di supporto di questo broker.

Mi hanno detto.

"Se hai impostato l'esecuzione in borsa nel tuo Expert Advisor, disabilita il controllo del tipo.

Non so cosa farci. Dovrei chiedere al mio broker che tipo di errore ho nel mio accordo di intermediazione.

 
Alexey Klenov:

Ho un broker con esecuzione in borsa.

Il mio Expert Advisor utilizza la libreria standard.

Quando lo eseguo, vedo nel log del mio Expert Advisor che è stato attivato un comando

Ma non c'è niente nel log del terminale. Faccio qualche ricerca in biblioteca. Ho trovato questo.

Si blocca qui.

Ho cercato ulteriormente e sono arrivato a questo.

Sono tornato e ho trovato questo

Restituisce 0.

Ho provato a parlare con il personale di supporto di questo broker.

Mi hanno detto.

"Se hai impostato l'esecuzione in borsa nel tuo Expert Advisor, disabilita il controllo del tipo.

Non so cosa farci. Dovrei chiedere al mio broker che tipo di errore ho nel mio accordo di intermediazione.

Prova ausare OrderSend() invece ditrade.PositionOpen()
 
Михаил:
Prova ausare OrderSend() invece ditrade.PositionOpen()
         MqlTradeRequest req;
         req.action=TRADE_ACTION_DEAL;       // Тип выполняемого действия
         req.symbol=_Symbol;                 // Имя торгового инструмента
         req.volume=inLot;                   //Запрашиваемый объем сделки в лотах
         req.type=ORDER_TYPE_BUY;            //Тип ордера
         //req.type_filling=ORDER_FILLING_FOK; // Тип ордера по исполнению
         //+------------------------------------------------------------------+
         //|                                                                  |
         //+------------------------------------------------------------------+
         MqlTradeResult rez;

         OrderSend(req,rez);

2015.05.20 23:01:55.387 Trades '*********': fallito scambio acquistare 0,10 EURUSD a mercato [Modalità di riempimento non supportata]

con il type_filling commentato il risultato è lo stesso

 
Alexey Klenov:

2015.05.20 23:01:55.387 Trades '*********': fallito scambio acquistare 0,10 EURUSD a mercato [Modalità di riempimento non supportata]

MqlTradeRequest request = {0};
  MqlTradeResult  result  = {0};
   
//--- Fill structure
  request.magic = 987654321;
  request.symbol = _Symbol;
  request.volume = inLot; 
  request.type_filling = ORDER_FILLING_IOC; //Взять то, что можно взять :)
  request.type_time = ORDER_TIME_DAY;
  request.action = TRADE_ACTION_DEAL;

 request.type = ORDER_TYPE_BUY;            //Тип ордера 

  request.comment = "Рыночный ордер...";
 
Михаил:
Il risultato è lo stesso
 
Alexey Klenov:
Il risultato è lo stesso

Brokers alla cazzo!

Sec, io stacco un assegno e tu pubblichi i risultati...

//+------------------------------------------------------------------+
//| Expert Check Market Parametrs function                           |
//+------------------------------------------------------------------+
bool CheckMarketParam( const string a_symbol )
{
//--- Check for full mode
  long trade_mode = long( SymbolInfoInteger( a_symbol, SYMBOL_TRADE_MODE ) );
  
  if ( ( SYMBOL_TRADE_MODE_FULL & trade_mode ) != SYMBOL_TRADE_MODE_FULL )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает полную торговлю!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//--- Check trade execution mode
  long market_info = long ( SymbolInfoInteger( a_symbol, SYMBOL_TRADE_EXEMODE ) );
    
  if ( market_info != SYMBOL_TRADE_EXECUTION_EXCHANGE )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает TRADE EXECUTION EXCHANGE режим!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//--- Check orders mode
  int order_mode = int( SymbolInfoInteger( a_symbol, SYMBOL_ORDER_MODE ) );
  
  if ( ( SYMBOL_ORDER_MARKET & order_mode )!= SYMBOL_ORDER_MARKET )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Market Execution режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_LIMIT & order_mode )!= SYMBOL_ORDER_LIMIT )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Limit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_STOP_LIMIT & order_mode ) != SYMBOL_ORDER_STOP_LIMIT )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop Limit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_STOP & order_mode )!= SYMBOL_ORDER_STOP )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_SL & order_mode) != SYMBOL_ORDER_SL )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop Loss режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_TP & order_mode) != SYMBOL_ORDER_TP )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Take Profit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//---Filing mode
  int filling_mode = int( SymbolInfoInteger( a_symbol, SYMBOL_FILLING_MODE ) );
  
  if ( ( SYMBOL_FILLING_IOC & filling_mode ) != SYMBOL_FILLING_IOC )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_FILLING_FOK & filling_mode ) != SYMBOL_FILLING_FOK )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }      
//---Ckeck expiration
  int symbol_exp_type = int( SymbolInfoInteger( a_symbol, SYMBOL_EXPIRATION_MODE ) );
  
  if ( ( symbol_exp_type & SYMBOL_EXPIRATION_DAY ) != SYMBOL_EXPIRATION_DAY )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает экспирацию DAY!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  return( true );
}