Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 10

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
C'è un modo per calcolare il margine coperto?
Grazie per il suggerimento! Nel deserto è SymbolInfoMarginRate. Quindi ora è così
double GetMarginRequired( const string Symb )
{
}
Dobbiamo essere chiari sul fatto che in MT5 ci possono essere requisiti di margine molto diversi in diverse direzioni. Cioè una singola variante di MT4 potrebbe non funzionare. Sul Forex, ovviamente, questo non sarà il caso. Ma dovete ricordare. Quindi, in generale, si dovrebbe scrivere così
bool MyOrderCalcMargin( const ENUM_ORDER_TYPE action, const string symbol, const double volume, const double price, double &margin )
{
}
Grazie mille! Ora funziona dappertutto senza problemi.
Mi chiedo se la funzione"MyOrderCalcMargin" è ancora in commercio, e se sì, come fare per commercializzarla almeno nel tester)
Penso che si possa calcolare tutto tramite le funzioni Symbol.
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Bug, bug, domande
fxsaber, 2017.02.28 10:48
Metaquotes-Demo, conto USD, RTS-3.17.
TickValue dà un valore sbagliato - in rubli, non nella valuta del conto (USD).
FxPro-ECN. I simboli GOLD e GOLDEURO hanno lo stesso TickValue. Anche se, ovviamente, dovrebbero essere diversi nei tempi di EURUSD.
Scherzo di MT5 su FIBOGroup-MT5 Server SGDJPY
In questa situazione MyOrderCalcMargin calcola correttamente, mentre il normale OrderCalcMargin no!
La funzione normale conta in conformità con la specifica del contratto specificato nelle impostazioni dello strumento - con la valuta di margine NOK, rispettivamente, per un lotto è preso 1000 NOK.
Probabilmente conti come dividere il nome della coppia di valute SGDJPY - ottieni 1000 SGD per un lotto.
Di conseguenza, il problema è l'errata specificazione del contratto da parte dell'intermediario. Contattate il broker del server appropriato.
Cioè per rendere tutti gli OrderSend sincronizzati con l'ambiente di trading ed evitare trabocchetti, è sufficiente rendere il codice sorgente dato come un file mqh e fare #include corrispondente nei vostri programmi.
Puoi smettere di ballare con il tamburello.
SD mi ha detto che dalla prossima build OrderSend() funzionerà correttamente :)
La funzione regolare conta secondo la specifica del contratto specificata nelle impostazioni dello strumento - con la valuta di margine NOK, rispettivamente, per un lotto ci vogliono 1000 NOK.
Nel tuo caso, deve essere una divisione della coppia di valute SGDJPY - per un lotto 1000 SGD è addebitato.
Di conseguenza, il problema è l'errata specificazione del contratto da parte dell'intermediario. Contattate il broker del server appropriato.
La MT5 ha un meccanismo interno nascosto che può convertire qualsiasi valuta nella valuta del conto. In questo caso OrderCalcMargin 1000 NOK converte nel numero appropriato di USD e lo emette.
Per favore, rendete pubblico questo meccanismo. Per esempio,
Questi tassi di cambio sono disponibili al 100% nel terminale, poiché OrderCalcMargin li calcola. Il loro lavoro è particolarmente evidente sui conti MetaQuotes-Demo USD quando si prendono i simboli FORTS - la loro valuta di margine è in RUR.
Questo è particolarmente rilevante a causa del chip/bug TickValue
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Bug, bug, domande
fxsaber, 2017.02.28 10:48
Metaquotes-Demo, conto USD, RTS-3.17.
TickValue dà un valore sbagliato - in rubli, non nella valuta del conto (USD).
FxPro-ECN. I simboli GOLD e GOLDEURO hanno lo stesso TickValue. Anche se, ovviamente, dovrebbero essere diversi nei tempi di EURUSD.
Возвращает количество действующих ордеров.
int OrdersTotal();
Возвращаемое значение
Значение типа int.
Примечание
Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.
Смотри также
OrderSelect(), OrderGetTicket(), Свойства ордеров
" ordini pendenti attivi", e NON ordini pendenti attivi , cosa sono?
Ciao, sto leggendo la documentazione:
Возвращает количество действующих ордеров.
int OrdersTotal();
Возвращаемое значение
Значение типа int.
Примечание
Не следует путать между собой действующие отложенные ордера и позиции, которые также отображаются на вкладке "Торговля" в панели "Инструменты". Ордер – это распоряжение на проведение торговой операции, а позиция является результатом одной или нескольких сделок.
При "неттинговом" учете позиций (ACCOUNT_MARGIN_MODE_RETAIL_NETTING и ACCOUNT_MARGIN_MODE_EXCHANGE) по каждому символу в любой момент времени может быть открыта только одна позиция, которая является результатом одной или более сделок. Не следует путать между собой позиции и действующие отложенные ордера, которые также отображаются на вкладке "Торговля" в панели "Инструменты".
При независимом представлении позиций (ACCOUNT_MARGIN_MODE_RETAIL_HEDGING) по каждому символу одновременно может быть открыто несколько позиций.
Смотри также
OrderSelect(), OrderGetTicket(), Свойства ордеров
" ordini pendenti validi", e NON ordini pendenti validi , cosa sono?
Ordini in sospeso - bystop, sellstop, bylimit e bystop.
Posizioni - comprare e vendere.
Non attivo - ordini cancellati e posizioni chiuse.
Ordini in sospeso - bystop, sellstop, bylimit e bystop.
Posizioni - comprare e vendere.
Non attivo - ordini cancellati e posizioni chiuse.
Dato che un ordine è un ordine per eseguire un'operazione commerciale, solo gli ordini in sospeso possono essere considerati come "ordini attivi", mentre le posizioni di acquisto e vendita non sono ordini per eseguire un'operazione commerciale. O mi "manca qualcosa"?