Errori, bug, domande - pagina 2301

 
Artyom Trishkin:

Per un oggetto testo situato su High[], il punto di ancoraggio (proprietà OBJPROP_ANCHOR) deve essere impostato su ANCHOR_LOWER (punto di ancoraggio in basso al centro).

Per un oggetto testo che si trova su Low[], il punto di ancoraggio (proprietà OBJPROP_ANCHOR) deve essere impostato su ANCHOR_UPPER (punto di ancoraggio in alto al centro).

O ANCHOR_CENTER per entrambe le posizioni, il punto di ancoraggio è centrato.

Provate.

Ma questo richiede la creazione di DUE oggetti chiamati, per esempio, Hi e Lo (estremità superiori e inferiori di uno zigzag o estremità superiori e inferiori dell'attuale tendenza locale verso l'alto o verso il basso) e legarli entrambi al grafico con i corrispondenti valori di ANCHOR_LOWER e ANCHOR_UPPER. Non sarebbe più facile legare (in qualche modo) la parte superiore dello ZigZag - alla parte inferiore precedentemente "legata"? Questo è più o meno quello che ho fatto, aggiungendo una linea alla funzione precedente

ObjectSetInteger(0,Obj,OBJPROP_ANCHOR,ANCHOR_CENTER); e introducendo una "correzione di offset" alla linea di uscita if(tvT) ORT(kBtT,Low[kBtT]-2*_Point,DtT,LowClr); else ORT(kBtT,High[kBtT]+2*_Point,DtT,HighClr); //

Finora sembra funzionare. Grazie!

 
aleger:

Ma questo richiede la creazione di DUE oggetti chiamati, per esempio, Hi e Lo (estremità superiori e inferiori dello zigzag o estremità superiori e inferiori dell'attuale tendenza locale al rialzo o al ribasso) e il loro legame al grafico con i corrispondenti valori di ANCHOR_LOWER e ANCHOR_UPPER. Non sarebbe più facile legare (in qualche modo) la parte superiore dello ZigZag - al fondo precedentemente "legato"? Questo è più o meno quello che ho fatto, aggiungendo una linea alla funzione precedente

ObjectSetInteger(0,Obj,OBJPROP_ANCHOR,ANCHOR_CENTER); e introducendo una "correzione di offset" alla linea di uscita if(tvT) ORT(kBtT,Low[kBtT]-2*_Point,DtT,LowClr); else ORT(kBtT,High[kBtT]+2*_Point,DtT,HighClr); //

Finora sembra funzionare. Grazie!

Qual è il punto? Puoi cambiare l'allegato in qualsiasi momento. O mi manca qualcosa? Si cambia il colore. Così si cambia il collegamento.

 

Dopo aver chiuso la finestra del debug viewer, ricompilato ed eseguito una singola esecuzione nel Tester senza visualizzazione, ho ottenuto questo

2018.09.27 14:01:52.784 Core 1  agent process started
2018.09.27 14:01:52.784 Core 1  connecting to 127.0.0.1:3000
2018.09.27 14:02:11.358 Core 1  tester agent authorization error
2018.09.27 14:04:15.875 Core 1  no connection
2018.09.27 14:04:15.875 Core 1  connect error

Non ho potuto fare nulla per 20 secondi. Il pulsante Start è rimasto in grigio per tutto il tempo.


Registri dell'agente.

DM      3       14:01:49.711    Tester  close visual tester window
RH      0       14:01:49.711    Tester  shutdown tester machine
LN      0       14:01:54.186    Server  MetaTester 5 stopped


I registri mostrano che il Tester ha cercato di connettersi all'Agente alle 01:52, ma l'Agente (Server) si è fermato solo alle 01:54. Da qui l'incapacità di connettersi e di appendere. È un bug di vecchia data, ma almeno la causa è ora chiara.

 

Risultati del profilatore su dati storici


L'OrderSend interno richiede un terzo del tempo. Cosa provoca risultati così spiacevoli?

 
fxsaber:

Risultati del profilatore su dati storici


L'OrderSend interno richiede un terzo del tempo. Cosa provoca risultati così spiacevoli?

Nel tester, tutta la logica di trading è qui, non sul server commerciale.

 
Slava:

Nel tester, tutta la logica di trading è qui, non sul server commerciale.

Quasi tre milioni di tick e solo 16K OrderSend. Ma questi ordini commerciali richiedono un terzo del tempo. E su ogni tick ci sono dei calcoli nell'Expert Advisor.

Da qui la mia domanda. Potresti eseguire il codice di OrderSend nel profiler? In quale luogo c'è un tale intoppo?

Suppongo che se si sostituisce la funzione standard con la propria, funzionerà più velocemente. Probabilmente, ci sono alcuni controlli e gesti costosi in OrderSend. Per esempio, se non ci sono funzioni History e OnTrade* nell'Expert Advisor (+ indicatori), allora formare i record/eventi appropriati è una perdita di tempo.

Capisco che per alcune persone una corsa dura molti minuti. Ma ci sono casi come sopra - unità di secondi, se si presta attenzione alla velocità di esecuzione. E qui si scopre che lancio Optimize per tre ore, e di queste un'ora è OrderSend, il cui tempo medio di esecuzione è 69 µs (vedi screenshot):

  • TRADE_ACTION_PENDING - 104 µs.
  • TRADE_ACTION_SLTP/TRADE_ACTION_MODIFY/TRADE_ACTION_REMOVE - 68 microsecondi.
 
Ho profilato il tester molte volte. E so dove si trova l'intoppo. Si tratta di calcoli finanziari che comportano diverse normalizzazioni dei risultati al numero di cifre della valuta del deposito
 
Slava:
Ho profilato il tester molte volte. E so dov'è l'intoppo. Si tratta di calcoli finanziari che comportano diverse normalizzazioni dei risultati al numero di cifre della valuta di deposito

Scriverò il mio OrderSend e lo confronterò.

 
Ciao a tutti! Sono nuovo del trading, sto imparando tutti i dettagli su di esso per mezzo anno ora. È un business molto allettante, ma non so, spesso sento che tutti i profitti e le perdite in mesi o anni sono fondamentalmente zero, nel migliore dei casi.Non voglio deludere nessuno in questa attività è la scelta di ogni persona, ma un fatto molto importante che proprio non do pace mai in questo business, è lo SPARK (SPARK è quando un affare si apre con -16 punti o -21 punti) a 16 o 21 punti, o anche 34 punti, apparentemente galleggia, Dio sa, bene, come si può fare soldi qui?Ho solo una domanda: dimmi chi è più esperto, un markup così grande è la mano del mio broker (il mio broker dice che non ha markup e che viene da un fornitore di liquidità) o colpisce tutti in generale, dimmi in dettaglio se ha il markup e quanti punti.
 
Si prega di notare questo post (o posso spostarlo qui e può essere schiacciato lì): https://www.mql5.com/ru/forum/281440
Помогите разобраться (баг или я не понимаю чего?)
Помогите разобраться (баг или я не понимаю чего?)
  • 2018.09.28
  • www.mql5.com
Всем привет, сразу к делу...