[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 209

Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Queste sono le funzioni, e gli oggetti sono i rettangoli che appaiono sul grafico.
Per prima cosa, stampate qualcosa delle funzioni di libreria in Print, in modo da sapere se vengono chiamate affatto
Gli oggetti grafici sono creati in funzioni di libreria. Dopo la prima chiamata all'indicatore, gli oggetti vengono creati e visualizzati nella finestra del terminale.
Quando le chiamate di nuovo non sono presenti nella lista degli oggetti, il che suggerisce che le funzioni esterne non funzionano quando si ricalcola l'indicatore per qualche motivo, e il terminale è silenzioso su questo problema.Ok. Invece di segni indiretti, stampate ( " chiamata di questa funzione") nell'indicatore; vedremo subito se questa funzione viene chiamata.
Dovresti essere meno arrogante, allora gli errori saranno trovati più velocemente)
In generale, il vostro problema è molto probabilmente nella funzione
Il fatto è che la statica non viene resettata durante la reinizializzazione, quindi quando si riavvia, il BarTime è sempre uguale al tempo dell'ultima barra contata l'ultima volta, cioè isNewBar () è falso finché non arriva una nuova candela. Sarebbe meglio spostare la funzione dalla libreria all'inluder mqh e azzerare BarTime=0 esplicitamente in init ().
Questo è solo un primo sguardo al codice, quindi non giudicate troppo severamente se mi sbaglio.
Comincerei rimuovendo questa linea dalla tua libreria
#property library
Poiché non state usando una libreria, ma un file di inclusione
Per quanto mi ricordo, devi ricordare specificamente questo tempo quando imposti l'ordine pendente. Si può memorizzare direttamente nel commento all'ordine (o in magik, come perversione speciale:).
DOMANDA 1.
Come codificare questa idea.
Per impostare un ordine pend ente ma farlo convertire in un ordine a mercato solo se il prezzo impostato dell'ordine pendente è lo stesso del prezzo di apertura di qualsiasi candela TF60
DOMANDA 2.
Come codificare questa idea.
Se un ordine pendente viene convertito in un ordine a mercato, tra 10 minuti dovremmo impostare un altro ordine pendente con gli stessi valori: prezzo aperto, prezzo di stop, volume come nel precedente ordine pendente che è stato convertito in un ordine a mercato.
Grazie.
Ok. Forse, invece di giudicare con segni indiretti, basta digitare l'indicatore stesso: Print ("call of such and such function"); vedremo subito se è chiamato o no.
Dovreste essere meno sicuri di voi stessi, allora gli errori saranno trovati più velocemente).
E in generale il vostro problema è molto probabilmente nella funzione
Il fatto è che la statica non viene azzerata quando si reinizializza, quindi al riavvio il BarTime è sempre uguale al tempo dell'ultima barra contata l'ultima volta, cioè isNewBar () sarà falso finché non arriva una nuova candela. Sarebbe meglio spostare la funzione dalla libreria all'inluder mqh e azzerare BarTime=0 esplicitamente in init ().
Questo è solo un primo sguardo al codice, quindi non giudicate troppo severamente se mi sbaglio.
Grazie mille!
Rimosso isNewBar () dalla libreria e messo nel file indicatore. Tutto funziona come un orologio!