Riguardo a questa domanda, penso che vi sbagliate. Si prega di controllare con il Service Desk. Lasciamo che rispondano alla domanda: se si formano nuove barre nella piattaforma indipendentemente dall'arrivo delle quotazioni, oppure no. Se no, allora in caso di una nuova barra controlla se c'era una citazione su di essa. Se lo era, il nuovo bar è stato formato. Possiamo farlo in questo modo. Non c'è bisogno di cambiare molto.
Oh mamma mia... Leggete già le informazioni. Sono molto sorpreso che tu non lo sappia, e quando te lo dicono, ne dubiti anche tu. Non guarderò nemmeno nella direzione del Service Desk per domande così infantili - ti rideranno in faccia. Allora chiediglielo tu stesso - hai un link a servicedesk nel tuo profilo.
Mi sembra che questo non sia un buon esempio per dimostrare l'utilità dell'OOP. Ecco, per esempio, una variante che usa solo una funzione:
è possibile, naturalmente, rimuoverlo daOnTick e inserirlo inOnTimer
Non ho guardato la logica, beh, supponiamo che ipoteticamente funzioni correttamente.
E da qualche personaggio a caso?
Immaginate che il programma usi una lista di simboli dalla finestra Market Overview, e che l'utente possa cambiare i set di simboli in qualsiasi momento.
Artyom è un po' indietro con la sua domanda, ma la domanda è questa: scrivetelo in stile procedurale in modo che funzioni correttamente
voidOnTick()
{
if(IsNewBar("AUDCAD",PERIOD_H1)) {
// задача №1
}
if(IsNewBar("GBPJPY",PERIOD_M15)) {
// задача №2
}
if(IsNewBar("EURUSD",PERIOD_H4)) {
// задача №3
}
}
// Функция "Новый бар"bool IsNewBar(....) {
здесь код, который нужно написать
}
Sì, con un timer. Appare una nuova barra senza citazione. Ci interessa esattamente l'evento dell'apparizione della barra, mentre possiamo fissare la citazione in Optisk();
L'ora di apertura della barra Time[i] di solito non corrisponde all'ora di arrivo del tick. Il tempo di apertura di una barra per qualsiasi timeframe è sempre un multiplo del timeframe. Ogni primo tick che si verifica all'interno del timeframe è una barra che si forma; se nessun tick è arrivato all'interno del timeframe, non si formerà nessuna barra neanche in questo timeframe.
Artyom non ha veramente coperto la questione, ma la domanda è questa: scrivetelo in stile procedurale, in modo che funzioni correttamente
Ho voluto aggiungere gradualmente dei compiti per rendere veloce, conveniente, facile e semplice per le persone l'attuazione del compito. Per mostrare più tardi come si fa facilmente usando OOP.
Ma lo stesso principale respingente di OOP si è allontanato dalla soluzione del problema :)
Ho voluto aggiungere gradualmente dei compiti per rendere veloce, conveniente, facile e semplice per le persone l'attuazione del compito. Per mostrare poi quanto sia facile farlo con OOP.
Ma lo stesso principale rifiutatore di OOP ha rifiutato la soluzione del compito :)
Sì, non l'ho detto esattamente io, parafraserò:
Artem non ha aperto un po' la questione, e la questione è questa: scrivere in stile procedurale che funzioni correttamente
Forse tornerà e dimostrerà che è molto facile e semplice
Avevo l'obiettivo che il risultato finale sarebbe stato che il suo codice in stile procedurale avrebbe funzionato in un tale ciclo:
Il ciclo dei simboli, il controllo dell'apertura di una nuova barra quando arriva una quotazione e così via, potrebbe essere facilmente aggiunto alla mia soluzione. E cosa c'entra l'OOP?
Avete scelto un esempio sbagliato. Pensate a qualcos'altro a vostro piacimento.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Dovete solo scrivere una funzione in cui l'utente chiede: "C'è una nuova barra sulla M5?" e ottiene una risposta sì/no.
Per esempio:
Ecco la vostra funzione IsNewBar() e la svilupperemo e la torceremo/rovesceremo ulteriormente con un'ulteriore estensione del compito
Mi sembra che questo non sia un buon esempio per dimostrare l'utilità dell'OOP.
Ecco, per esempio, una variante che usa solo una funzione:
potete ovviamente rimuoverlo daOnTick e inserirlo inOnTimer
Riguardo a questa domanda, penso che vi sbagliate. Si prega di controllare con il Service Desk. Lasciamo che rispondano alla domanda: se si formano nuove barre nella piattaforma indipendentemente dall'arrivo delle quotazioni, oppure no. Se no, allora in caso di una nuova barra controlla se c'era una citazione su di essa. Se lo era, il nuovo bar è stato formato. Possiamo farlo in questo modo. Non c'è bisogno di cambiare molto.
Mi sembra che questo non sia un buon esempio per dimostrare l'utilità dell'OOP.
Ecco, per esempio, una variante che usa solo una funzione:
è possibile, naturalmente, rimuoverlo daOnTick e inserirlo inOnTimer
Non ho guardato la logica, beh, supponiamo che ipoteticamente funzioni correttamente.
E da qualche personaggio a caso?
Immaginate che il programma usi una lista di simboli dalla finestra Market Overview, e che l'utente possa cambiare i set di simboli in qualsiasi momento.
Con rispetto.
Artyom è un po' indietro con la sua domanda, ma la domanda è questa: scrivetelo in stile procedurale in modo che funzioni correttamente
Sì, con un timer. Appare una nuova barra senza citazione. Ci interessa esattamente l'evento dell'apparizione della barra, mentre possiamo fissare la citazione in Optisk();
Una barra apparirà in ogni caso.
Qui abbiamo la spiegazione delle barre:
L'ora di apertura della barra Time[i] di solito non corrisponde all'ora di arrivo del tick. Il tempo di apertura di una barra per qualsiasi timeframe è sempre un multiplo del timeframe. Ogni primo tick che si verifica all'interno del timeframe è una barra che si forma; se nessun tick è arrivato all'interno del timeframe, non si formerà nessuna barra neanche in questo timeframe.
Artyom non ha veramente coperto la questione, ma la domanda è questa: scrivetelo in stile procedurale, in modo che funzioni correttamente
Ho voluto aggiungere gradualmente dei compiti per rendere veloce, conveniente, facile e semplice per le persone l'attuazione del compito. Per mostrare più tardi come si fa facilmente usando OOP.
Ma lo stesso principale respingente di OOP si è allontanato dalla soluzione del problema :)
Ho voluto aggiungere gradualmente dei compiti per rendere veloce, conveniente, facile e semplice per le persone l'attuazione del compito. Per mostrare poi quanto sia facile farlo con OOP.
Ma lo stesso principale rifiutatore di OOP ha rifiutato la soluzione del compito :)
Sì, non l'ho detto esattamente io, parafraserò:
Artem non ha aperto un po' la questione, e la questione è questa: scrivere in stile procedurale che funzioni correttamente
Forse tornerà e dimostrerà che è molto facile e semplice
Non l'ho proprio detto io, quindi lo riformulo:
Artyom non ha veramente coperto la domanda, e la domanda è questa: scrivere in stile procedurale, in modo che funzioni correttamente
Forse tornerà e dimostrerà che è molto facile e semplice.
Avevo l'obiettivo di far funzionare il suo codice in stile procedurale in un tale ciclo alla fine:
Avevo l'obiettivo che il risultato finale sarebbe stato che il suo codice in stile procedurale avrebbe funzionato in un tale ciclo:
Il ciclo dei simboli, il controllo dell'apertura di una nuova barra quando arriva una quotazione e così via, potrebbe essere facilmente aggiunto alla mia soluzione. E cosa c'entra l'OOP?
Avete scelto un esempio sbagliato. Pensate a qualcos'altro a vostro piacimento.