Pine講座㉚ バックテスト|算出した取引量で売買する 教育
U.S. Dollar/Japanese YenFXCM
詳細
⋅ 前回までに算出した取引量で売買していきます。
といっても、
予め用意された引数に「計算した取引量」
渡してあげるだけなので、何にも難しいことはありません。
更新した箇所のみ、解説を入れます。
=====
//@version=4
strategy( "MovingAvg2Line Cross" ,initial_capital=100000 )
fastLength = input( 9 )
slowLength = input( 18 )
price = close
balance = strategy.initial_capital + strategy.netprofit
accountValue = balance + strategy.openprofit
amount_rate = 0.005
atr = ema( tr ,20 )
//取引量を算出
//今回はここで1000通貨に丸める
amount = round( ( ( balance * 0.005 ) / atr ) / 1000 ) * 1000
mafast = sma( price ,fastLength )
maslow = sma( price ,slowLength )
if ( crossover( mafast ,maslow ) )
//取引量を追加
strategy.entry( "MA2CrossLE" ,strategy.long ,amount ,comment="MA2CrossLE" )
if ( crossunder( mafast, maslow ) )
//取引量を追加
strategy.entry( "MA2CrossSE" ,strategy.short ,amount ,comment="MA2CrossSE" )
plot( balance )
=====
チャート上の売買の箇所に「+9000」「-12000」などの
数字がありますが、これが取引量を表しています。
前回までのバックテストと、取引量が違うことが分かると思います。
(前回までは、一括して「資金量の関係ない取引量」が指定されている)
コメント
⋅ かなり複雑になるので割愛しますが、
time などと組み合わせると、
一定期間ごとの福利(一定期間内は単利)等の検証も出来ます。
次回以降は、他の手法のバックテストに移っていきます!!
pine script を実際に記述してみると version毎の仕様の違いに戸惑います。
上位互換には決してなっていないですね。
日本語のドキュメントでこれが整理して記載されている記事が見当たりません。
機会があれば教えていただけると助かります。