Errori, bug, domande - pagina 565

 
VovkaSOL:
Buon pomeriggio, ho iniziato a scrivere multivariante, chiamo iMA, per qualche motivo nel commercio reale tutto funziona bene, non appena ho eseguito nel tester un esperto errore rimosso perché l'indicatore 'Moving Average' non può caricare [4804], che cosa è l'indicatore sull'indicatore, non molto chiaro, non ho potuto trovare una risposta plausibile su Internet. Per favore, consigliatemi, ve ne sarei molto grato.
Questo errore indica che il simbolo non è selezionato nella finestra Market Watch del tester e quindi l'Expert Advisor non può creare un indicatore per il simbolo giusto. È necessario creare programmaticamente una lista di simboli che funzioneranno con l'Expert Advisor
 
sergey1294:
Questo errore indica che il simbolo non è selezionato nella finestra Market Watch del tester e quindi l'Expert Advisor non può creare un indicatore utilizzando il simbolo giusto. Dovete creare programmaticamente una lista di simboli che lavoreranno con l'Expert Advisor
Non è abbastanza? SymbolSelect(SYM,true) lo faccio quando creo le classi per i simboli. Ho provato su Demo e funziona, ma in Strategy Tester ho ottenuto lo stesso errore, non so dove guardare.
 
VovkaSOL:
Non è abbastanza? SymbolSelect(SYM,true) lo faccio quando creo le classi per i simboli. Quando lo eseguo su demo, tutto funziona, in tester c'è un errore, non so dove guardare.

Posso vedere un esempio più completo? Il punto è che c'è un problema molto vecchio con la selezione dei simboli nel tester, che si verifica in certe situazioni.

Seleziono i simboli sulla base di una matrice pre-preparata, nessun problema con questo approccio.

Документация по MQL5: Получение рыночной информации / SymbolSelect
Документация по MQL5: Получение рыночной информации / SymbolSelect
  • www.mql5.com
Получение рыночной информации / SymbolSelect - Документация по MQL5
 

Aggiornato il terminale, non riesco a identificare questo RESULT.RETCODE

 

Il download della cronologia si blocca al 52% per EUR... Apparentemente ci sono molte richieste ai server.

 
Ma qualcuno può spiegarmi la cosa più semplice? Perché l'indicatore mostra improvvisamente segni di vita nel fine settimana? Non ci sono ticchettii, non ci sono cicli evidenti, timer e altre costruzioni multi-trigger ritardate nel tempo, e Print sta disseminando il registro di Expert ogni cinque minuti.
 

Porca puttana!!! Questa cosa di EGlobal mi sta uccidendo con le sue riconnessioni notturne! Era così fastidioso che ho spento gli avvisi acustici. Ora mi sono ricordato per caso, l'ho acceso - e sì: gli pseudotick sono generati ad ogni riconnessione, e quindi Print from OnCalculate alimenta il log.

Ok, almeno questo è risolto.

 

Signori, potete dirmi dove potrebbe essere il problema.

C'è una funzione per chiudere l'intero volume degli ordini per un simbolo. Il terminale è inondato da errori di tale contenuto:

2011.11.12 13:34:28 2011.10.10 04:01:07 failed instant sell 0.20 EURUSD at 1.34542 [Richiesta non valida]

Ecco il codice della funzione:

void CloseOrders (string symbol)
  {
   double lot;
   long direction;
   ENUM_ORDER_TYPE TypeOrder;
   MqlTradeRequest mrequest;    // Будет использоваться для отсылки торговых запросов
   MqlTradeResult mresult;      // Будет использоваться для получения результатов выполнения торговых запросов

   PositionSelect(symbol);
   lot=PositionGetDouble(POSITION_VOLUME);
   if(lot==0)
      return;

  direction=PositionGetInteger(POSITION_TYPE);

   if(direction==POSITION_TYPE_BUY)
     {
      TypeOrder=ORDER_TYPE_SELL;
      mrequest.price=SymbolInfoDouble(symbol,SYMBOL_ASK);              // последняя цена ask     
     }
   else
     {
      TypeOrder=ORDER_TYPE_BUY;
      mrequest.price=SymbolInfoDouble(symbol,SYMBOL_BID);              // последняя цена bid
     }
     
   mrequest.action=TRADE_ACTION_DEAL;                                       // немедленное исполнение
   mrequest.sl = 0;  //NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // Stop Loss
   mrequest.tp = 0;  //NormalizeDouble(latest_price.ask + TKP*_Point,_Digits); // Take Profit
   mrequest.symbol=symbol;                                                  // символ
   mrequest.volume=lot;                                                     // количество лотов для закрытия
   //   mrequest.magic=magic;                                               // Magic Number
   mrequest.type = TypeOrder;                                               // ордер на покупку или продажу
   //mrequest.type_filling = ORDER_FILLING_AON;                             // тип исполнения ордера - все или ничего
   mrequest.deviation=100;                                                  // проскальзывание от текущей цены
   mrequest.comment="Закрытие ";  
   OrderSend(mrequest, mresult);                                            // комментарий
   return;
  }
 

Ci sono errori dopo che ho aggiornato la versione del mio terminale:

2011.11.12 19:20:14 Core 1 2011.02.21:44:00 fallito acquisto stop 8,81 EURUSD a 1,36996 (0,00000) sl: 1,36626 tp: 1,37683 [Richiesta non valida]

2011.11.12 19:24:29 Core 1 2011.02.25 02:10:00 fallito acquisto istantaneo 51,88 EURUSD a 1,38164 sl: 1,37794 tp: 1,38260 [Richiesta non valida]

Quale potrebbe essere il problema?

Tutto funzionava prima.

 
MoneyJinn:

Ci sono errori dopo che ho aggiornato la versione del mio terminale:

2011.11.12 19:20:14 Core 1 2011.02.21:44:00 fallito acquisto stop 8,81 EURUSD a 1,36996 (0,00000) sl: 1,36626 tp: 1,37683 [Richiesta non valida]

2011.11.12 19:24:29 Core 1 2011.02.25 02:10:00 fallito acquisto istantaneo 51,88 EURUSD a 1,38164 sl: 1,37794 tp: 1,38260 [Richiesta non valida]

Quale potrebbe essere il problema?

Prima funzionava.

Il problema del prezzo di apertura è evidente. Scrivere al Service Desk.
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.