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
Soruyu doğru anladıysam, bu sizin için işi yapacak.
çift serbest = AccountFreeMargin();
çift potansiyel_kayıp,
çift toplam_potencial_loss = 0
çift pip, lot_size;
çift yüzde_depo = 5;
potencial_loss = (OrderLots() * (OrderOpenPrice() - OrderStopLoss()))*100000;
sum_potencial_loss = long_sum_potencial_loss + long_potencial_loss;
lot_size = ((((free-long_sum_potencial_loss) * yüzde_depo)/100.0)/pips)/100000 ;
Teşekkürler ama formül zaten bende, sadece puan değerini düzeltmem gerekiyor çünkü USD değil EUR hesabım var.Kod şu:
Ve Noktayı TICKVALUE* TICKSIZE ile değiştirmem gerekiyor, böylece şöyle görünecek
Eğer biri bu fikrin doğru olduğunu onaylayabilirse, o zaman sorun çözülmüştür sanırım. O yüzden lütfen bana çabuk yardım edin ve ardından Mutlu Noeller!
Kodunuzu kaldırdım. . . .
Yardımın için teşekkürler.
Teşekkürler ama formül zaten bende, sadece puan değerini düzeltmem gerekiyor çünkü USD değil EUR hesabım var.Kod şu:
Ve Noktayı TICKVALUE* TICKSIZE ile değiştirmem gerekiyor, böylece şöyle görünecek
Eğer biri bu fikrin doğru olduğunu onaylayabilirse, o zaman sorun çözülmüştür sanırım. O yüzden lütfen bana çabuk yardım edin ve ardından Mutlu Noeller!
Onaylayamıyorum ama Alert(); ile hata ayıklamayı öneriyorum. bunun gibi ?
veya
Ve bunu kendiniz onaylayacaksınız.
Yardımın için teşekkürler.
Onaylayamıyorum ama Alert(); ile hata ayıklamayı öneriyorum. bunun gibi ?
veya
Ve bunu kendiniz onaylayacaksınız.
Hayır, demek istediğim WHRoeder'ın önerdiği gibi TICKVALUE* TICKSIZE veya TICKVALUE/ TICKSIZE kullanmak doğru, çünkü * orada daha mantıklı görünüyor. O halde hangisi doğru, hesabım EUR olduğu için bakarız. temel para birimi teklif değil mi?
Proximus : WTF guys, shouldnt that be TICKVALUE * TICKSIZE instead of TICKVALUE /TICKSIZE ? I think there is a big mistake there
TickValue 10$ ve Ticksize=0,0001 ise. Orada, eğer piyasa 0,0020 hareket ederse, değer 10$/0,0001 * 0,0020=200$ / lot başına olur. Pip başına 10$ * 20 pip / lot başına.
TickValue $1 ve Ticksize=0.00001 ise. Orada, piyasa 0,0020 hareket ederse, değer yine de 1$/0,00001 * 0,0020=200$/lot başına olur. Burada hata yok.
Tamam, (maks) HACİM BOYUTU HESAPLAMA adımları bunlar olmalıdır:
(yanılıyorsam lütfen düzeltin ^_^)
AccountMoneyRisk = AccountMoney * Risk%
AccountCounterQuote = Alıntı(AccountCurrency/CounterCurrency)
CounterCurrencyRisk = AccountMoneyRisk * AccountCounterQuote
PipValue = CounterCurrencyRisk / StopLoss
LotTickValue = LotSize * TickSize
Hacim = PipValue * LotTickValue
Misal:
Hesap Para Birimi: EUR
Döviz Çifti: GBPUSD
Temel Para Birimi: GBP
Karşı Para Birimi: USD
Hesap Parası: 5000 EUR
Risk: %1
StopLoss: 200 pip (Karşı Para Birimi)
LotSize: 100000 (Karşı Para Birimi)
Kene Boyutu: 0.00001
AccountMoneyRisk = AccountMoney * Risk% = 5000 EUR * %1 = 50 EUR
AccountCounterQuote = Alıntı(AccountCurrency/CounterCurrency) = Alıntı(EUR/USD) = 1.5000
CounterCurrencyRisk = AccountMoneyRisk * AccountCounterQuote = 50 EUR * 1.5000 = 75 USD
PipValue = CounterCurrencyRisk / StopLoss = 75 / 200 = 0,375
LotTickValue = LotSize * TickSize = 100000 * 0.00001 = 1 USD
Hacim = PipDeğeri * LotTickValue = 0,375 * 1 USD = 0,375
Bu, CounterCurrency'in AccountCurrency ile aynı olduğunu ve spread'i içermediğini varsayar ve hatalı olarak bir pip == 5 haneli bir komisyoncu üzerinde bir nokta ve bu ticksize == noktası olduğunu varsayar.
Şart değil. Hesap Bakiyesi * yüzde = RİSK = (OrderOpenPrice - OrderStopLoss)*DIR * OrderLots * DeltaPerlot (Not OOP-OSL, SPREAD'i içerir)
Tamam, bu son sürüm, lütfen doğru olup olmadığını onaylayın, benim durumumda açıkça çalışmadığı halde neden DeltaPerlot şeylerinizde ısrar ettiğinizi anlamıyorum, çünkü EUR hesabım var.
Bu benim parti boyutlandırma fonksiyonum:
- STOPSLIP, mevcut stoplevel+SPREAD'e X miktarında pip ekler
- TICKVALUE * TICKSIZE kullanıyorum çünkü USD değil EUR hesabım var, bu nedenle 5 haneli brokerimde pip değerinin 0,00001 yerine 0,00001 olması mantıklı çünkü EUR döviz kurunda sayılıyor
Bu yüzden lütfen birisi doğru olup olmadığını teyit edebilir veya değilse lütfen formülümü düzeltin, bana diğer gönderilere bağlantılar vermeyin, çünkü onları anlamıyorum, sadece LOT() işlevimi düzeltin ve o zaman mutlu olurum, lütfen yardım edin !Bu, parantezleri çözmeye çalışırken bana bir baş ağrısı veriyor!
Dürüst olmak gerekirse, burada neyi başarmaya çalıştığınız konusunda kesinlikle hiçbir fikrim yok.
MODE_STOPLEVEL veya SPREAD'in ne kadar alakalı olduğunu göremiyorum, elbette hesaplamalarınızı mevcut fiyattan stop-loss mesafesine dayandırmalısınız?
Hesap para biriminin ne olduğu fark etmemelidir, TICKVALUE hesap para biriminde olduğu için hesaplama aynı olmalıdır.
Lütfen unutmayın, kod satırınızı 2 satıra koyarak yazı o kadar geniş değil ve sağa sola kaydırmadan okumayı kolaylaştırıyor :)