Errori, bug, domande - pagina 1548

 
comp:
Allora non si può interrompere il calcolo per evento.

Ok, allora guarda dall'altra parte.

Si può parallelizzare artificialmente - mettendo un secondo indicatore sul grafico.

E accedendo a GlobalVariableSetOnCondition da entrambi.

 
o_O:

Ok, allora guarda dall'altra parte.

Si può parallelizzare artificialmente - mettendo il secondo indicatore sul grafico.

E accedendo alla GlobalVariableSetOnCondition da entrambi.

Non capisco.
 
comp:
Non capisco.

Il secondo indicatore è un segnalatore che invia eventi da ChartEvent all'indicatore principale come uno personalizzato + cambia lo stato della variabile globale per esempio dal tempo in ms.

Nell'indicatore principale catturate questo evento e iniziate il calcolo, + guardate la variabile globale per assicurarvi che abbia lo stesso tempo ms di quello con cui avete iniziato il calcolo.

Se il tempo in esso è cambiato, significa che è arrivato un nuovo evento - e si interrompe il calcolo attuale.

come questo.

---

Oppure potete semplicemente cambiare il ms nel gp ad ogni evento grafico, e controllarlo solo nell'indicatore principale

in generale - il secondo indicatore parallelizzerà

 

Ciao, un piccolo aiuto per un principiante. Non riesco a gestire l'evento OnBookEvent.

Se chiamate questo evento da onTick(), allora tutto funziona. Se onTick() è vuoto, allora non funziona nulla. Non capisco niente, OnBookEvent viene chiamato quando c'è un cambiamento nel bicchiere, cioè è un gestore di eventi separato, essenzialmente lo stesso che onTick() viene chiamato quando si verifica un tick. Perché non funziona?

Ecco come funziona. Beh, come funziona, stampa "Anything" quando si verifica un tick, non quando c'è un cambiamento nella tazza. Per esempio, il volume delle offerte è cambiato, ad un certo prezzo, il gestore OnBookEvent per il cambiamento della tazza dovrebbe essere chiamato, ma non succede. Se onTick() è lasciato vuoto, non stamperà nemmeno qualcosa.

int OnInit()

{

if ! MarketBookAdd("RTS-6.16" )

{

Print("Error ",GetLastError() );

}

else

{

Stampa("Fatto");

}

void OnDeinit(const int reason)

{

MarketBookRelease("RTS-6.16");

}

void OnTick()

{

OnBookEvent(_Symbol);

}

void OnBookEvent(const string &symbol)

{

MqlBookInfo book[];

MarketBookGet("RTS-6.16", libro);

se(ArraySize(book) == 0)

{

printf("Failed load market book price. Motivo: " + (string)GetLastError());

ritorno;

}

Stampa("Qualsiasi cosa");

}

 
L'ho appena provato su altri strumenti e funziona tutto!!!! Come può essere? Non funziona solo su rts!!!
 
il problema è risolto, funziona da solo!
 

Errore in https://www.mql5.com/ru/docs/constants/structures/mqltraderequest help

SL & TP Modification

Un ordine di trading per modificare i livelli di StopLoss e/o TakeProfit. 4 campi sono obbligatori:

-azione

-simbolo

-sl

-tp

-posizione

Aggiunto il campo posizione ma il numero di campi da riempire è ancora 4.
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

Errore nell'aiuto https://www.mql5.com/ru/docs/constants/structures/mqltraderequest

Aggiunto il campo posizione ma il numero di campi da compilare è ancora 4.
Alexey, non ha senso scrivere qui, devi inviare una richiesta al servicedesk. Allo stesso tempo ci sarà + al rating )
 
Alexey Volchanskiy:
Alexey, è inutile scrivere qui, devi inviare una richiesta a Servisdek. Allo stesso tempo sarà + al rating )
Sono troppo vecchio per inseguire il rating: )))) Non lo aggiusteranno e non hanno bisogno di farlo.
 
o_O:

metti il secondo indicatore un segnalatore che ti manda all'indicatore principale come un evento personalizzato da ChartEvent + cambia lo stato della variabile globale per esempio dal tempo in ms

Nell'indicatore principale catturate questo evento e iniziate il calcolo, + guardate la variabile globale per assicurarvi che abbia lo stesso tempo ms di quello con cui avete iniziato il calcolo.

Se il tempo in esso è cambiato, significa che è arrivato un nuovo evento - e si interrompe il calcolo attuale.

come questo.

---

Oppure potete usare il segnalatore per cambiare ms in gp ad ogni evento grafico, e controllarlo solo nell'indicatore principale

in generale - il secondo indicatore parallelizzerà

Capito, grazie. Purtroppo, questa soluzione funziona solo in un Expert Advisor (in cui il calcolo deve essere interrotto). Non funzionerà nell'indicatore, perché la chiamata dell'indicatore sul grafico non crea una coda di grafici paralleli, non unisce nemmeno un grafico specifico, ma TUTTI i grafici di questo simbolo.

Come faccio a mettere l'indicatore come MQ5-resource invece di EX5-resource?