Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 924

 
Nauris Zukas:

Senza la modifica, laGuida di MQl5 non si apre.

Hai una connessione internet veloce? Se l'aiuto non si apre, significa che lo si sta scaricando. Prima c'erano dei messaggi nel Diario di bordo riguardo al processo di caricamento, ora i messaggi sono stati rimossi.

 

Puoi dirmelo per favore!!!

Cosa scrivere in iCustom dopo il nome dell'indicatore?

 
TaywinLannister:

Puoi dirmelo per favore!!!

Cosa devo scrivere in iCustom dopo il nome dell'indicatore?

Cerca tra gli esempi con codice: iCustom

 
TaywinLannister:

Puoi dirmelo per favore!!!

Cosa scrivere in iCustom dopo il nome dell'indicatore?

Aiuto sul sito web.
Документация по MQL5: Технические индикаторы / iCustom
Документация по MQL5: Технические индикаторы / iCustom
  • www.mql5.com
[in] input-параметры пользовательского индикатора, разделенные запятыми. Тип и порядок следования параметров должен соответствовать. Если параметры не указаны, то будут использованы значения по умолчанию. INVALID_HANDLE. Для освобождения памяти компьютера от неиспользуемого больше индикатора служит функция IndicatorRelease(), которой...
 
foreXteller:

Caro Vladimir Karputov!

Grazie per il link!

Ho dato un'occhiata al tuo articolo raccomandato "ALGORITMO DI GENERAZIONE DEL TICK NEL TEST DI METATRADER 5 TERMINALI".

È un po' diverso - non voglio analizzare i valori di tick su un intervallo di un minuto, e gli ultimi valori di mercato da SymbolInfoTick() non sono così importanti ora.

Pergiocare con MetaTrader 5 infuturo , voglio testare la mia strategia (il mio robot) con i miei programmi sulle quotazioni di un minuto di diverse valute simultaneamente, considerando i loroASK, BID, VOLUME e SPREAD, ma non i candelieri.

Poiché i programmi sono scritti in VISUAL C, non posso usare MT per i test.

I programmi sono abbastanza complessi e difficilmente possono essere tradotti in MQL (ho intenzione di usare file DLL in futuro ).

Grazie per l'attenzione!

CaroVladimir Karputov!



L'articolo che avete raccomandato è il seguente:

"Algoritmo di generazione di tick

"Lo Strategy Tester del terminale MetaTrader 5 utilizza solo una modalità di simulazione dei prezzi nei test - la generazione di tick sulla base dei dati storici esistenti sui timeframe minuti dai simboli utilizzati".

Si prega di consigliare dove ottenere i"dati storici esistenti su timeframe minuti".

Grazie in anticipo!!!


 

Potete dirmi come catturare un evento di chiusura di una posizione?

void OnTradeTransaction(const MqlTradeTransaction&    trans,
                        const MqlTradeRequest&        request,
                        const MqlTradeResult&         result
                        )
  {
   if(trans.type!=TRADE_TRANSACTION_DEAL_ADD)
      return;
   ...
  }
 
void OnTradeTransaction(const MqlTradeTransaction&    trans,
                        const MqlTradeRequest&        request,
                        const MqlTradeResult&         result
                        )
  {
   if(trans.type!=TRADE_TRANSACTION_DEAL_ADD)
      return;
   if(trans.deal_type!=DEAL_TYPE_BUY && trans.deal_type!=DEAL_TYPE_SELL)
      return;
   ENUM_DEAL_ENTRY entry_type=(ENUM_DEAL_ENTRY)HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
   if(entry_type==DEAL_ENTRY_IN)
      return;
  }

È corretto? Penso che dovrebbe essere aggiunto anche un controllo del volume.

 
foreXteller:

CaroVladimir Karputov!



Nell'articolo da voi raccomandato si legge quanto segue:

"Algoritmo di generazione di tick

Lo Strategy Tester del terminale MetaTrader 5 utilizza solo una modalità di simulazione dei prezzi nei test - la generazione di tick sulla base dei dati storici esistenti sui timeframe di un minuto sui simboli utilizzati".

Si prega di consigliare dove ottenere i"dati storici esistenti su timeframe minuti".

Grazie in anticipo!!!


Tutto è già presente in MetaTrader 5. Dall'inizio. Subito. Non appena ti connetti al server di trading - hai immediatamente accesso a tutta la storia dei tick.

Quando si lavora online, ovviamente si lavora con zecche reali. Mentre lavorate nel tester della strategia, potete scegliere la modalità: "Every tick is based on real ticks" - il metodo più preciso, i tick della storia reale, o una delle modalità di generazione dei tick: "All ticks", "OHLC".

 

Per favore, ditemi se c'è qualche codice universale che permette di ottenere il profitto delle posizioni nella storia? Almeno per pos_id. Che funzionerebbe su tutti i mercati.

 
Juer:

Potete dirmi come catturare un evento di chiusura di una posizione?

Per il forex uso questa opzione.

/*********************TradeTransaction function**********************/
void OnTradeTransaction(const MqlTradeTransaction& trans,
                        const MqlTradeRequest& request,
                        const MqlTradeResult& result)
{
  if(trans.type == TRADE_TRANSACTION_DEAL_ADD && trans.symbol == _Symbol)
   {
    /******************** Если открылась позиция********************/
    if(PositionSelectByTicket(trans.position) && PositionGetInteger(POSITION_MAGIC) == magick)
      ifOpenedPosition(trans);
    /******************** Если закрылась позиция********************/
    if(!PositionSelectByTicket(trans.position))
     ifClosedPosition(trans);
   }
}/*******************************************************************/

Cioè la posizione esiste o non esiste.

Juer:

Per favore ditemi, c'è un codice universale che permette di ottenere il profitto delle posizioni nella storia? Almeno per pos_id. Funzionerebbe in tutti i mercati.

Scrivere uno di questi è "un gioco da ragazzi". Basta selezionare i trade che appartengono alla posizione e fare un loop per sommare il profitto, lo swap e la commissione.
Motivazione: