Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1141

 
Maksym Mudrakov:
Io farei quanto segue, con un indicatore di terze parti è necessario monitorare ObjectsTotal(), e se l'indice più grande del mio oggetto pannello è inferiore a ObjectsTotal()-1, allora ricreare il pannello. Ho bisogno di provare prima il tuo metodo in tutti i tipi di situazioni, ma finora non vedo più libertà nell'uso di Objects Visibility.

Poi provate a rispondere voi stessi alla domanda: qual è la differenza visiva tra "cancellare/creare" e "nascondere/mostrare".

 

Non ho trovato nulla su di essoin MT5 tester, nel rapporto Backtest c'è unerrore LR Standard. Cosa significa? Non ho trovato nulla su di esso nei libri di testo e riferimenti, tranne menzionare che esiste.

Immagino che sia una deviazione standard dei risultati su una serie di campioni, ma il prefisso LR può significare qualcosa di diverso. Vorrei sapere come si conta e che tipo di bestia è in generale).

Backtest in archivio.

File:
 
Valeriy Yastremskiy:

Ctrl T per far apparire il menu in basso, Trading, Assets, ..... , infine Log. Cliccare sul diario di bordo e cliccare con il tasto destro del mouse su una delle voci per visualizzare

"Journal" non ha aiutato, ma seguendo un'analogia, "Experts" sì. Grazie.

 
Alexandr Sokolov:

Sto scrivendo un EA che di tanto in tanto ha bisogno di eseguire diversi cicli lunghi di diversi ricalcoli (ad esempio ogni 12, 24, 48 ore). Ogni ricalcolo richiede 1,5-2 ore su un core (cioè in un thread) - e naturalmente, l'elaborazione di nuovi tick e il trading di questo EA sono in pausa

... Tali calcoli possono essere delegati a un altro EA in un altro thread e i dati finali possono essere trasferiti tra gli EA utilizzando la funzione EventChartCustom e il gestore di eventi OnChartEvent


Ma ho bisogno di essere in grado di pubblicare l'EA nel mercato - quindi delegare i ricalcoli e i calcoli nello stesso thread non è adatto. C'è un analogo della libreria thread di C++ o qualche altra versione per implementare un EA così specifico in MQL5? (Ho inserito la parola "thread" nel motore di ricerca di questo sito con il filtro "Documentazione" e non c'è niente).

notte da usare quando non c'è commercio.

 
Artyom Trishkin:

Allora provate a rispondere voi stessi alla domanda: qual è la differenza visiva tra "cancellare/creare" e "nascondere/mostrare".

Se funziona quando si manipola la visibilità degli oggetti, allora è molto buono. Dovrò fare una prova. Grazie.
 

Buona giornata a tutti!
Ho bisogno di stampare () alcuni parametri di un ordine chiuso dopo che ogni ordine è stato chiuso da stop (e ce ne sono molti aperti allo stesso tempo). Ho imparato a farlo con molto successo. Ma..... c'è un problema che la mia mente non è sufficiente a risolvere. Alcuni ordini sono chiusi da stop sullo stesso tick e allo stesso prezzo. In questo caso, il programma ignora il primo ordine chiuso e stampa Print() solo l'ultimo ordine chiuso. Non stampa il primo.
Q: .
Quale costruzione linguistica può essere usata per far sì che l'applicazione stampi Print () anche dopo che il primo ordine si è chiuso a stop nei casi che ho descritto sopra?

Vi sarei molto grato se poteste scrivere il codice per un tale progetto. Finora ho difficoltà a capire la spiegazione a parole.

Grazie.

int start()
{
int Ht = OrdersHistoryTotal();
if (OrderSelect (Ht-1,SELECT_BY_POS, MODE_HISTORY))                                             
if (TP!=OrderTicket( ))
{
Print("---------------------------------------------------------------=",TimeToString(OrderOpenTime()) );
TP=OrderTicket( );
}

if (TimeCurrent()==1262598040)
if (H==0)
{
OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,1.62199,1.60919,"300",10 );
H=1;
}
if (TimeCurrent()==1262601140)
if (L==0)
{
OrderSend(Symbol(),OP_SELL,0.1,Bid, 3,1.62199,1.61758,"300",10 );
L=1;
}
return(0);
}


 
ANDREY:

Buona giornata a tutti!
Dopo che ogni ordine (e ce ne sono molti aperti contemporaneamente) è chiuso da uno stop, ho bisogno di emettere alcuni parametri di un ordine chiuso in Print (). Ho imparato a farlo con molto successo. Ma..... c'è un problema che la mia mente non è sufficiente a risolvere. Alcuni ordini sono chiusi da stop sullo stesso tick e allo stesso prezzo. In questo caso, il programma ignora il primo ordine chiuso e stampa Print() solo l'ultimo ordine chiuso. Non stampa il primo.
Q: .
Quale costruzione linguistica può essere usata per far sì che l'applicazione stampi Print () anche dopo che il primo ordine si è chiuso a stop nei casi che ho descritto sopra?

Vi sarei molto grato se poteste scrivere il codice per un tale progetto. Finora ho difficoltà a capire la spiegazione a parole.

Grazie.


Spiegazione in parole: abbiamo bisogno di monitorare il numero di ordini e posizioni e confrontarli con lo stato precedente. Se c'erano 12 posizioni nel tick precedente e 8 posizioni nel tick attuale, abbiamo un cambio di 4 posizioni. Di conseguenza, dovremmo prendere le ultime quattro posizioni (al momento della chiusura) per capire cosa è successo loro.

Ma a giudicare dal codice allegato, che dice "miracoli", non c'è davvero bisogno di una spiegazione a parole. Ma qui c'è aiuto, non scrivere per/per.

 
Artyom Trishkin:

La spiegazione in parole: è necessario tenere traccia del numero di ordini e posizioni e confrontarli con lo stato precedente. Se avevamo 12 posizioni nel tick precedente e 8 nel tick attuale, abbiamo un cambiamento di 4 posizioni. Di conseguenza, dovremmo prendere le ultime quattro posizioni (in base al tempo della loro chiusura) per capire cosa gli è successo.

Ma a giudicare dal codice allegato con scritto "miracoli", non c'è davvero bisogno di una spiegazione a parole. Ma questo è un posto per aiutare, non per scrivere per/per.

Grazie per i preziosi consigli. Ma non ho problemi a capire cosa è successo agli ordini. Non so come il programma dovrebbe stampare () anche dopo che il primo ordine è stato chiuso se un altro ordine ha chiuso allo stesso prezzo e nello stesso tick dopo di esso. Se gli ordini vengono chiusi in una sola volta ma a prezzi diversi, il programma stampa Print () dopo la chiusura di entrambi gli ordini, compreso il primo.
Vi sarei molto grato se poteste approfondire la vostra idea esposta nel primo post.

Il codice è "magico" perché ha solo lo scopo di descrivere visivamente il problema e nient'altro.


 
ANDREY:

Grazie per i preziosi consigli. Ma non ho problemi a capire cosa è successo con gli ordini. Non so come il programma stampi () anche dopo che il primo ordine è stato chiuso se un altro ordine ha chiuso allo stesso prezzo sullo stesso tick e allo stesso tick. Se gli ordini vengono chiusi in una sola volta ma a prezzi diversi, il programma stampa Print () dopo la chiusura di entrambi gli ordini, compreso il primo.
Vi sarei molto grato se poteste approfondire la vostra idea esposta nel primo post.

Il codice è "miracoloso" perché ha solo lo scopo di descrivere chiaramente il problema e nient'altro.


Se rileggi quello che ho scritto, capirai che non c'è niente da sviluppare - ho scritto come determinare se più di una posizione è chiusa in un tick, e cosa fare con questo - anche. E il codice - beh, è tutto individuale secondo le proprie esigenze. Ho anche scritto negli articoli come fare tutto, ho masticato e ho esposto tutti i codici - quanto di più potrei chiedere...

 
Artyom Trishkin:

Se rileggi quello che ho scritto, capirai che non c'è niente da sviluppare - ho scritto come determinare se più di una posizione è chiusa in un tick, e cosa fare con questo - anche. E il codice - beh, è tutto individuale secondo le proprie esigenze. Ho anche scritto negli articoli come fare tutto, ho masticato e ho esposto tutti i codici - quanto di più potrei chiedere...

Le sarei molto grato se potesse inviarmi i link dei suoi articoli sulla mia domanda.
Grazie.