Mt4 Fine del supporto. - pagina 21

 
Andrei:

... Una singola interfaccia è totalmente inapplicabile alla programmazione di qualsiasi compito computazionale...

È diverso quando si hanno 1000 compiti simili che possono essere combinati sotto un'unica bandiera e creare gestori universali per ogni funzione per ognuno di questi molti compiti.

Sinceramente.

 
Реter Konow:

Mi scuso per il leggero ritardo.

Ecco la prima versione della funzione. Potete raffinarlo e svilupparlo ulteriormente. Se qualcuno nota un errore, si prega di commentare.

Ohhhh... Non ho approfondito, naturalmente - è molto difficile per me leggere un codice del genere. Supponiamo che ipoteticamente restituisca ciò che si suppone.

E come fai a sapere che la nuova barra su EURUSD e USDCAD appare su ognuno di loro su tre timeframe - M5, H1 e D1?

 
Andrey Kisselyov:

è diverso quando si hanno 1.000 compiti strutturati in modo simile

Non credo che ci siano nemmeno 2 compiti simili. :) Puoi chiamare una funzione 1000 volte, ma è un compito, non 1000.

 
Artyom Trishkin:

Ohhhh... Non ci sono entrato, naturalmente - è molto difficile per me leggere quel tipo di codice. Supponiamo che ipoteticamente restituisca ciò che si suppone.

E come fai a sapere il fatto della nuova barra su EURUSD e USDCAD - su ognuno di loro su tre timeframes - M5, H1 e D1?

Se le citazioni provengono da un server, non importa quale strumento. Dopo tutto, le barre sono aperte per ogni simbolo allo stesso tempo.

È diverso se le fonti delle citazioni sono in diverse parti del mondo. Per i minuti non ha importanza, ma potrebbe esserci un problema con timeframe più alti. Forse le funzioni temporali devono essere studiate più in dettaglio e deve essere fatta una correzione temporale accurata. Ma questa è la prossima tappa nello sviluppo di questa soluzione...

Dovete fare una calibrazione per questa funzione...

 
Реter Konow:

Se le quotazioni provengono dallo stesso server, non fa differenza quale strumento. Dopo tutto, le barre sono aperte simultaneamente su ogni strumento.

È diverso se le fonti delle citazioni sono in diverse parti del mondo. Per i minuti non ha importanza, ma potrebbe esserci un problema con timeframe più alti. Forse le funzioni temporali devono essere studiate più in dettaglio e deve essere fatta una correzione temporale accurata. Ma questa è la prossima tappa nello sviluppo di questa soluzione...

È necessario fare una calibrazione per questa funzione...


c'è una differenza ....

 
Andrei:

Non credo che ci siano nemmeno 2 compiti simili. :) La funzione può essere chiamata 1000 volte, ma è un compito, non 1000.

Non stiamo parlando di chiamare una funzione nell'EA, ma di scrivere interfacce universali (gestori).

Avete 1000 compiti per scrivere un robot, ognuno dei quali consiste essenzialmente in
1 funzione di ottenere un segnale di apertura
2. funzione di apertura dell'ordine
3 funzione di tracciamento dell'ordine
4 Ricevere un segnale per chiudere un ordine
e così via.
Queste funzioni sono diverse per ogni robot, ma all'interno di 1000 progetti si ripetono. Di conseguenza, è possibile combinare le funzioni in moduli versatili e, a seconda del compito, chiamare quella giusta.

Cordiali saluti.
 
Vladimir Pastushak:

c'è una differenza ....

Spiegare.
 
Реter Konow:

Se le quotazioni provengono dallo stesso server, non fa differenza quale strumento. Dopo tutto, le barre sono aperte simultaneamente su ogni strumento.

È diverso se le fonti delle citazioni sono in diverse parti del mondo. Per i minuti non ha importanza, ma potrebbe esserci un problema con timeframe più alti. Forse le funzioni temporali devono essere studiate più in dettaglio e deve essere fatta una correzione temporale accurata. Ma questa è la prossima tappa nello sviluppo di questa soluzione...

È necessario fare una calibrazione per questa funzione...

Una nuova barra si forma quando arriva il primo tick della barra, lo strumento gioca un ruolo.


con rispetto.

 
Реter Konow:

Se le quotazioni provengono dallo stesso server, non fa differenza quale strumento. Dopo tutto, le barre sono aperte simultaneamente su ogni strumento.

È diverso se le fonti delle citazioni sono in diverse parti del mondo. Per i minuti non ha importanza, ma potrebbe esserci un problema con timeframe più alti. Forse le funzioni temporali devono essere studiate più in dettaglio e deve essere fatta una correzione temporale accurata. Ma questa è la prossima tappa nello sviluppo di questa soluzione...

È necessario fare una calibrazione per questa funzione...

Ciò che è necessario è il fatto di aprire una nuova barra su uno qualsiasi dei simboli suggeriti su tre timeframe.

Se non c'è una quotazione per nessuno dei simboli, non vedremo l'apertura di una nuova barra. E la nuova barra apparirà solo con l'arrivo di un nuovo tick. Se c'è una nuova barra in EURUSD, ma il USDCAD non ha ancora ricevuto una nuova quotazione corrispondente alla nuova barra, la nuova barra non sarà costruita. Ma abbiamo bisogno di sapere il fatto esatto dell'apertura del nuovo bar senza alcuna riserva sul suo tempo. È necessario conoscere il fatto dell'inizio del nuovo bar:

se c'è una nuova barra su M5 su EURUSD, allora...
se c'è una nuova barra in H1 su EURUSD, allora...
se c'è una nuova barra su D1 a EURUSD, allora...
--------
se c'è una nuova barra su M5 su USDCAD...
se c'è una nuova barra in H1 su USDCAD, allora ...
se c'è una nuova barra su D1 su USDCAD, allora ...

 
...e Time[0] dovrebbe essere sostituito da iTime(_Symbol,PERIOD_M1,0)
perché i minuti non contano
Motivazione: