EA開発 複利設定の記述方法
- hamuo
- 2020年4月18日
- 読了時間: 3分
こんにちは。
当サイトの管理人 "はむお" です。
この記事では、自作EAで複利運用を実現させる方法について
紹介したいと思います。

目次
◇複利設定の記述方法
◇複利・単利の違い(バックテスト結果)
◇複利設定の記述方法
複利の機能を持たせるには、口座の "残高情報" を取得して、 ・残高が増えれば、Lotを大きく ・残高が減れば、Lotを小さく という風に、残高にLotサイズを連動させることで、
実現させることができます。 (以下では、利確と損切の設定も連動させるようにしています) 簡単ですが例を以下に記載します
===============================================
~変数~
extern double Lot = 0; //注文数
extern int AC_Profit = 0; //利益設定(単位:円 (円口座の場合))
extern int AC_Loss = 0; //損切設定(単位:円 (円口座の場合))
extern int com1 = 100000; //口座残高(単位:円)
extern int com2 = 1000; //利益設定(単位:円)
extern double com3 = 0.01; //注文数
extern int com4 = -10000; //損切設定(単位:円)
int start()
//複利設定ここから
double Lots;
if( Lot==0 )
{
Lots=NormalizeDouble((AccountBalance() * com3) / com1,2);
}
//利益設定
double AC_Profit_s;
if( AC_Profit==0 )
{
AC_Profit_s=NormalizeDouble((AccountBalance() * com2) / com1,0);
}
else AC_Profit_s=AC_Profit;
//損切設定
double AC_Loss_s;
if( AC_Loss==0 )
{
AC_Loss_s=NormalizeDouble((AccountBalance() * com4) / com1,0);
}
else AC_Loss_s=AC_Loss;
//---複利設定ここまで---
===============================================
<AccountBalance()は口座残高を取得します>
動作説明: 数値"ゼロ"を入れるかどうかで、単利と複利を切り替える事が出来ます。
単利で運用したい場合:
Lot、AC_Profit、AC_Loss へ "所望の数値" を入力します。
注文数や利確・損切の値は、入力された数値で固定されます(=単利です)
複利で運用したい場合:
Lot、AC_Profit、AC_Loss へ "ゼロ" を入力します。
com1:初期の口座残高を入力します。
com2:初期の利確設定値を入力します。
com3:初期の注文数を入力します。
com4:初期の損切設定値を入力します。
もし Lot、AC_Profit、AC_Loss が "ゼロ" であれば、com1~4の初期値を使って
Lot、AC_Profit、AC_Lossに、計算結果を入れます。
残高が10万→20万へ増えた場合は、Lotでは、0.01→0.02と
切り替わります。利確と損切の値も同様に連動します。
あとは、注文を入れる部分で、Lots、AC_Profit_s、AC_Loss_s を使えばOKです。
Lotはゼロとし、AC_ProfitとAC_Lossは何らかの数値で固定とした場合は、 Lotだけが残高に連動して変動していくことになります。
もっとスマートな方法もあるかもしれません(ありましたら教えてください(;^ω^))

◇複利・単利の違い(バックテスト結果)
単利と複利とで、資産がどう変わってくるのか?をバックテストで 確認してみました。下記はどちらも同じEAで、期間も同じです。 ~単利の場合~

~複利の場合~

単利設定の場合は、緩やかに上がっていくのに対して、複利設定の場合は、
後半にグンと上がっている感じです。(一部、損切でへこんでいますが(-_-;))
また、Lotが変動しているため、画面下に "数量" が出ています。
後半この数量も増えていくのが見えています。
安定して好調なEAであれば複利で運用すると良いかもしれませんね!?
(Lotサイズ、利確・損切幅、それぞれ残高に連動させている場合は、
リスクをいつまでも "一定" にとり続けている ということでもありますので、
マージンを徐々に増やしていきたい場合は、最初から単利で行くか、複利設定を
適宜、見直していくことが必要と良いと思います)

Opmerkingen