[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 191
Ho bisogno di ricordare GetTickCount sul primo tick dopo aver avviato l'indicatore, ma il codice qui sotto non funziona - il terminale si blocca. forse RefreshRates non funziona affatto in init()...?
eddy: Chi ha qualche idea su come implementarlo? Voglio farlo in init, perché se si crea una bandiera all'inizio, sarà controllata ogni volta
Quando dichiarateuna variabile globale, assegnatele un valore e resettatela all'inizio. Quindi avrà un valore iniziale solo sul primo tick, prima di assegnare, e su tutti i tick successivi - il valore assegnato all'inizio. Poi puoi trasferire all'avvio tutte le azioni che vengono eseguite una volta all'avvio di Expert Advisor.
Potreste consigliarmi come caricare l'indicatore su un grafico in modo programmatico?
C' è la funzione bool ServiceLoadCustomIndicator(int hwndChart,...); //hwndChart- descrittore di sistema della finestra del grafico, dove viene caricato l'indicatore.
Non so come conoscere il descrittore della finestra del grafico.
Ho solo bisogno di memorizzare GetTickCount sul primo tick dopo l'inizio dell'indicatore, ma il codice qui sotto non funziona - il terminale si blocca. Forse in init() RefreshRates non funziona affatto...?
granit77: Assegnare un valore alla variabile globale nella dichiarazione e resettarla all'inizio. Allora avrà il valore originale solo sul primo tick, prima di assegnare, e su tutti i tick successivi - il valore assegnato all'inizio. Quindi tutte le azioni, che vengono eseguite una volta all'inizio dell'EA, possono essere trasferite all'inizio.
Non ho bisogno di assegnare nulla a questa variabile all'avvio.
Ho deciso di creare un indicatore separato per memorizzare i tick in una variabile globale, il cui valore sarà noto all'indicatore principale all'avvio
Zhunko, cosa succede se ci sono diverse finestre con lo stesso TF e simbolo?
Non ho bisogno di assegnare nulla a questa variabile all'avvio. solo una volta per ricordare il tick.
Ho deciso di creare un indicatore separato per memorizzare i tick in una variabile globale, il cui valore sarà valutato dall'indicatore principale all'avvio
Zhunko, cosa succede se ci sono diverse finestre con lo stesso timeframe e simbolo?
Controllato molto tempo fa (puoi farlo anche tu) restituisce l'ultimo o quello attivo.
Comunque, non importa, penso che sia sempre attivo quando lo aggiungi comunque, dove vuoi aggiungerlo
Sì. Esattamente. Ho una funzione che restituisce i descrittori di tutte le stesse finestre del grafico in ordine Z. Non l'ha incluso nella biblioteca. Ma non servirà a molto.
Non ho bisogno di assegnare nulla a questa variabile all'avvio.
Ho deciso di fare un indicatore separato per memorizzare i tick in una variabile globale, il cui valore viene riconosciuto dall'indicatore principale all'avvio
Quello che volevo dire è questo:
bool FirstStart=true;
int start(){
if(FirstStart){
if(RefreshRates()) tik=GetTickCount();
FirstStart=false;
}
}
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.
il prezzo sbagliato è 1,37197000.
il prezzo corretto è 1,37197 o 1,3719, a seconda di quale DNS.
NormalizeDouble() è usato per impostare il numero di cifre dopo il punto decimale
Aggiunto NormalizeDouble() al prezzo in OrderSend(), nessun errore ora, grazie!
Più facile di così non si può:
Mettete le funzioni stesse al di fuori della funzione start(), o alla fine di tutto il codice.
Grazie!
Ho bisogno di ricordare GetTickCount sul primo tick dopo aver avviato l'indicatore, ma il codice qui sotto non funziona - il terminale si blocca. forse RefreshRates non funziona affatto in init()...?
while(true){ if(RefreshRates()) { tik=GetTickCount(); break; } Sleep(1 ); }Chi ha qualche idea su come implementarlo? Voglio farlo in init, perché se si crea una bandiera all'inizio, sarà controllata ogni volta
Potreste consigliarmi come caricare l'indicatore su un grafico in modo programmatico?
C' è la funzione bool ServiceLoadCustomIndicator(int hwndChart,...); //hwndChart- descrittore di sistema della finestra del grafico, dove viene caricato l'indicatore.
Non so come conoscere il descrittore della finestra del grafico.
Ho solo bisogno di memorizzare GetTickCount sul primo tick dopo l'inizio dell'indicatore, ma il codice qui sotto non funziona - il terminale si blocca. Forse in init() RefreshRates non funziona affatto...?
Assegnare un valore alla variabile globale nella dichiarazione e resettarla all'inizio. Allora avrà il valore originale solo sul primo tick, prima di assegnare, e su tutti i tick successivi - il valore assegnato all'inizio. Quindi tutte le azioni, che vengono eseguite una volta all'inizio dell'EA, possono essere trasferite all'inizio.
Non ho bisogno di assegnare nulla a questa variabile all'avvio.
Ho deciso di creare un indicatore separato per memorizzare i tick in una variabile globale, il cui valore sarà noto all'indicatore principale all'avvio
Zhunko, cosa succede se ci sono diverse finestre con lo stesso TF e simbolo?
Non ho bisogno di assegnare nulla a questa variabile all'avvio. solo una volta per ricordare il tick.
Ho deciso di creare un indicatore separato per memorizzare i tick in una variabile globale, il cui valore sarà valutato dall'indicatore principale all'avvio
Zhunko, cosa succede se ci sono diverse finestre con lo stesso timeframe e simbolo?
cioè se nessuno di loro è attivo, restituisce l'ultimo?
Comunque, non importa, penso che quando lo si aggiunge, quello dove dovrebbe essere aggiunto è sempre attivo comunque.
Comunque, non importa, penso che sia sempre attivo quando lo aggiungi comunque, dove vuoi aggiungerlo
Non ho bisogno di assegnare nulla a questa variabile all'avvio.
Ho deciso di fare un indicatore separato per memorizzare i tick in una variabile globale, il cui valore viene riconosciuto dall'indicatore principale all'avvio