Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 250
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
Se è semplice, da controllare rapidamente, è qualcosa del genere:
Gli ordini di solito si susseguono nel tempo, ma questo non è garantito. Pertanto, la cronologia dovrebbe essere controllata. Ma per gli esperimenti questo andrà bene.
Se è semplice, da controllare rapidamente, è qualcosa del genere:
Gli ordini di solito si susseguono nel tempo, ma questo non è garantito. Pertanto, la cronologia dovrebbe essere controllata. Ma questo andrà bene per gli esperimenti.
Sono d'accordo, i tempi non sono garantiti. È per questo che voglio esaminare tutti gli ordini chiusi in base al biglietto. Conosco il biglietto d'ordine e sto cercando di contare da esso, ma qualcosa è andato storto) Quale sarebbe il modo giusto?
Se è semplice, da controllare rapidamente, è qualcosa del genere:
Gli ordini di solito si susseguono nel tempo, ma questo non è garantito. Pertanto, la cronologia dovrebbe essere controllata. Ma questo andrà bene per gli esperimenti.
Se guardiamo la cronologia, sarebbe meglio guardare gli ordini da quelli più piccoli a quelli più grandi che si chiudono al momento del ricalcolo, poiché gli ordini di mercato sono considerati da quelli più grandi a quelli più piccoli, in modo da poter considerare correttamente quelli aperti e chiusi nello stesso tick. Penso di sì)
Se è semplice da controllare rapidamente, allora è qualcosa del genere:
Come regola generale, gli ordini si susseguono nel tempo, ma questo non è garantito. Perciò, in un buon modo, la cronologia dovrebbe essere controllata. Ma andrà bene per gli esperimenti.
Anche il codice di Alexey non è corretto?
Nella storia è meglio andare da meno a più ordini per tenere conto di quelli che si chiuderanno al momento del ricalcolo, sono gli ordini di mercato che contiamo da più a meno per tenere conto correttamente di aperti e chiusi nello stesso tick. Penso di sì)
Anche il codice di Alexey calcola in modo errato?
Non l'ho provato. Lo proverò ora. Vi farò sapere.
Se è semplice, da controllare rapidamente, è qualcosa del genere:
Gli ordini di solito si susseguono nel tempo, ma questo non è garantito. Pertanto, la cronologia dovrebbe essere controllata. Ma andrà bene per gli esperimenti.
L'ho controllato e ho avuto un sacco di errori durante la compilazione, li ho risolti tutti, tranne il :
if(profit>max)
Questa linea non la capisco bene. Può spiegarlo?
L'idea è di cambiare il biglietto dopo aver raggiunto un certo profitto
Il max è il limite del profitto dopo il quale il biglietto cambia. Il valore è impostato da voi.
Il max è il limite del profitto dopo il quale il biglietto cambia. Il suo valore è impostato da voi.
Il problema è diverso, se ho capito bene. Ci sono 1, 2 e 3 ordini. Non so come si formano i prezzi aperti. L'ordine 3 è chiuso, il profitto totale è uguale al profitto dell'ordine 3. Cioè dobbiamo calcolare il biglietto per l'ordine aperto prima dell'ordine 3. Allora l'ordine 2 è chiuso. Dovremmo trovare il biglietto dell'ordine aperto prima dell'ordine 2. Il profitto totale è uguale al profitto degli ordini 2 e 3.
Non capisco perché, ma sembra essere la logica).
Valery, non ho capito bene la logica di queste due frasi.
Forum sul trading, sistemi di trading automatico e test di strategia
FAQ da principianti MQL4 MT4 MetaTrader 4
makssub, 2021.09.01 16:38
Dovrei usare la prima funzione per trovare il ticket d'ordine richiesto e la seconda funzione dovrebbe calcolare il profitto di tutti gli ordini chiusi che seguono quel ticket. Non mi interessa il profitto di quelli precedenti. Ma il secondo non lo calcola correttamente. Quando un ordine viene aperto queste 2 funzioni vengono chiamate e quindi dovrebbe essere uguale a 0, ma non lo è.
PS ha seguito il tuo consiglio, rinunciando agli array)
12° box sopra)
Ho pensato a tutto e l'ho fatto mio in base ai vostri consigli)
Il compito era quello di coprire un ordine perdente con altri ordini in profitto.
Lo abbiamo implementato. Abbiamo memorizzato il biglietto dell'ordine aperto dopo quello perdente; questo era il nostro punto di segnalazione. Dopo questo punto, iniziamo a calcolare il profitto dell'ordine in perdita e il profitto degli ordini chiusi dopo di esso. Vi ricordo che il primo ordine è aperto e lo chiudiamo quando raggiunge un profitto.
se ( (CalculateProfitHistory() + FirstProfit() >= Profitto)
{
CloseFirst();
Stampa ("Chiudere il primo ordine perdente");
}