MetaTraderを使ってFXの完全自動売買をしています。FX業者はBroco。
<< 6/22〜26のリアル取引結果 | main | 6/29〜7/3のリアル取引結果 >>
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | | - | - | pookmark |
[EA Tip 8] 常に資金の2%で注文する
StopLossを固定しておいて,lotSizeを計算させる方法です。複利でロット数を変化させたい場合です。

  int StopLoss = 100;  // Pips
  double Risk = 2.0;  // %
  double tickValue = MarketInfo(Symbol(),MODE_TICKVALUE);  // pip value ( example: USD per 1 pip per 1 lot)
  double lotSize = NormalizeDouble(AccountFreeMargin()*Risk/100/(StopLoss*tickValue),2);

ここでのポイントは,MODE_TICKVALUEを使うことです。
tickValueは,1ロットで取引するとき,1 pipが何USDの変動に相当するかを表しています。
私の場合はInstaforexでUSDで決済していますので「USD」と書きましたが,円で決済している口座でも基本的な考え方は同じです。

tickValueは取引業者,決済通貨,レバレッジでも変わりますので,実際にご自分のMetaTraderで確かめてみてください。
ちなみに私の場合,下のような結果でした。Brocoで計算すると,全てのtickValueは10倍になっていると思います(レバレッジ1:100)。

  tickValue  通貨ペア (Instaforex,レバレッジ1:100)

   1.0000    EURUSD
      1.0000    GBPUSD
      1.0000    AUDUSD
      1.0505    USDJPY    (USDJPY=95.19のとき。実際,1/95.19=0.010505)
      1.6522    EURGBP   (EURGBP=0.8506のとき。説明は省略。)
      0.9232    USDCHF   (USDCHF=1.0832のとき。実際,1/1.0832=0.9232)

で,最初に書いた方法を使うと,リスクに応じたロット数を自動的に計算してくれます。根底にあるのは次の基本式です。

 (ストップ幅pip数)×(1ロット,1 pip当たりの決済通貨変動値)×(ロット数)=(余裕資金)×((リスク%)/100)

説明は特に要りませんよね。

逆に,ロット数を固定しておいて,StopLossを変える方法もあります。やりかたはどうあれ,2%のリスクを取るという観点からみればどちらも同じです。



 ↓よろしければ是非クリックをお願いします
にほんブログ村 為替ブログ FX初心者本人へ 


| ☆のんき☆ | EA作成Tips | 12:20 | comments(0) | trackbacks(1) | pookmark |
スポンサーサイト
| スポンサードリンク | - | 12:20 | - | - | pookmark |









http://nonki777.jugem.jp/trackback/50
MT4用EA開発時代 − ロット数の計算(サイジング)プログラミングについて
ブログ記事を書く際に、参考にさせていただき、リンクを張らせていただきました。 貴重な内容の記事、大変助かりました。
| FXシステムトレード初心者奮闘記 | 2011/05/16 11:33 AM |
CATEGORIES
CALENDAR
SMTWTFS
   1234
567891011
12131415161718
19202122232425
262728    
<< February 2017 >>
おすすめリンク
PROFILE
SELECTED ENTRIES
ARCHIVES
RECENT COMMENTS
RECENT TRACKBACK
クリックお願いします
カウンター
SPONSORED LINKS
MOBILE
qrcode
RECOMMEND
このページの先頭へ