Come ottenere la "Percentuale di margine" programmaticamente - pagina 9

 
K-2SO:

Tanto di cappello, l'hai quasi azzeccata! In tutti e tre i broker precedentemente esaminati con diverse percentuali di margine, il calcolo per l'oro (per ordini in una direzione) è corretto.

Ma il copione fallisce ancora con gli esotici. Mi sono fermato al broker fxcm. Il margine percentuale per l'oro è 70000, per le coppie di valute convenzionali è 130, la valuta del margine sembra essere USD. E niente sta contando correttamente da nessuna parte! (. Io stesso ho cercato la chiave per due giorni, e infatti come risultato di questo sto ora cercando una risposta alla domanda, come mai come risultato dei calcoli delle valute di base e dei loro tassi con le valute delle quotazioni, si ottiene la valuta di margine... Forse è questo, o forse è il fatto che questo broker tiene conto della percentuale di margine anche per le normali coppie di valute.

Potete scaricare il terminale qui ru.files.fm/u/xfezz883#_ , decomprimerlo, eseguire il file exe, avviare la demo...

Ho aperto una demo, anche due, uno non ha oro, l'altro XAUUSD con la percentuale di margine 70000 e il lotto standard 1. E la ragione non è il calcolo corretto nel

percentage = NormalizeDouble(
                             margin          // Маржа получена в валюте депозита с учётом плеча
                           /(contractSize    // Размер контракта в базовой валюте
                            *price           // Умножаем на текущую цену и получаем в валюте депозита
                            /100)            // Это для того чтобы коэффициент перевести в проценты
                           *(calcMode == 0 ? leverage : 1) // Это получено методом научно-технического тыка.
                                    // Если способ расчёта 0 - Forex; то надо учесть плечо
                                    //                     1 - CFD; то плечо не учитывается
                                    //                     2 - Futures; 3 - CFD на индексы НЕ проверялись, их у меня нету...
                           , 0);

sperimentate voi stessi queste linee.

      percentage = NormalizeDouble(margin/(contractSize*price/100)*(calcMode == 0 ? leverage : 1), 0);
      orderMargin = (orderLots*contractSize*orderOpenPrice*percentage/100)/(calcMode == 0 ? leverage : 1);

Se mi annoio, forse sperimenterò anche io.

 
Alexey Viktorov:

Le croci non sono un problema da calcolare. Basta prendere una quotazione che traduce la valuta del margine nella valuta del deposito.

Per esempio il prezzo di EURJPY

Se il deposito è in USD, dovresti usare EURUSD. CADJPY dovrebbe essere calcolato usando USDCAD. Qui dovremmo vedere come aggiungere la valuta di deposito alla valuta di margine, non dovremmo semplicemente inserirla nella lista.

Quelli del contatore non sono così difficili avendo MarketInfo(symbol, MODE_MARGINHEDGED). L'unico problema è trovare prima il contatore, e poi decomporre una parte del contatore e il resto completamente...

In generale, vedo che l'unico vantaggio di questo articolo è che il trader sa in anticipo quale margine sarà preso quando l'ordine pendente è attivato e rimuove l'ordine pendente in tempo se non ci sono abbastanza soldi. Una volta ho lottato con questo quando ho piazzato un EA nel mercato.

2017.06.06 18:00:01.890 Script vik2 XAUUSD,H1: removed
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: uninit reason 0
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: ******** AccountMargin = 12.93 USD
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: ******** Процент маржи 1 Маржа ордера XAUUSD 1.0 = 12.933
2017.06.06 18:00:01.875 vik2 XAUUSD,H1: initialized
2017.06.06 18:00:01.859 Script vik2 XAUUSD,H1: loaded successfully
2017.06.06 17:59:51.593 Compiling 'vik2'

leva 100

 
Alexey Viktorov:

Ho aperto una demo, anche due, una non ha oro, l'altra ha XAUUSD con una percentuale di margine di 70000 e un lotto standard di 1. E il motivo del calcolo errato è

Beh, è di questo che tratta l'intero argomento... e penso che non ci sia un calcolo universale dopo tutto)
 

E poi nelle coppie di valute normali nel metodo di calcolo del Forex, si deve tenere conto della percentuale?

2017.06.06 18:09:54.640 Script vik2 EURUSD,H1: removed
2017.06.06 18:09:54.640 vik2 EURUSD,H1: uninit reason 0
2017.06.06 18:09:54.640 vik2 EURUSD,H1: ******** AccountMargin = 1295.77 USD
2017.06.06 18:09:54.640 vik2 EURUSD,H1: ******** Процент маржи 115 Маржа ордера EURUSD 1.0 = 1295.774
2017.06.06 18:09:54.640 vik2 EURUSD,H1: initialized
2017.06.06 18:09:54.625 Script vik2 EURUSD,H1: loaded successfully


 
K-2SO:
Beh, è di questo che tratta l'intero argomento... e non credo che ci sia un calcolo unico per tutti).
Perché no? C'è un link nella prima pagina con le formule. Può essere suddiviso in diversi algoritmi a seconda di come viene effettuato il calcolo. Quello che ho suggerito sperimentando questo è fondamentalmente sbagliato, non perdete il vostro tempo. Devi andare dall'altra parte.
 
Alexey Viktorov:
Perché no? C'è un link nella prima pagina dove sono disponibili le formule. Può essere suddiviso in diversi algoritmi a seconda di come viene effettuato il calcolo. Quello che ho suggerito di sperimentare è fondamentalmente sbagliato, non perdere il tuo tempo. Devi andare dall'altra parte.
Ho provato queste formule sul metodo di calcolo FOREX, niente funziona correttamente sull'ultimo broker, anche per EURUSD.
 
K-2SO:
Ho provato queste formule sul metodo di calcolo FOREX, sull'ultimo broker niente funziona correttamente, nemmeno per EURUSD.
Come mai non funziona? Il mio script usa le formule da lì e sembra funzionare per forex e cfd. I futures e gli indici sono calcolati con formule diverse e non le ho usate.
 
Alexey Viktorov:
Come mai non funziona? Nel mio script, le formule vengono da lì e sembrano funzionare per forex e cfd. Ma i futures e gli indici sono calcolati con formule diverse e non li ho usati.
Vi ho dato degli screenshot sopra di come funzionano...
 
K-2SO:
Vi ho dato degli screenshot sopra di come funzionano...
Giusto. Il mio script conta il margine per i CFD e il forex, e i tuoi screenshot sono per i futures, le cui formule sono sulla stessa pagina.
 
Alexey Viktorov:
Giusto. Il mio script calcola il margine per CFD e forex, e i tuoi screenshot sono per i futures, le cui formule sono sulla stessa pagina.

Da dove ha tratto questa conclusione?^ ^


Il modo di calcolare il margine per XAUUSD, anche Forex... lì il profitto è futures, non quello che stiamo cercando di calcolare.