[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 188
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
takası hesaplamaya çalışıyorum ama olmuyor
İşte son 20 işlemin takaslarını gösteren kod.
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));
}
Fark neden 10'un katı?
Yani hesaplanan takas gerçek olandan 10 kat daha fazladır.
Burada neler olduğunu anlayamıyorum.
MarketInfo(OrderSymbol(),MODE_SWAPTYPE) döndürür birim , daha sonra orada
"Swap hesaplama yöntemi 1 - enstrümanın temel para biriminde;"
Geri dönen noktalarda takas değerleri alıyorum
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
Bu değeri Bid ile çarpıyorum,
*MarketInfo(OrderSymbol(),MODE_BID)
o zamanlar üzerinde boyut çok güzelsin
*OrderLots()
ve bir noktanın değeriyle çarpın mevduat para biriminde bir lottan
*MarketInfo(OrderSymbol(),MODE_TICKVALUE)
Aşağıdaki değerler döndürülür:
EURGBP LOT = 0.46000000 GERÇEK TAKAS = -1.31000000 TAKAS TASARIMI -13.05244609
Lütfen bana nasıl yapıldığını söyle
çift MA1,MA2;
MA1= iMA (....,0);
MA2=iMA(....,3);
eğer (MA1-MA2>Nokta)//MA yukarı bakarsa
(MA1-MA2,-Nokta)//MA aşağı bakarsa
Bu değeri Bid ile çarpıyorum,
*MarketInfo(OrderSymbol(),MODE_BID)
Bu ne için?
Lütfen bana nasıl yapıldığını söyle
çift MA1,MA2;
MA1=iMA(....,0);
MA2=iMA(....,3);
eğer (MA1-MA2>Nokta)//MA yukarı bakarsa
(MA1-MA2,-Nokta)//MA aşağı bakarsa
Çok teşekkürler))
Bu ne için?
Dönen değerin tanımını hiçbir yerde bulamadım
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
Bunun EUR puanlarının büyüklüğü olduğu sonucuna vardım. EURGBP teklifinde , yani GBP cinsinden ne kadar olduğunu bulmak için BID ile çarptım
Gerçek şu ki
MarketInfo(OrderSymbol(),MODE_TICKVALUE)
Özellikle GBP için lot başına bir pip değerini döndürür EURGBP teklifinde, EUR için değil.
Dönen değerin tanımını hiçbir yerde bulamadım
Nedense bana her zaman tüm hesaplamalar mevduat para biriminde yapılmış gibi geldi.
İşlev MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Diğer tüm siparişlerde olduğu gibi -2 tamsayı değerini döndürür. Bu nedenle, bunun puanların değeri olduğunu varsayıyorum.
Mevduat para birimimizin puan cinsinden ifade edilen swap değerinin bu olduğunu varsayalım.
Para birimi depozito = USD
Çarpmak
MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
lot sayısı için
*OrderLots()
Ayrıca, bir lotta mevduat para biriminin bir puanının maliyeti ile çarpıyoruz.
*10
alırız
TAKAS = -9.20000000
Yerine
GERÇEK TAKAS = -1.31000000
İşlev MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Diğer tüm siparişlerde olduğu gibi -2 tamsayı değerini döndürür. Bu nedenle, bunun puanların değeri olduğunu varsayıyorum.
Benim için EURGBP için - 0 (bu Alpari) kısa ve -0.68 uzun döndürür ve bu tam olarak dolar cinsindendir.
Kabaca şöyle konuşursak: