保証金の割合からロットを正しく計算すること - ページ 4 12345678910 新しいコメント GoaL 2014.04.05 13:54 #31 皆さん、ご協力、ご参加ありがとうございました...。これが私の "苦悩 "の結果です。 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; } 難しいことではないと思いますが、アドバイスがなければできなかったことです。 Correct calculation of the コーディングのヘルプが必要 MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 keekkenen 2014.04.05 14:31 #32 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%の場合ですが、これは常に大きくなるため間違いで、注文は早く閉じられます)。したがって、与えられた条件に対して正しいロットを正しく計算する助けにならないため、すべての計算は価値がなく、ストップロスによって注文が正しく機能するようにします。 Correct calculation of the どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - [ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. Victor Nikolaev 2014.04.05 15:12 #33 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); } keekkenen 2014.04.05 16:14 #34 ロットを数えるという発想は、すべて同じところから生まれ、雨後の筍のように似ているようだ......。(自分を批判しているようですが...) ロット計算機能が何をカウントし、何を考慮すべきなのか、頭を使って考えてほしい。提案された選択肢は批判に耐えないので...。 GoaL 2014.04.05 16:53 #35 才能のある人のために説明すると...。currMove - これはpipLotsピップを渡すときに失われた割合のお金での値です(1000ピップ(5桁)のストロークで1000クォードのための預金の2%が$ 20になります)... さすがにこれは......さあ、計算しよう double currMove=deposSize*proc/100 = 1*100/100 = 1; 私たちは1ポンドを持っています 。 つまり、この条件で1バーツの損失を出した人がいるとしたら、そのトレーダーの極端さに感心するしかない--この場合、彼は50ポンド分の預金があるのだから......。もし誰かが負けた状態で1バックを得たとしたら、私はそのトレーダーの極端さに感心するしかない--その場合、彼は50ドルの預金を持っているのだから......。 以下の投稿文の議論は無意味だと思うのですが...。荒らしに反論するのは失礼だし、不用心だから。 光栄です。 Александр 2014.04.05 17:55 #36 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%の 損失を持ちます)。 :-) GoaL 2014.04.05 18:00 #37 EverAlex: double currMove=deposSize*proc/100 = 1*100/100 =1 一般に、預金は$50ではなく$1であることを意味します(そして100%の 損失があります)。 さてこのような預金で、神速!? Александр 2014.04.05 18:12 #38 Vinin: double CalcLotSize(double Lot,double lRisk,int lSL=0) 何のためのLotなのか? とか、iSLは どのように測定されているのか(上記ではトレーディング・シンボル・ポイントについてだったと思う)。 ...(lSL*dLotCost*dLotStep))*dLotStep; ということは、取引記号のポイント数(MODE_POINT)ではなく、LOTSTEPsで表示されるのですか? それとも何? Victor Nikolaev 2014.04.05 23:39 #39 EverAlex: 何のためのLotなのか? とか、iSLは 何で測るのか(上のほうではトレーディングシンボルポイントの話だったような)とか。 ...(lSL*dLotCost*dLotStep))*dLotStep; ということは、取引記号のポイント数(MODE_POINT)ではなく、LOTSTEPsで表示されるのですか? それとも何? これが、リスク調整ロットの算出です。ストップが発動されたときに、預けた金額のうちいくら損をするか Александр 2014.04.06 08:20 #40 Vinin: これは、リスクを考慮したロットの計算です。ストップがかかったときに、預金のどの部分が失われるのか したがって、lSLはSLに何点か ポイント=0.00001(5桁の相場の場合) dLotStep = 0.01 式(lSL*dLotCost*dLotStep)*dLotStepでOK (lSL*dLotCost*Point))*dLotStepの ようなものであるべきです。 12345678910 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
皆さん、ご協力、ご参加ありがとうございました...。これが私の "苦悩 "の結果です。
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%の場合ですが、これは常に大きくなるため間違いで、注文は早く閉じられます)。したがって、与えられた条件に対して正しいロットを正しく計算する助けにならないため、すべての計算は価値がなく、ストップロスによって注文が正しく機能するようにします。
ロットを数えるという発想は、すべて同じところから生まれ、雨後の筍のように似ているようだ......。(自分を批判しているようですが...)
ロット計算機能が何をカウントし、何を考慮すべきなのか、頭を使って考えてほしい。提案された選択肢は批判に耐えないので...。
才能のある人のために説明すると...。currMove - これはpipLotsピップを渡すときに失われた割合のお金での値です(1000ピップ(5桁)のストロークで1000クォードのための預金の2%が$ 20になります)...
さすがにこれは......さあ、計算しよう
double currMove=deposSize*proc/100 = 1*100/100 = 1; 私たちは1ポンドを持っています 。
つまり、この条件で1バーツの損失を出した人がいるとしたら、そのトレーダーの極端さに感心するしかない--この場合、彼は50ポンド分の預金があるのだから......。もし誰かが負けた状態で1バックを得たとしたら、私はそのトレーダーの極端さに感心するしかない--その場合、彼は50ドルの預金を持っているのだから......。
以下の投稿文の議論は無意味だと思うのですが...。荒らしに反論するのは失礼だし、不用心だから。
光栄です。
才能のある人のために説明すると...。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%の 損失を持ちます)。
:-)
double currMove=deposSize*proc/100 = 1*100/100 =1 一般に、預金は$50ではなく$1であることを意味します(そして100%の 損失があります)。
さてこのような預金で、神速!?
Vinin:
何のためのLotなのか?
とか、iSLは どのように測定されているのか(上記ではトレーディング・シンボル・ポイントについてだったと思う)。
...(lSL*dLotCost*dLotStep))*dLotStep; ということは、取引記号のポイント数(MODE_POINT)ではなく、LOTSTEPsで表示されるのですか?
それとも何?何のためのLotなのか?
とか、iSLは 何で測るのか(上のほうではトレーディングシンボルポイントの話だったような)とか。
...(lSL*dLotCost*dLotStep))*dLotStep; ということは、取引記号のポイント数(MODE_POINT)ではなく、LOTSTEPsで表示されるのですか?
それとも何?これが、リスク調整ロットの算出です。ストップが発動されたときに、預けた金額のうちいくら損をするか
これは、リスクを考慮したロットの計算です。ストップがかかったときに、預金のどの部分が失われるのか
したがって、lSLはSLに何点か
ポイント=0.00001(5桁の相場の場合)
dLotStep = 0.01
式(lSL*dLotCost*dLotStep)*dLotStepでOK
(lSL*dLotCost*Point))*dLotStepの ようなものであるべきです。