% mevduattan doğru lot hesaplaması - sayfa 4

 

Yardımlarınız ve katılımınız için hepinize teşekkür ederim ... "İşkencemin" sonucunu gönderiyorum

double lotSize(double deposSize=1000.0, string currName="USDCHF", double proc=2.0, int pipsLoss=1000)

{

double currMove=deposSize*proc/100;// расчет процента от величины, предположительно, депозита

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE));//ну а тут и ведеться сам расчет лота

if(lotCount<MarketInfo(currName,MODE_MINLOT))

{

return MarketInfo(currName,MODE_MINLOT);

}

return NormalizeDouble(lotCount,2);

//return lotCount;

}

O kadar zor görünmüyor, ama tavsiye olmadan baş edemezdim.

 

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE));//iyi, lotun hesaplandığı yer burası

çok daha havalı değil .. ve şimdi düşünüyoruz

double currMove=deposSize*proc/100 = 1*100/100 =1; 1 dolarımız var

currName = "EURUSD"

5 basamaklı tırnak için MarketInfo(currName,MODE_TICKVALUE) = 0.1

pipKayıp = 1000

toplam sahip olduğumuz

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE)) = 1 /(1000*0.1) = 0.01

her şey yolunda görünüyor ( marj lot başına 68.53'tür) , pipsLoss = 100 ise lotCount = 0.1, ancak marj bunun için yeterli değil - 0.1'in 6.853'e ihtiyacı var ve 1 dolarımız var..

Öte yandan, ilk durumda, 1 dolar olan ve 1000 puanlık stop ile açılış, kovanın 0,31'i olarak kalacaktır.

Merak ediyorum, bu fonlar 1000 puanlık stop loss'lu bir sipariş için 999 puanlık düşüşten sağ çıkmak için yeterli olacak mı, bunun olacağından şüpheliyim,

çünkü 0.01 lotlu 1 puanın maliyeti 0,001 olacaktır, dolayısıyla 0,31/0,001 = 310 puan, yani. eksi 310 puanla, sipariş stopout ile kapatılacaktır (bu, stopout% 0 ise, ancak değildir, çünkü her zaman daha büyüktür, yani siparişin daha da erken kapanacağı anlamına gelir), bu nedenle tüm hesaplamalar değersiz çünkü. verilen koşullar altında doğru partinin doğru hesaplanmasına izin vermezler, böylece siparişin stoploss'a göre doğru çalışması sağlanır.

 
double CalcLotSize(double Lot,double lRisk,int lSL=0)
  {
   string lSymbol=Symbol();
   double dLotMin    = MarketInfo(lSymbol, MODE_MINLOT        );
   double dLotMax    = MarketInfo(lSymbol, MODE_MAXLOT        );
   double dLotStep   = MarketInfo(lSymbol, MODE_LOTSTEP       );


   double dLot=Lot;

   if(lRisk>0)
     {
      if(lSL>0)
        {
         double dLotCost=MarketInfo(lSymbol,MODE_TICKVALUE);
         dLot=MathRound(AccountFreeMargin()*lRisk*0.01/(lSL*dLotCost*dLotStep))*dLotStep;
        }
      else
        {
         double dLotMargin=MarketInfo(lSymbol,MODE_MARGINREQUIRED);
         dLot=MathRound(AccountFreeMargin()*lRisk *0.01/(dLotMargin*dLotStep))*dLotStep;

        }
     }

   if(dLot<dLotMin) dLot=dLotMin;

   if(dLot>dLotMax) dLot=dLotMax;

   return(dLot);
  }
 

Görünüşe göre partiyi hesaplamak için tüm fikirler tek bir yerden büyüyor ve yağmurdan sonra mantar gibi görünüyor .. (aynı şekilde eleştirildi ..)

Neyin hesaplanması gerektiğini ve lot hesaplama fonksiyonunun neleri dikkate alması gerektiğini kendi kafanızla düşünmek daha iyidir, çünkü. önerilen seçenekler incelemeye dayanmıyor ...

 

Üstün zekalılar için açıklayacağım... currMove, pipLot puanları geçerken kaybedilen yüzdenin parasal değeridir (1000 piplik (5 karakter) bir hamle ile 1000 dolar için depozitonun %2'si 20$ olacaktır).

çok daha havalı değil .. ve şimdi düşünüyoruz

double currMove=deposSize*proc/100 = 1*100/100 =1; 1 dolarımız var

yani, eğer biri bu koşullar altında 1 dolar kaybederse, o zaman tüccarın aşırılığına hayran kalmalıyım - bu durumda, 50 dolarlık bir depozitosu var ... Ben, biraz önce, referans şartlarını da yazdım çok da absürt değil... kişisel olarak bundan sonra, forex için özellikle önemli olan, fazla dikkat etmeyen bir kişiyle tartışmaya değer mi bilmiyorum...

Gönderinin metnindeki sonraki tartışmayı anlamsız buluyorum ... çünkü bu trollerle tartışmak gibi ve hatta o kadar dikkatsiz ki kendilerine saygı duymuyorlar.

onur bende.

 
gochu :

Üstün yetenekliler için açıklayacağım ... currMove, pipLots puanları geçerken kaybedilen yüzdenin parasal değeridir (1000 pip (5 karakter) bir hamle ile 1000 dolar için depozitonun% 2'si 20 $ olacaktır) ..

çok daha havalı değil .. ve şimdi düşünüyoruz

double currMove=deposSize*proc/100 = 1*100/100 =1; 1 dolarımız var

yani, eğer biri bu koşullar altında 1 dolar kaybederse, o zaman tüccarın aşırılığına hayran kalmalıyım - bu durumda, 50 dolarlık bir depozitosu var ... Ben, biraz önce, referans şartlarını da yazdım çok da absürt değil... kişisel olarak bundan sonra, forex için özellikle önemli olan, fazla dikkat etmeyen bir kişiyle tartışmaya değer mi bilmiyorum...

Gönderinin metnindeki sonraki tartışmayı anlamsız buluyorum ... çünkü bu trollerle tartışmak gibi ve hatta o kadar dikkatsiz ki kendilerine saygı duymuyorlar.

onur bende.

double currMove=deposSize*proc/100 = 1*100/100 =1 genellikle depozitonun 50$ değil 1$ olduğu anlamına gelir (ve %100 kayıp dahildir)

:-)

 
EverAlex :
double currMove=deposSize*proc/100 = 1*100/100 =1 genellikle depozitonun 50$ değil 1$ olduğu anlamına gelir (ve %100 kayıp dahildir)

Peki .... böyle bir depozito ile, Tanrı yardımcın olsun!

 

Vinin :

 double CalcLotSize( double Lot, double lRisk, int lSL= 0 )


Lot neden burada?

ve iSL nasıl ölçülür (yukarıdaki gibi, bir ticaret sembolünün noktalarından bahsediyorduk)?

...(lSL*dLotMaliyeti*dLotAdım))*dLotAdım; ticaret sembol noktalarında (MODE_POINT) değil, LOTTEP'lerde olduğu anlamına mı geliyor?

veya nasıl?
 
EverAlex :

Lot neden burada?

ve iSL neyle ölçülür (yukarıdaki gibi, bir ticaret sembolünün noktalarından bahsediyorduk)?

...(lSL*dLotMaliyeti*dLotAdım))*dLotAdım; ticaret sembol noktalarında (MODE_POINT) değil, LOTTEP'lerde olduğu anlamına mı geliyor?

veya nasıl?

Bu risk bazlı lot hesaplamasıdır. Durdurma tetiklendiğinde depozitonun hangi kısmını kaybedersiniz?
 
Vinin :

Bu risk bazlı lot hesaplamasıdır. Durdurma tetiklendiğinde depozitonun hangi kısmını kaybedersiniz?

Bu nedenle, lSL, SL'ye kaç puan

Nokta = 0.00001 (5 haneli tırnak için)

dLotAdım = 0.01


Formül (lSL*dLotCost* dLotStep ))*dLotStep - Tamam

(lSL*dLotCost* Point ))*dLotStep gibi bir şey olmalı