Dollar Américain / Yen japonais
Éducation
Mis à jour

Pine講座59 タートルズ流投資の魔術|ダブル移動平均

1 821
ここからは、

タートルズ流投資の魔術
カーティス・フェイス著

で紹介されている手法を
再現していきたいと思います。

1つ目の手法は、
長期のダブル移動平均です。

非常にシンプルな手法ですが、
長期にするだけで意外と勝てます。

※ 以前、作成したコードなので、
少し古い部分もあるかと思います

※ 解説はコードの中で

※ コピペする場合は以下の変更を行ってください
[](全角の角括弧)→(半角の角括弧)
(全角スペース)→(半角スペース)

=====
//version=3
strategy("Strategy Turtle Double EMA"
,default_qty_type=strategy.fixed
,default_qty_value=1
,pyramiding=4
,overlay=true)



src = close
M  = input(50 ,minval=1 ,title="middle_") // 900/6/25 = 6ヶ月
L  = input(350 ,minval=1 ,title="long_") // 1800/6/25 = 12ヶ月
MAX_N = input(1 ,type=integer ,minval=1 ,maxval=4 ,title="maximun num of unit")
LO_len = input(20 ,type=integer ,minval=1 ,title="pyramiding ATR length")
LO_N  = input(1 ,type=float ,minval=0.5 ,title="pyramiding ATR*N")
fromYear = input(2005 ,type=integer ,minval=1900 ,title="test start")
endYear = input(2017 ,type=integer ,minval=1900 ,title="test end")

isWork = timestamp(fromYear ,1 ,1 ,00 ,00) <= time and time < timestamp(endYear+1 ,1 ,1 ,00 ,00)

M_ = ema(close ,M)
L_ = ema(close ,L)

atr_LO_ = ema(tr ,LO_len)
atr_LO = atr_LO_*LO_N

countTradingDays  = na
countNonTradingDays = na
countTradingDays := strategy.position_size==0 ? 0 : countTradingDays[1] + 1
countNonTradingDays := strategy.position_size!=0 ? 0 : countNonTradingDays[1] + 1
entry1 = close
entry2 = close
entry3 = close
entry4 = close
entry1 := strategy.position_size==0 ? na : entry1[1]
entry2 := strategy.position_size==0 ? na : entry2[1]
entry3 := strategy.position_size==0 ? na : entry3[1]
entry4 := strategy.position_size==0 ? na : entry4[1]
lo2  = close
lo3  = close
lo4  = close
lo2  := strategy.position_size==0 ? na : lo2[1]
lo3  := strategy.position_size==0 ? na : lo3[1]
lo4  := strategy.position_size==0 ? na : lo4[1]



L_EntrySig = M_ >= L_
S_EntrySig = M_ <= L_
lo_sig2 = strategy.position_size>0 ? lo2 < high : strategy.position_size<0 ? lo2 > low : na
lo_sig3 = strategy.position_size>0 ? lo3 < high : strategy.position_size<0 ? lo3 > low : na
lo_sig4 = strategy.position_size>0 ? lo4 < high : strategy.position_size<0 ? lo4 > low : na



if(strategy.position_size != 0)

 L_ExitSig = S_EntrySig and strategy.position_size > 0
 S_ExitSig = L_EntrySig and strategy.position_size < 0
 
 strategy.close_all(when = L_ExitSig or S_ExitSig)
 
 if(L_ExitSig or S_ExitSig)
  entry1 := na
  entry2 := na
  entry3 := na
  entry4 := na
  lo2  := na
  lo3  := na
  lo4  := na



if(strategy.position_size > 0)

 if(lo_sig2 and MAX_N >= 2)
  lo2 := na
  strategy.entry("L-Entry2" ,strategy.long ,comment="L-Entry2")
 if(lo_sig3 and MAX_N >= 3)
  lo3 := na
  strategy.entry("L-Entry3" ,strategy.long ,comment="L-Entry3")
 if(lo_sig4 and MAX_N >= 4)
  lo4 := na
  strategy.entry("L-Entry4" ,strategy.long ,comment="L-Entry4")
 

if(strategy.position_size < 0)

 if(lo_sig2 and MAX_N >= 2)
  lo2 := na
  strategy.entry("S-Entry2" ,strategy.short ,comment="S-Entry2")
 if(lo_sig3 and MAX_N >= 3)
  lo3 := na
  strategy.entry("S-Entry3" ,strategy.short ,comment="S-Entry3")
 if(lo_sig4 and MAX_N >= 4)
  lo4 := na
  strategy.entry("S-Entry4" ,strategy.short ,comment="S-Entry4")



if((L_EntrySig or S_EntrySig) and isWork and strategy.position_size==0)
 countTradingDays := 0
 entry1   := close

 if(L_EntrySig)
  strategy.entry("L-Entry1" ,strategy.long ,comment="L-Entry1")
  lo2 := MAX_N >= 2 ? close + atr_LO  : na
  lo3 := MAX_N >= 3 ? close + atr_LO * 2 : na
  lo4 := MAX_N >= 4 ? close + atr_LO * 3 : na
 
 if(S_EntrySig) 
  strategy.entry("S-Entry1" ,strategy.short ,comment="S-Entry1")
  lo2 := MAX_N >= 2 ? close - atr_LO  : na
  lo3 := MAX_N >= 3 ? close - atr_LO * 2 : na
  lo4 := MAX_N >= 4 ? close - atr_LO * 3 : na


plot(strategy.position_size ,transp=0 ,title="保有ポジションの数")
plot(strategy.openprofit ,transp=0 ,title="未決済の損益")
plot(strategy.netprofit  ,transp=0 ,title="決済済みの損益")
plot(strategy.closedtrades ,transp=0 ,title="決済済み取引数")
plot(countTradingDays  ,transp=0 ,title="取引日数")
plot(countNonTradingDays ,transp=0 ,title="ノンポジ日数")
plot(entry1 ,title="entry1" ,color=blue ,transp=0 ,style=linebr)
plot(lo2  ,title="lo2"  ,color=red ,transp=0 ,style=linebr)
plot(lo3  ,title="lo3"  ,color=red ,transp=0 ,style=linebr)
plot(lo4  ,title="lo4"  ,color=red ,transp=0 ,style=linebr)
plot(atr_LO ,transp=0 ,title="ATR_LO")
// plot(strategy.max_drawdown ,transp=50 ,title="最大DD")
// plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

plot(L_ ,color=#303F9F ,title="長期EMA" ,style=line ,linewidth=2, transp=0)
plot(M_ ,color=#4CAF50 ,title="中期EMA" ,style=line ,linewidth=2, transp=0)
=====
Note
次の講座
Pine講座60 タートルズ流投資の魔術|トリプル移動平均

Clause de non-responsabilité

Les informations et les publications ne sont pas destinées à être, et ne constituent pas, des conseils ou des recommandations en matière de finance, d'investissement, de trading ou d'autres types de conseils fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.