Errori, bug, domande - pagina 687

 
hrenfx:

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

Dov'è il difetto?

Il difetto qui è che si deve costantemente prescrivere un funzionale per determinare i parametri mancanti della barra. La necessità dell'esempio che citi è un caso speciale.

hrenfx:

00:00 - {NAN, NAN, NAN, NAN} (OHLC);

Dov'è il difetto?

Non capisco questa costruzione, perché gli Expert Advisors lavorano in un tick e la maggior parte degli Expert Advisors non si preoccupa del tempo di arrivo di un nuovo tick.

Forse questo design è usato per semplificare la sincronizzazione multicurrency, ma l'assenza di questo design può essere sostituita con successo con una funzione per cercare l'ultima barra che si è verificata.

La presenza di questa struttura nella storia può complicare l'analisi nella maggior parte dei casi, perché dobbiamo costantemente identificare l'assenza dei parametri mancanti di una barra.

p.s. Lavorare con le costruzioni che hai citato complica seriamente l'elaborazione. È molto più facile trovare l'ultima barra che ha avuto luogo.

 

abolk:

1. Iniziate costantemente a costruire il bar a "prezzi di fornitura"?

2. Quali sono questi prezzi?

3. come li conosciamo?

1. E giustamente, non avete ancora dimostrato la scorrettezza di un tale schema. Tutto quello che hai fatto è sottolineare che "ci sono opzioni".

2, 3. I prezzi di offerta sono trasmessi dal broker. Si chiamano Bid e Ask e sono i prezzi effettivi finché non vengono sostituiti da altri. Le transazioni non sono affatto un criterio, nel Forex vengono trasmessi solo i cambiamenti di prezzo, e le transazioni ai prezzi fissi possono essere quante ne vuoi - fino a quando non si esauriscono i volumi dei Limiti più vicini sul mercato i cui prezzi sono l'offerta attuale del broker. Offerta e domanda attuali . Capito? Semmai, chiedete alla documentazione o a Yandex e Google.

 
abolk:
Il difetto qui è che si deve costantemente prescrivere una funzione per determinare i parametri mancanti della barra. La necessità dell'esempio che citi è un caso speciale.

Questo non è niente in confronto all'errata sincronizzazione, tuttavia, per eliminare anche questo stressante difetto, è stata lanciata un'offerta alternativa:

Hrenfx:

In questo caso, se non c'è un prezzo di offerta al momento del minuto (apertura della sessione di trading), non si forma nessuna barra, ...

Per lo stesso esempio:

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

Sarebbe il seguente:

  • Le barre 00:00 e 00:01 sono assenti.
  • 00:02 - {1,2301, 1,2310, 1,2290, 1,2305} (OHLC);

Quali altri difetti ci sono?

P.S. La variante con NAN è la più logicamente corretta. La variante di compromesso permette di sbarazzarsi dell'operatore if condizionale su ogni barra, ma richiederà la sincronizzazione delle barre multifee al momento dell'apertura/chiusura della sessione di trading.

 
MetaDriver:

Capito? Semmai, chiedete alla documentazione o a Yandex e Google.

Non capisco. Perché questo costante tono arrogante?

Una specie di mania infondata di onniscienza, onniscienza e onniscienza.

Ho intenzione di prendere un congedo.

 
abolk:
Non posso dire nulla sulla presenza/assenza di barre "fallate" - non è fondamentale per me. Anche i problemi di implementazione sono sconosciuti. Forse sono significativi 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.
Andriy, ho un favore da chiederti - per favore non interferire in argomenti che non sono critici per te. Una tale interferenza è come un tentativo di "fare il saggio" su un argomento poco importante - è sicuro e dà l'opportunità di prendere un "punto" di stato dai presenti. Se riuscite a trovare una buona idea. Non hai pensato ripetutamente al campo attuale, quindi non puoi dire nulla di sensato in questo caso. Intelligente - significa utile a coloro per i quali è fondamentale. Non sto dando consigli e risposte sul tema della "costruzione di grafici" nel terminale. Pensi che io non abbia pensieri al riguardo? Sì, li ho, ma capisco solo che sono "fuori dal giro", perché non lo uso nella mia pratica quotidiana. Senza offesa, Andrew, solo una richiesta. Hai il diritto di esprimere la tua opinione (lo hai già fatto), ma è semplicemente stupido da parte tua iniziare e continuare questa discussione. Lei è semplicemente "fuori dal mondo".
 
abolk:

Non capisco. Perché questo costante tono arrogante?

Una specie di mania infondata di onniscienza, onniscienza e onniscienza.

Penso che mi ritirerò in giardino.

Non è arrogante, è beffardo in questo caso, apertamente beffardo, non senza quello.

Stranamente, non ho alcun rimorso, perché sei disperatamente stupido e sul punto di fingere di esserlo.

 
MetaDriver:
Andrew, ho una richiesta da farti - non intrometterti, per favore, in argomenti che non sono critici per te. Questo tipo di intromissione sembra un tentativo di "fare il saggio" su un argomento poco importante - sicuro e permette al "punto" di stato occasionale di prendere per il culo i presenti. Se riuscite a trovare una buona idea. Non hai pensato ripetutamente al campo attuale, quindi non puoi dire nulla di sensato in questo caso. Intelligente - significa utile a coloro per i quali è fondamentale. Non sto dando consigli e risposte sul tema della "costruzione di grafici" nel terminale. Capisco solo che non sono nel giro, perché non lo uso nella mia pratica quotidiana. Senza offesa, Andrew, ma solo una richiesta. Hai il diritto di pubblicare la tua opinione (lo hai già fatto), ma è semplicemente stupido da parte tua iniziare e continuare questa discussione. Lei è semplicemente "fuori dal mondo".

Beh, per quanto riguarda l'esprimere o meno la mia opinione, spetta a me decidere. Inoltre, non permettetemi di chiedervi il permesso di parlare di questo o quell'argomento, che io sia "on" o "off". Se hai i diritti di moderatore, puoi cancellare i miei post e tenere i tuoi. Ma visto che non hai i diritti di moderatore, ma solo un dito puntato, allora... ...potete usarlo per la vostra personale "corretta comprensione dell'argomento".

 
Arrenditi - non è previsto alcun cambiamento su questo fronte a breve.
 

Perché ogni mio EA fallisce cancellando gli ordini?Un ordine viene piazzato e immediatamente cancellato.

Ecco un esempio: 2011.01.24 М1, ora di immissione degli ordini 2:00. DC metaquotes-demo.

MqlTradeResult resultU,resultD;MqlTradeRequest request;MqlTick latest_price;MqlDateTime ctime;
int OnInit()
{ request.symbol = _Symbol; // simbolo
request.volume = 0.1; // numero di lotti da scambiare
request.magic = 52; // Numero magico
request.type_filling = ORDER_FILLING_AON; // tipo di esecuzione dell'ordine - tutto o niente
request.deviation=40; // slippage dal prezzo corrente
request.comment="TL";
request.type_time=ORDER_TIME_GTC;
request.type_filling=ORDER_FILLING_RETURN;
ritorno(0);
}
void OnTick()
{
if(OrderSelect(resultD.order) || OrderSelect(resultU.order) )
{ OrderSelect(resultU.order);
if(OrderGetDouble(ORDER_PRICE_OPEN)!=1.36207)
{ Print("bbb ",OrderGetDouble(ORDER_PRICE_OPEN);
request.action = TRADE_ACTION_REMOVE; // esecuzione immediata
request.order=resultU.order;
OrderSend(richiesta,risultatoU);
request.order=resultD.order;
OrderSend(richiesta,risultatoD);

ritorno;
}
OrderSelect(resultD.order);
if(OrderGetDouble(ORDER_PRICE_OPEN)!=1.35855)
{Print("sss ",OrderGetDouble(ORDER_PRICE_OPEN));
request.action = TRADE_ACTION_REMOVE; // esecuzione immediata
request.order=resultU.order;
OrderSend(richiesta,risultatoU);
request.order=resultD.order;
OrderSend(richiesta,risultatoD);
ritorno;
}
//nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
//nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
}else//nuovo ordine
{ TimeCurrent(ctime);
se(ctime.hour==2){
request.action = TRADE_ACTION_PENDING;
request.type=ORDER_TYPE_BUY_STOP;
request.price=1.36207;
request.sl=1.36031;
richiesta.tp=0;
OrderSend(richiesta,risultatoU);

request.type=ORDER_TYPE_SELL_STOP;
request.price=1.35855;
request.sl=1.36031;
request.tp=1.34484;
OrderSend(richiesta,risultatoD);
}
}
}

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Типы торговых операций - Документация по MQL5
 
Ho lottato con questo bug in vari EA per mezzo anno ormai((((((