前回までに取得した「残高」から
取引量を算出するコードです。
残高とATRをもとに取引量を調整していきます。
小次郎講師やタートルズの資金管理ですね。
次回は、この取引量をもとに売買します。
追加した箇所を解説してます。
=====
//@version=4
//initial_capitalで元金を指定
strategy( "MovingAvg2Line Cross" ,initial_capital=100000 )
fastLength = input( 9 )
slowLength = input( 18 )
price = close
balance = strategy.initial_capital + strategy.netprofit
//投資金の0.5%をトレードに充てる
amount_rate = 0.005
//ATRを算出
atr = ema( tr ,20 )
//ATRと残高をもとに取引量を算出
amount = ( balance * 0.005 ) / atr
mafast = sma( price ,fastLength )
maslow = sma( price ,slowLength )
if ( crossover( mafast ,maslow ) )
strategy.entry( "MA2CrossLE" ,strategy.long ,comment="MA2CrossLE" )
if ( crossunder( mafast, maslow ) )
strategy.entry( "MA2CrossSE" ,strategy.short ,comment="MA2CrossSE" )
//1000通貨単位に丸めて描画
plot( round( amount / 1000 ) * 1000 )
=====
取引量を算出するコードです。
残高とATRをもとに取引量を調整していきます。
小次郎講師やタートルズの資金管理ですね。
次回は、この取引量をもとに売買します。
追加した箇所を解説してます。
=====
//@version=4
//initial_capitalで元金を指定
strategy( "MovingAvg2Line Cross" ,initial_capital=100000 )
fastLength = input( 9 )
slowLength = input( 18 )
price = close
balance = strategy.initial_capital + strategy.netprofit
//投資金の0.5%をトレードに充てる
amount_rate = 0.005
//ATRを算出
atr = ema( tr ,20 )
//ATRと残高をもとに取引量を算出
amount = ( balance * 0.005 ) / atr
mafast = sma( price ,fastLength )
maslow = sma( price ,slowLength )
if ( crossover( mafast ,maslow ) )
strategy.entry( "MA2CrossLE" ,strategy.long ,comment="MA2CrossLE" )
if ( crossunder( mafast, maslow ) )
strategy.entry( "MA2CrossSE" ,strategy.short ,comment="MA2CrossSE" )
//1000通貨単位に丸めて描画
plot( round( amount / 1000 ) * 1000 )
=====
コメント:
次の講座