保証金の割合からロットを正しく計算すること - ページ 4

 

皆さん、ご協力、ご参加ありがとうございました...。これが私の "苦悩 "の結果です。

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;

}

難しいことではないと思いますが、アドバイスがなければできなかったことです。

 

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE));// するとロット計算そのものが行われる

これぞクール......そして、カウントダウン。

double currMove=deposSize*proc/100 = 1*100/100 = 1; 私たちは1ポンドを持っています。

currName = "EURUSD"

MarketInfo(currName,MODE_TICKVALUE) = 0.1(5桁気配値用

pipsLoss = 1000

ということになります。

double lotCount=currMove/(pipsLoss*MarketInfo(currName,MODE_TICKVALUE))となります。= 1 /(1000*0.1) = 0.01

はすべてうまくいっているように見えます(マージンは1ロットあたり68.53)、もしpipsLoss = 100なら、 lotCount = 0.1、しかしそれには十分なマージンがありません - 0.1には6.853必要で、1ポンドあります...。

一方、最初のケースでは、1ポンドを持っていて、1000ピップのストップで開くと、0.31ポンドが残ることになります。

1000pipsのストップロスの注文が999pipsのドローダウンに耐えられるだけの資金があるのだろうか。

すなわち、310pipsの損失を出した場合、注文はストップアウトで閉じられます(これはストップアウトが0%の場合ですが、これは常に大きくなるため間違いで、注文は早く閉じられます)。したがって、与えられた条件に対して正しいロットを正しく計算する助けにならないため、すべての計算は価値がなく、ストップロスによって注文が正しく機能するようにします。

 
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);
  }
 

ロットを数えるという発想は、すべて同じところから生まれ、雨後の筍のように似ているようだ......。(自分を批判しているようですが...)

ロット計算機能が何をカウントし、何を考慮すべきなのか、頭を使って考えてほしい。提案された選択肢は批判に耐えないので...。

 

才能のある人のために説明すると...。currMove - これはpipLotsピップを渡すときに失われた割合のお金での値です(1000ピップ(5桁)のストロークで1000クォードのための預金の2%が$ 20になります)...

さすがにこれは......さあ、計算しよう

double currMove=deposSize*proc/100 = 1*100/100 = 1; 私たちは1ポンドを持っています

つまり、この条件で1バーツの損失を出した人がいるとしたら、そのトレーダーの極端さに感心するしかない--この場合、彼は50ポンド分の預金があるのだから......。もし誰かが負けた状態で1バックを得たとしたら、私はそのトレーダーの極端さに感心するしかない--その場合、彼は50ドルの預金を持っているのだから......。

以下の投稿文の議論は無意味だと思うのですが...。荒らしに反論するのは失礼だし、不用心だから。

光栄です。

 
gochu:

才能のある人のために説明すると...。currMove - これはpipLotsピップを渡すときに失われた割合のお金での値です(1000ピップ(5桁)のストロークで1000クォードのための預金の2%が$ 20になります)...

さすがにこれは......さあ、計算しよう

double currMove=deposSize*proc/100 = 1*100/100 = 1; 私たちは1ポンドを持っています

つまり、この条件で1バーツの損失を出した人がいるとしたら、そのトレーダーの極端さに感心するしかない--この場合、彼は50ポンド相当の預金を持っているのだから......。もし誰かが負けた状態で1バックを得たとしたら、私はそのトレーダーの極端さに感心するしかない--その場合、彼は50ドルの預金を持っているのだから......。

以下の投稿文の議論は無意味だと思うのですが...。荒らしと議論するのは失礼であり、不用意であるからだ。

光栄です。

double currMove=deposSize*proc/100 = 1*100/100 =1 一般的に預金は$50ではなく$1であることを意味します(そして100%の 損失を持ちます)。

:-)

 
EverAlex:
double currMove=deposSize*proc/100 = 1*100/100 =1 一般に、預金は$50ではなく$1であることを意味します(そして100%の 損失があります)。

さてこのような預金で、神速!?

 

Vinin:

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


何のためのLotなのか?

とか、iSLは どのように測定されているのか(上記ではトレーディング・シンボル・ポイントについてだったと思う)。

...(lSL*dLotCost*dLotStep))*dLotStep; ということは、取引記号のポイント数(MODE_POINT)ではなく、LOTSTEPsで表示されるのですか?

それとも何?
 
EverAlex:

何のためのLotなのか?

とか、iSLは 何で測るのか(上のほうではトレーディングシンボルポイントの話だったような)とか。

...(lSL*dLotCost*dLotStep))*dLotStep; ということは、取引記号のポイント数(MODE_POINT)ではなく、LOTSTEPsで表示されるのですか?

それとも何?

これが、リスク調整ロットの算出です。ストップが発動されたときに、預けた金額のうちいくら損をするか
 
Vinin:

これは、リスクを考慮したロットの計算です。ストップがかかったときに、預金のどの部分が失われるのか

したがって、lSLはSLに何点か

ポイント=0.00001(5桁の相場の場合)

dLotStep = 0.01


(lSL*dLotCost*dLotStep)*dLotStepでOK

(lSL*dLotCost*Point))*dLotStepの ようなものであるべきです。