Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 408

 
Tapochun:
Tutto dipende dalla logica dell'indicatore. Più spesso - sì, nella funzione OnCalculate().
Lafunzione "OnCalculate() viene chiamata solo negli indicatori personalizzati quando è necessario calcolare i valori dell'indicatore tramite l'eventoCalculate. Questo succede di solito quando arriva un nuovo tick per un simbolo" - come fare allora il calcolo solo una volta all'apparizione di una candela. In mql4 c'era una specie di controllo.
 
first_may:
Lafunzione "OnCalculate() viene chiamata solo negli indicatori personalizzati quando è necessario calcolare i valori dell'indicatore tramite l'eventoCalculate. Questo accade di solito quando un nuovo tick viene ricevuto dal simbolo" - come fare allora per far eseguire il calcolo solo una volta all'apparizione di una candela. In mql4 c'è un controllo.
Il modo più semplice, se non è la prima spunta (prev_calcolato != 0) e tassi_totale > prev_calcolato.
 
Tapochun:
Più facile se non è la prima spunta (prev_calcolato != 0) e tassi_totale > prev_calcolato.
Sì :). Forse dovrei trovare un esempio di incrocio di due medie mobili esponenziali (l'ho visto da qualche parte) e rifarlo.
 
first_may:
Sì :). Forse dovrei trovare un esempio di incrocio di due medie mobili esponenziali (l'ho visto da qualche parte) e rifarlo.
Quando si comincia - è sempre meglio fare degli esempi! Le linee di codice separate difficilmente vi aiuteranno. Buona fortuna!
 

Come posso intercettare l'evento di chiusura del tick corrente? Non ci sono mezzi standard? Cioè quando si apre un trade si deve scrivere qualcosa come:e poi controllare su ogni tick:

//Инициализация
int totalOrders=0;
...
//Открытие новой сделки
int ticket = OrderSend(....)
if(ticket > 0)
    totalOrders++;

e poi controllare ad ogni spunta:

if(totalOrders != OrdersTotal())
    //Обработка события закрытия сделки
 
gammaray:

Come posso intercettare l'evento di chiusura del tick corrente? Non ci sono mezzi standard? Cioè quando si apre un trade si deve scrivere qualcosa come:e poi controllare su ogni tick:

e poi controllare ad ogni spunta:

Devi confrontare il numero di posizioni monitorate nel tick precedente con il numero nel tick attuale. Se il tick corrente è diventato meno - salviamo (ricordiamo) il valore corrente delle posizioni monitorate come "passato" ed elaboriamo il fatto della chiusura.
 
gammaray:

Come posso intercettare l'evento di chiusura del tick corrente? Non ci sono mezzi standard? Cioè quando si apre un trade si deve scrivere qualcosa come:e poi controllare su ogni tick:

e poi controllare ad ogni spunta:

Non capisco niente. Che valore volete ottenere?

Ho letto quello che hai scritto in questo modo

{

Apertura di un ordine;

Se l'ordine si apre, allora

TotalOrder = TotalOrder+1;

}

) di default totalOrder = 0, ma dopo ogni apertura di un ordine il valore aumenterà, dopo 10 aperture (il valore sarà esattamente 10) il contatore di tutte le posizioni mai aperte (nessun controllo per tipo, per Magik e per simbolo = aggiungerà assolutamente tutti gli ordini aperti)

E la prossima condizione si presenta così

se TotalOrder non è uguale aOrdersTotal {}

 
Buon pomeriggio a tutti, mi rivolgo a chi è esperto. Ho bisogno di un semplice EA, il cui compito sarà quello di cambiare gli stop sugli ordini attivati su candele LOW o HIGH ogni periodo del TF. Anch'io ho un tavolo purtroppo. Non so se è già stato messo lì. Non l'ho trovato, cos'era - con additivi che ingombrano.

 
mefos:
Buon pomeriggio a tutti, mi rivolgo a chi è esperto. Ho bisogno di un semplice EA, il cui compito sarà quello di cambiare gli stop sugli ordini attivati su candele LOW o HIGH ogni periodo del TF. Anch'io ho un tavolo purtroppo. Non so se è già stato messo lì. Non l'ho trovato, cos'era - con additivi che ingombrano.

Questo è per te, caro ragazzo, al banco degli ordini. Qui solo consigliare e aiutare con problemi di codice.
 
Ivan Vorontsov:
Tocca a te, amico, al banco degli ordini. Qui danno solo consigli e aiutano con problemi di codice.
+++