Oh, ecco il più delizioso in "Sala lettura" è apparso, leggiamo cosa e come ...
Soprattutto da un tale autore. :)
Mi piacerebbe anche vedere la funzione di calcolo degli swap: ci sono 5 tipi di swap e ognuno ha le sue sfumature.
A volte non si arriva al punto giusto con il metodo scientifico.
Ho trovato tre varianti tramite selezione, ma c'è ancora SYMBOL_SWAP_MODE_BY_INTEREST. Non posso verificarlo perché non riesco a trovare un broker con questo metodo di calcolo.
Per favore, se c'è la possibilità di pubblicare nel CodeBase la funzione di calcolo dello swap per la valuta e il lotto specificati, ve ne saremo grati.
Mi piacerebbe anche vedere la funzione di calcolo degli swap: ci sono 5 tipi di swap e ognuno ha le sue sfumature.
A volte non si arriva al punto giusto con il metodo scientifico.
Ho trovato tre varianti tramite selezione, ma c'è ancora SYMBOL_SWAP_MODE_BY_INTEREST. Non posso verificarlo perché non riesco a trovare un broker con questo metodo di calcolo.
Per favore - se c'è la possibilità di pubblicare nel CodeBase la funzione di calcolo dello swap per la valuta e il lotto specificati - ve ne saremo grati.
Если даже торговля на данном счете разрешена, то это еще не означает, что эксперт имеет право торговать. Чтобы проверить, разрешено ли торговать эксперту, пишем:
Quali sono i casi in cui il trading è consentito, ma l'Expert Advisor non può operare?
Si tratta di un divieto del broker o delle impostazioni del terminale?
Per analogia con il punto 4 : - " ...se l'esperto è autorizzato a negoziare e il flusso per le operazioni di trading è libero..."
Cioè IsTradeAllowed = IsExpertEnabled + IsTradeContextBusy ?
Articolo interessante e necessario! Ho provato a verificare le formule contenute nell'articolo e questo è il risultato. Prendiamo come esempio EURGBP. La valuta del conto è in dollari. La coppia di valute più vicina è EURUSD, cioè mode=true. Utilizziamo le formule dell'articolo per determinare il margine richiesto:
if(direction==POSITION_TYPE_BUY)
{
//--- citazione inversa
if(mode)
{
//--- conteggio al prezzo di acquisto per la quotazione inversa
calc_price=tick.ask;
answer=lot*lot_size*calc_price;
}
...
if(direction==POSITION_TYPE_SELL)
{
//--- citazione inversa
if(mode)
{
//--- conteggio per prezzo di vendita per la quotazione inversa
calc_price=tick.bid;
answer=lot*lot_size*calc_price;
}
In altre parole, quando si acquista, secondo l'articolo, il margine richiesto dovrebbe essere:
ACQUISTO: margine = lotto*dimensione_lotto*tick_ask/leva
e quando si vende:
VENDERE: margine = lotto*dimensione_lotto*tick_offerta/leva
Codifichiamo queste formule in un semplice EA e cerchiamo di vendere e acquistare EURUSD con fondi bassi in anticipo, in modo che la metatrader ci dica quale margine è necessario. Allo stesso tempo, produciamo il nostro margine calcolato. Riceviamo questi messaggi dal tester:
2010.07.06 16:34:01 Core 1 no enough money [instant sell 0.10 EURGBP at 0.82227 sl: 0.83296 tp: 0.79796]
2010.07.06 16:34:01 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.91, NewFreeMargin: -112.91 - margine calcolato dal tester
2010.07.06 16:34:01 Core 1 Errore: denaro insufficiente. Margine libero = 10, margine richiesto = 122,899 - margine calcolato da noi.
2010.07.06 16:34:01 Core 1 non ci sono abbastanza soldi [ acquisto istantaneo di 0,10 EURGBP a 0,81247 sl: 0,80191 tp: 0,82988]
2010.07.06 16:34:01 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.72, NewFreeMargin: -112.72 - margine calcolato dal tester
2010.07.06 16:34:01 Core 1 Errore: denaro insufficiente. Margine libero = 10, margine richiesto = 122,737 - margine calcolato da noi.
C'è una differenza. Ora cambiamo la formula per il calcolo del margine richiesto in
ACQUISTO: margine = lotto*dimensione_lotto*tick_offerta/leva
VENDERE: margine = lotto*dimensione_lotto*tick_ask/leva
che contraddice l'articolo. Riceviamo questi messaggi dal tester:
2010.07.06 16:39:49 Core 1 no enough money [instant sell 0.10 EURGBP at 0.82227 sl: 0.83296 tp: 0.79796]
2010.07.06 16:39:49 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.91, NewFreeMargin: -112.91 - margine calcolato dal tester
2010.07.06 16:39:49 Core 1 Errore: denaro insufficiente. Margine libero = 10, margine richiesto = 122.911 - margine calcolato da noi
2010.07.06 16:39:49 Core 1 non ci sono abbastanza soldi [instant buy 0.10 EURGBP a 0.81247 sl: 0.80191 tp: 0.82988]
2010.07. 06 16:39:49 Core 1 errore: non ci sono abbastanza soldi.06 16:39:49 Core 1 PrevBalance: 10.00, PrevEquity 10.00, PrevMargin: 0.00, NewMargin: 122.72, NewFreeMargin: -112.72 - margine calcolato dal tester
2010.07.06 16:39:49 Core 1 Errore: denaro insufficiente. Margine libero = 10, margine richiesto = 122,722 - margine calcolato da noi
.
In questo caso il margine calcolato dall'Expert Advisor con il metodo "sbagliato" è esattamente uguale a quello calcolato dal tester. Risulta che sia nel tester che nell'articolo il bid e l'ask vengono riorganizzati quando si calcolano cross come EURGBP. Chi ha ragione: l'articolo o il tester?
L'articolo è buono e utile per me.
Sia per la comprensione che per il risparmio di tempo. Grazie
Non capisco cosa si ottiene con questa funzione.
Se l'importo della garanzia richiesta, il valore del contratto non dovrebbe essere diviso per la leva?
- www.mql5.com
L'articolo è buono e utile per me.
Sia per la comprensione che per il risparmio di tempo. Grazie
Non capisco cosa si ottiene con questa funzione.
Se la dimensione della garanzia richiesta, allora il valore del contratto non dovrebbe essere diviso per la leva?
Se l'importo del margine richiesto, non dovrebbe essere diviso il valore del contratto per la leva finanziaria?
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Il nuovo articolo Funzioni di Money Management in un Expert Advisor è stato pubblicato:
Lo sviluppo delle strategie di trading si focalizza principalmente sulla ricerca di modelli per entrare ed uscire dal mercato, oltre a mantenere delle posizioni. Se siamo in grado di formalizzare alcuni modelli in regole per il trading automatizzato, il trader affronta la questione del calcolo del volume delle posizioni, della grandezza dei margini e del mantenimento di un livello sicuro di fondi ipotecari per assicurare le posizioni aperte in una modalità automatizzata . In questo articolo, utilizzeremo il linguaggio MQL5 per costruire semplici esempi di eseguire questi calcoli.
Tutte le funzioni descritte sono riportate nel codice dell'Expert Advisor Symbol_Info.mq5. La figura seguente illustra l'output di informazioni sul simbolo EURUSD, utilizzando la funzione Comment().
Autore: MetaQuotes