[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 434
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
È possibile calcolare il capitale minimo utilizzando i dati storici degli ordini?
.
Capire una cosa - cosa è specificato in "dati storici degli ordini"? Ti interessa il prezzo di chiusura, se è profitto o perdita per l'ordine selezionato...? e allora? La cronologia degli ordini non mostra l'ammontare della perdita del conto nel capitale (la perdita corrente) quando l'ordine è stato sul mercato, cioè la perdita alla chiusura può ammontare, diciamo, a 500 unità della valuta ma verrebbe mostrata nella cronologia degli ordini mentre il capitale potrebbe essere sceso a -1000 unità della valuta quando l'ordine era sul mercato. Nota: lo Strategy Tester calcola le perdite sul capitale.
La risposta alla sua domanda: non si può.
Buona giornata!
I professionisti aiutano - non vado da nessuna parte senza di voi!
Ho già affrontato questo problema, ma non ho trovato l'errore, volevo davvero capirlo da solo, mi sono scervellato per qualche giorno, ma finora non ho molta esperienza.
La discussione precedente si è conclusa con l'idea che forse la ragione è nel codice degli indicatori che sto cercando di usare.
Ho scritto un indicatore (sono i miei primi passi) che visualizza la ripartizione di ME_Proboy_F5
Il problema è ..... L'indicatore non viene ridisegnato quando si formano nuove barre e viene azzerato sull'ultima barra dopo la ricezione di un tick. Viene ridisegnato se si cambia il tf o si visualizzano le proprietà.
L'indicatore richiede i dati di altri indicatori, tutti tranne uno ME_Proboy_F_5 (metto anche il suo codice) funziona bene. Non riesco a trovare alcun errore anche nel secondo indicatore. L'indicatore viene ridisegnato, ma è lento, cioè viene visualizzato correttamente al secondo riavvio (cambiare il FF o le proprietà di visualizzazione).
Sarei molto grato per l'aiuto.
Proboy_Order_F5 - questo è l'indicatore principale, sul quale chiedo
ME_Proboy_F5 - il secondo, che è dubbio
Mi dispiace continuare a tormentarvi con la mia domanda, ma voglio davvero arrivare in fondo alla questione.
Applicare la funzione limit=MathMin(Bars-1, Bars-counterd_bars-1) non ha risolto il problema, ma ho seguito le raccomandazioni, ho lavorato sullo stile di programmazione, spero abbia funzionato, mi sono liberato delle variabili inutili.
Vedi sopra per l'essenza del problema
Una cosa che dovreste capire - cosa è specificato in "dati storici degli ordini"? Ti interessa il prezzo di chiusura, il profitto o la perdita su un ordine selezionato...? E allora? La cronologia degli ordini non mostra l'ammontare della perdita del conto nel capitale (perdita corrente) quando l'ordine è stato sul mercato, cioè la perdita alla sua chiusura può ammontare, diciamo, a 500 unità della valuta ma verrebbe mostrata nella cronologia degli ordini mentre il capitale potrebbe essere sceso a -1000 unità della valuta quando l'ordine era sul mercato. Nota: il tester della strategia calcola la perdita sul capitale.
La risposta alla sua domanda: non si può.
Tuttavia, c'è un indicatore https://c.mql5.com/mql4/forum/2010/11/Equity_v7.zip dove l'equità è in qualche modo calcolata sulla base di dati storici. Non ho ancora capito come farlo. Forse, l'equità può essere calcolata in base ai punti chiave (chiusura degli ordini), ma come appare sotto forma di una formula unica?
Ecco il codice con la condizione che gli ordini devono essere cancellati dopo la scadenza del tempo, questa è la condizione
MyCurrentTime >= OrderExpiriation && OrderMagicNumber() == MagicNumber
Allora, perché se inseriamo questa condizione nel primo operatore if, allora l'altro operatore situato al suo interno non considera questa condizione?
Cioè, questo codice non funziona e cancella tutti gli ordini pendenti in una volta sola.
E questo codice funziona e non cancella gli ordini in una volta sola.
Ecco il codice con la condizione che gli ordini devono essere cancellati dopo la scadenza del tempo, questa è la condizione
Allora, perché se inseriamo questa condizione nel primo operatore if, allora l'altro operatore situato al suo interno non considera questa condizione?
Cioè, questo codice non funziona e cancella tutti gli ordini pendenti in una volta sola.
E questo codice funziona e non cancella gli ordini in una volta sola.
Entrambi i codici non sono corretti, quindi analizzo il tuo codice e non so cosa sia corretto/sbagliato.
Prendiamo l'esempio più semplice. Hai 2 ordini che devono essere rimossi.
1) for(int counter=0;counter<OrdersTotal();counter++)
l'inizio di un buon 0 è inferiore a due e il primo ordine è tranquillamente rimosso, ma poi
2)
contatore = 1, ma c'è solo un ordine rimasto! Significa che la condizione (1<1) non è soddisfatta, e il ciclo termina...
Notate che entrambi i codici non sono corretti, quindi non so cosa funziona bene/sbagliato per voi.
Prendiamo l'esempio più semplice. Hai 2 ordini, entrambi devono essere cancellati.
1) for(int counter=0;counter<OrdersTotal();counter++)
Il buon 0 è meno di due e il primo ordine è stato cancellato con successo, ma poi
2)
contatore = 1, ma c'è solo un ordine rimasto! Significa che la condizione (1<1) non è soddisfatta e il ciclo termina...
No, ma è questo il punto, a questo punto cancella TUTTI gli ordini, in modo pulito. Il problema è che li cancella immediatamente.
Buon pomeriggio!
Ho scritto un indicatore (questi sono i miei primi passi) che mostra chiaramente la ripartizione di ME_Proboy_F5
Buoni i primi passi, Olga Alexandrovna. 330 linee di codice
Tuttavia, c'è un indicatore https://c.mql5.com/mql4/forum/2010/11/Equity_v7.zip dove l'equità è in qualche modo calcolata sulla base di dati storici. Non ho ancora capito il metodo. Forse, l'equità può essere calcolata in base ai momenti chiave (chiusura degli ordini), ma come si presenta sotto forma di formula?
Familiarizzate con i concetti di EQUITÀ e BILANCIO e quali sono le loro differenze.
Questo indicatore mostra l'equity line in tempo reale, poiché l'equity line è l'attuale profitto/perdita sulle posizioni non chiuse, "È possibile determinare realmente l'equity per punti chiave (chiusure di ordini)" - non è possibile, quindi si considererà il cambiamento dell'equity line sulle posizioni chiuse.
"L'equità è in qualche modo calcolata sulla base di dati storici" - no. Questo indicatore calcola la linea del capitale per il momento attuale - per le posizioni aperte nel mercato.
Buonasera, ho trovato questo nel tutorial di S. Kovalev, ma nel terminale MT4 non c'è altro che "bau! Per favore, consigliatemi, chi sa dove prendere in prestito una serie di segnali sonori per diverse operazioni, in modo da non dover continuare a guardare il computer tutto il tempo? Grazie per un possibile suggerimento!