[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 188
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
Cerco di calcolare gli swap, ma non funziona
Ecco il codice che produce gli swap degli ultimi 20 scambi.
for ( int j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) {
OrderSelect(j, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()==OP_BUY)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPLONG)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
if(OrderType()==OP_SELL)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPSHORT)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
}
Per qualche motivo la differenza è un multiplo di 10.
Cioè, lo swap calcolato è 10 volte superiore a quello reale.
Non posso nemmeno indovinare cosa c'è di sbagliato qui.
MarketInfo(OrderSymbol(),MODE_SWAPTYPE) restituisce uno, quindi
"Metodo di calcolo degli swap 1 - nella valuta di base dello strumento;"
Prendo il valore di swap in pip, che restituisce
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
Moltiplico questo valore per Bid,
*MarketInfo(OrderSymbol(),MODE_BID)
poi a la dimensione del lotto
*OrderLots()
e moltiplicando per il valore di un punto nella valuta di deposito di un lotto
*MarketInfo(OrderSymbol(),MODE_TICKVALUE)
I valori restituiti sono:
LOTTO EURGBP = 0.46000000 SWAP REALE = -1.31000000 SWAP STIMATO -13.05244609
Per favore, ditemi come fare))
doppio MA1,MA2;
MA1=iMA(....,0);
MA2=iMA(....,3);
se (MA1-MA2>Point)//MA guarda in alto
se (MA1-MA2,-Point)//MA guarda in basso
Moltiplico questo valore per Bid,
*MarketInfo(OrderSymbol(),MODE_BID)
A cosa serve quello?
Per favore, ditemi come fare))
doppio MA1,MA2;
MA1=iMA(....,0);
MA2=iMA(....,3);
se (MA1-MA2>Point)//MA guarda in alto
se (MA1-MA2,-Point)//MA sta guardando in basso
Grazie mille))
A cosa serve questo?
Non sono riuscito a trovare una descrizione di ciò che restituisce
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
Ho fatto una conclusione che questo è EUR dimensione del punto in EURGBP quotazione , così ho moltiplicato per BID per ottenere quanto è in GBP
Il punto è che
MarketInfo(OrderSymbol(),MODE_TICKVALUE)
Restituisce il valore del punto per lotto solo per GBP nella quotazione EURGBP, non per EUR.
Non ho trovato da nessuna parte una descrizione di ciò che il valore restituisce
Per qualche motivo continuavo a pensare che tutti i calcoli fossero nella valuta del deposito.
Funzione MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Restituisce un valore intero di -2, lo stesso di tutti gli altri ordini. Quindi presumo che questo sia il valore dei punti.
Supponiamo che questo sia il valore dello swap espresso in pip della nostra valuta di deposito.
Valuta di deposito = USD
Moltiplicare
MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Per numero di lotti
*OrderLots()
Moltiplicare anche per il valore di un pip della nostra valuta di deposito per lotto
*10
Ottenere
SWAP = -9.20000000
Invece di
SWAP REALE = -1.31000000
Funzione MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Restituisce un valore intero di -2, lo stesso di tutti gli altri ordini. Quindi, presumo che questo sia il valore dei pip.
Per EURGBP restituisce 0 (questo è Alpari) per short e -0.68 per long e questo è esattamente in dollari.
Per dirla in modo crudo: