Errori, bug, domande - pagina 686

 
abolk:
Un'altra opzione è quella di considerare il prezzo di apertura come il prezzo che si è formato nella precedente fascia di prezzo. L'esempio dell'apertura dei mercati ha dimostrato che questo non è corretto.

Non attribuite a me queste sciocchezze. Ripeto:

La proposta è elementare: formare le barre secondo un modello temporale quando il prezzo di apertura è uguale al prezzo EFFETTIVO al momento della formazione del minuto. ACTUAL (prezzo di offerta realmente esistente), non il prezzo di chiusura della barra precedente!

Il mercato per ogni FI si apre nel momento in cui appare il prezzo di offerta per quel FI. Nello stesso FOREX il mercato non si apre per tutti i FI contemporaneamente.

 
abolk:

Lei stesso ha derivato la regola: "Niente prezzo, niente bar".

Se il mercato era aperto, ma non c'era liquidità (venditori o compratori), non c'era prezzo. C'era un "prezzo di domanda" o un "prezzo di offerta", ma in assenza di una delle parti dell'affare - il prezzo era assente, c'era solo il prezzo del periodo precedente.

Ed è corretto, quando la decisione sul prezzo in caso di sincronizzazione multivaluta è presa dal TS stesso, non dal terminale. Perché la questione di cosa sia il prezzo in caso di assenza del prezzo è ambigua.

Ok, Andrew, mi hai quasi convinto.

Allora lascia che il terminale riempia le barre mancanti con NAN - sono d'accordo! Ma non le rimuove dalla serie temporale in modo irreversibile (con mezzi standard). Tutto ciò di cui ho bisogno è uno strumento di sincronizzazione standard. Deciderò da solo con cosa riempire le barre "indefinite". Anche (almeno) sono pronto ad accettare di non visualizzare le barre mancanti, anche se non mi permette di confrontare visivamente i grafici di strumenti diversi.Ma ho bisogno di quotazioni sincronizzate (per numero di barra) per i calcoli. Quindi la mia domanda è - sono l'unico sviluppatore originale o qualcun altro ne ha bisogno? Quale percentuale di quelli che ne hanno bisogno? Questa percentuale cresce o si riduce? E infine, quale compilatore genera un codice più veloce - MQL5 o C++?

 
Il compito è semplice, far sì che il tester dia meno imprecisioni possibili. Al momento, il tester mente quasi sempre, dicendo che al momento della formazione del minuto il prezzo era uguale al prezzo aperto della barra. Questa è la ragione per cui l'arbitraggio si verifica sempre a prezzi aperti nel tester, mentre non c'è arbitraggio a prezzi di chiusura. E, come conseguenza dell'utilizzo del modello potico di formazione delle barre, TC dovrà spendere le sue risorse di calcolo per sincronizzare diversi FI sui prezzi di chiusura delle barre. Gli sviluppatori risparmiano sulle partite per lasciare che gli utenti sprechino un sacco di risorse di calcolo per una stupida sincronizzazione ogni volta che si esegue nel tester. Non gli permettono di fare questa sincronizzazione prima di eseguire l'ottimizzazione.
 
hrenfx:

Il mercato per ogni FI si apre quando c'è un prezzo di fornitura per quel FI. Nel FOREX, il mercato non si apre contemporaneamente per tutti gli IF.

Bene, allora l'unica cosa da fare è costringere tutti i partecipanti al mercato ad agire esclusivamente nello stesso momento.

Una delle questioni delle strategie multivalutarie è se è corretto considerare adeguato, in un dato momento, l'ultimo prezzo che ha avuto luogo così e così tanto tempo fa.

 
abolk:

Uno dei problemi con le strategie multi-valuta è se sia corretto o meno considerare adeguato in questo momento l'ultimo prezzo che ha avuto luogo tanto tempo fa.

Assolutamente corretto, purché il prezzo passato si riferisca alla sessione di trading corrente. Ancora una volta, prendiamo il prezzo delle patate.
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
Документация по MQL5: Получение рыночной информации / SymbolInfoSessionQuote
  • www.mql5.com
Получение рыночной информации / SymbolInfoSessionQuote - Документация по MQL5
 
hrenfx:
Assolutamente corretto se il prezzo passato si riferisce alla sessione di trading corrente. Prendete di nuovo il prezzo delle patate.
Corretto se si tiene conto del prezzo passato quando si prendono decisioni nella sessione corrente, ma attribuire il prezzo passato alla sessione corrente non è corretto. La definizione di prezzo che ho dato sopra. Dobbiamo distinguere tra "il prezzo dell'atto di acquisto/vendita", "il prezzo della domanda" e "il prezzo dell'offerta". Noi "non conosciamo il prezzo dell'offerta". Una sessione di trading si basa sul suo "prezzo di acquisto/vendita". Tu, invece, proponi di basare la sessione di trading sui prezzi "atto di acquisto/vendita" del periodo precedente. Perché trasferire questi prezzi al periodo corrente, se si sono formati nell'ultimo periodo e sono già noti e possono essere ottenuti.
 
abolk:
Corretto quando si prende in considerazione il prezzo passato quando si prendono decisioni nella sessione corrente, ma non è corretto mettere in relazione il prezzo della sessione passata con la sessione corrente.

Non è quello che c'è scritto qui?

hrenfx:
Assolutamente corretto quando si mette in relazione il prezzo passato con l'attuale sessione di trading. Ancora una volta, prendiamo il prezzo delle patate.

Dimmi un solo difetto di questo modello di formazione delle barre:

Arriva un nuovo minuto - si forma una barra il cui prezzo di apertura è il prezzo di offerta al momento del nuovo minuto. In questo caso, se il prezzo di offerta non è disponibile al momento del nuovo minuto (apertura di una sessione di trading), una barra non viene formata, o viene formata con il valore NAN (per il prezzo di apertura, come High, Low e Close possono già essere). Le barre durante una sessione di trading chiusa non vengono formate.

 
hrenfx:

Dimmi un solo difetto di questo modello di formazione delle barre:

Arriva un nuovo minuto - si forma una barra il cui prezzo di apertura è il prezzo di offerta al momento del nuovo minuto. In questo caso, se il prezzo di offerta non è disponibile al momento di un nuovo minuto (apertura di una sessione di trading), la barra non si forma, o si forma con il valore di NAN. Le barre durante una sessione di trading chiusa non vengono formate.

Evidenziato è scorretto in base alla definizione di prezzo. Lei equipara costantementeil "prezzo dell'ultimo trade" al "prezzo di un trade non ancora eseguito". Non solo, ma abbiamo già fatto una supposizione discutibile quando equipariamo "l'ultimo prezzo di scambio" al "prezzo di offerta". Continuate a costruire la barra sui "prezzi d'offerta"? Quali sono questi prezzi? Come li conosciamo?
 
abolk:
Evidenziato è errato in base alla definizione di prezzo. Lei equipara costantemente il"prezzo dell'ultima transazione" al "prezzo di una transazione che non ha ancora avuto luogo". Non solo, abbiamo già fatto una supposizione discutibile quando equipariamo il "prezzo dell'ultimo affare" al "prezzo dell'offerta". Continuate a costruire la barra sui "prezzi d'offerta"? Quali sono questi prezzi? Come li conosciamo?

Continuate ad attribuirmi delle sciocchezze che leggete tra le righe. Ecco un esempio concreto dell'implementazione del mio suggerimento

  1. 00:59:58 - Il prezzo di EURUSD arriva a 1,2301.
  2. 00:01:00 - il prezzo di 1,2301 è stato valido per 2 secondi, motivo per cui il prezzo di apertura della barra 00:01 è uguale ad esso - 1,2301.

Un altro esempio:

  1. Apertura della sessione di trading alle 00:00:00.
  2. Il primo prezzo appare alle 00:02:34 - 1,2301. Poi entro un minuto il prezzo cambia all'interno della gamma di 1,2290 - 1,2310. E alla fine di 00:02:02 minuti diventa 1,2305.

Per questo esempio, abbiamo tre barre:

  • 00:00 - {NAN, NAN, NAN, NAN} (OHLC);
  • 00:01 - {NAN, NAN, NAN, NAN} (OHLC);
  • 00:02 - {NAN, 1,2310, 1,2290, 1,2305} (OHLC);

Dov'è il difetto?

 
MetaDriver:

Ok, Andrew, mi hai quasi convinto.

Allora lascia che il terminale riempia le barre mancate dal ringhio con il valore NAN - sono d'accordo!!! Ma non le elimina dalla serie temporale in modo irrevocabile (con mezzi standard). Tutto ciò di cui ho bisogno è uno strumento di sincronizzazione standard. Deciderò io stesso con cosa riempire le barre "indefinite".Posso anche (almeno) accettare di non visualizzare le barre mancanti, anche se mi priva della possibilità di confrontare visivamente i grafici di diversi strumenti. Ma per i calcoli, ho bisogno di quotazioni sincronizzate (per numero di barra).

Non posso dire nulla sulla presenza o assenza di barre "fallate" - non è fondamentale per me. Inoltre, non conosco i problemi di implementazione. Forse sono essenziali e la soluzione attuale è un compromesso per ora. Se è così importante e non è presente nel terminale, il "disegno" delle barre "fallite" può essere implementato manualmente.