Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 84

 
paladin80 :

Negatif giden paslar gösterilmez. Sağ fare ile herhangi bir optimizasyon sonucuna tıklayın ve "Gereksiz sonuçları atla" seçeneğinin işaretini kaldırın.




Bu optimizasyonla ilgili değil.

tek sınav.

ve farklı sekmelerdeki sonuçları yukarıda belirttiğim gibi 30'a kadar farklılık gösteriyor

 
lottamer :


Bu optimizasyonla ilgili değil.

tek sınav.

ve farklı sekmelerdeki sonuçları yukarıda belirttiğim gibi 30'a kadar farklılık gösteriyor

Sorunlu alanları olan raporun bir baskı ekranını buraya atın, göreceğiz. Veya tüm raporu indirin.
 

Sevgili programcılar, bu noktayı açıklayın, işte Para Yönetimi lotunun hesaplandığı algoritma, ancak sorun şu ki, açmak için 0.01'den daha azına ihtiyaç olduğunu anlar anlamaz, yani. kabul edilebilir, daha sonra doğal olarak Sıra Gönderme Hatasını takip eder ve hoşçakalın, algoritma gerektirse bile 0.01'den az lot açmak için ne gireceğimi söyleyin.

 double GetSizeLot()
{  
   if (MM== false ) 
      MMLot=Lots;
      
   if (MM== true )
     {
      MMLot=((AccountFreeMargin()*TradeLotRiskPercent)/ 100000 );
     }
   return (MMLot);
}
 
ZahvatkiN :

Sevgili programcılar, bu noktayı açıklayın, işte Para Yönetimi lotunun hesaplandığı algoritma, ancak sorun şu ki, açmak için 0.01'den daha azına ihtiyaç olduğunu anlar anlamaz, yani. kabul edilebilir, daha sonra doğal olarak Sıra Gönderme Hatasını takip eder ve hoşçakalın, algoritma gerektirse bile 0.01'den az lot açmak için ne gireceğimi söyleyin.

1. Normalleştirmek gereklidir.

2. Ve minimum lotu sabitleyin.

MMLot= NormalizeDouble ( MathMax ((AccountFreeMargin()*TradeLotRiskPercent)/ 100000 , MinLot ), 2 );
 
ZahvatkiN :

Sevgili programcılar, bu noktayı açıklayın, işte Para Yönetimi lotunun hesaplandığı algoritma, ancak sorun şu ki, açmak için 0.01'den daha azına ihtiyaç olduğunu anlar anlamaz, yani. kabul edilebilir, daha sonra doğal olarak Sıra Gönderme Hatasını takip eder ve hoşçakalın, algoritma gerektirse bile 0.01'den az lot açmak için ne gireceğimi söyleyin.

 double GetSizeLot( double TradeLotRiskPercent)
{  
   double MMLot, MinLot, MaxLot;
   //---
   MinLot=MarketInfo( Symbol (),MODE_MINLOT);
   MaxLot=MarketInfo( Symbol (),MODE_MAXLOT);
   //---
   MMLot=AccountFreeMargin()*TradeLotRiskPercent)/ 100000 ;
   if (MMLot<=MinLot) return (MinLot);
   if (MMLot>=MaxLot) return (MaxLot);
   else 
   {  MMLot= NormalizeDouble (MMLot, 2 );
       return (MMLot);
   }
}

Hesaplama formülünüzde, MMLot 100.000'e bölünür.Büyük olasılıkla, 1:100 kaldıraç ve lot büyüklüğünün 100.000 temel para birimi (örneğin USD) olduğu normal bir hesap için hesaplarsınız. Böyle bir Expert Advisor'ı bir cent hesabına (lot = 10.000) ve/veya farklı bir kaldıraçla atarsanız, lotu saymak yanlış olacaktır. Bu yapıyı deneyin:

 double GetSizeLot( double TradeLotRiskPercent)
{  
   double MMLot, MinLot, MaxLot;
   int     LotSize, Leverage;
   //---
   MinLot  =MarketInfo( Symbol (),MODE_MINLOT);
   MaxLot  =MarketInfo( Symbol (),MODE_MAXLOT);
   LotSize =MarketInfo( Symbol (),MODE_LOTSIZE);
   Leverage=AccountLeverage();
   //---
   MMLot=AccountFreeMargin()*TradeLotRiskPercent)/ 100 *Leverage/LotSize;
   if (MMLot<=MinLot) return (MinLot);
   if (MMLot>=MaxLot) return (MaxLot);
   else 
   {  MMLot= NormalizeDouble (MMLot, 2 );
       return (MMLot);
   }
}
 
Kaldıraç 1:500 ve TradeLotRiskPercent = 10 ile Alpari_ECN_Live hesabında paladin80, yani . 1000$ depozitonun %10'u, lotlar 0,5'ten açılmaya başlar Bu, bu formülün yalnızca 1:100 kaldıraç için tasarlandığı anlamına gelir. Anladığım kadarıyla, herhangi bir kaldıraç ve hesap için evrensel bir kod yok mu?
 
ZahvatkiN :
Kaldıraç 1:500 ve TradeLotRiskPercent = 10 ile Alpari_ECN_Live hesabında paladin80, yani . 1000$ depozitonun %10'u, lotlar 0,5'ten açılmaya başlar Bu, bu formülün yalnızca 1:100 kaldıraç için tasarlandığı anlamına gelir. Anladığım kadarıyla, herhangi bir kaldıraç ve hesap için evrensel bir kod yok mu?
Bana göre 2. formülüm (23.08.2013 07:30'dan itibaren) lotu doğru hesaplıyor. 1000$'ın %10'unu = 100$'ı (teminat) görün, 1:500 kaldıraçla, komisyoncu size 50.000$'lık bir anlaşma açma fırsatı verir. Komisyoncudaki 1 lot 100.000 $, o zaman 50.000 $'ınız 0,5 lottur.
MMLot=AccountFreeMargin()*TradeLotRiskPercent)/ 100*Kaldıraç/LotBoyutu
MMLot=1000*10/100 * 500/100000 = 100 * 500/100000 = 50000 / 100000 = 0,50
 
paladin80 :
Bana göre 2. formülüm (23.08.2013 07:30'dan itibaren) lotu doğru hesaplıyor. 1000$'ın %10'unu = 100$'ı (teminat) görün, 1:500 kaldıraçla, komisyoncu size 50.000$'lık bir anlaşma açma fırsatı verir. Komisyoncudaki 1 lot 100.000 $, o zaman 50.000 $'ınız 0,5 lottur.
MMLot=AccountFreeMargin()*TradeLotRiskPercent)/ 100*Kaldıraç/LotBoyutu
MMLot=1000*10/100 * 500/100000 = 100 * 500/100000 = 50000 / 100000 = 0,50

Formülün kendisi hatasız hesaplar, sadece teoride 1000'in %10'u 0,1'dir ve 0,5 değildir) Neden 0,5 olduğu açıktır. kaldıraç 1:500, kaldıraç 1:100 olsaydı, sadece 0.1 lot açardı, bu nedenle soru ortaya çıkıyor, herhangi bir kaldıraç ve hesap türü için evrensel bir lot hesaplama algoritması var mı, yoksa her biri için ayrı bir algoritması var mı?
[Silindi]  

Sevgili forum kullanıcıları, okun koordinatlarını bulmama yardım edin

string arrowName=ZamanToStr(Zaman[i]);

ObjectCreate (okAdı+ "Ok",...);

Bir göstergeye dayalı bir danışman yapıyorum ve iCustom'da oklar alıyorum, ancak en son olanlardan birkaçının koordinatlarını nasıl bulacağımı anlamıyorum.

 
nazar77 :
lütfen göstergeyi derlemeye yardım edin. kod çözme benden daha ileri gitmeyecek, garanti ederim.
Banyoya, adnaznachna !!!