yuya_takahashi_

Pine講座㉝ バックテスト|Keltner Channel Strategy の解説(チャネルブレイクの途転戦略)

השכלה
yuya_takahashi_ מעודכן   
FX:USDJPY   דולר אמריקאי / יין יפני
TradingViewに内蔵されている
Keltner Channel Strategy の解説です!

今回のKeltner Channelは、以下で構成されています。

・20本の単純移動平均(MA)
・MA + True Range × 1(Upper)
・MA - True Range × 1(Lower)

Upperの上抜けで買い、
Lowerの下抜けで売りの途転戦略になっていました。

詳細は、以下のコードの中で解説していきます!

=====
//@version=4
strategy("Keltner Channel Strategy の解説", overlay=true)
source = close

useTrueRange = input(true)
length = input(20, minval=1)
mult = input(1.0)

//単純移動平均の算出
ma = sma(source, length)

//値幅の指定と平均値の算出
range = useTrueRange ? tr : high - low
rangema = sma(range, length)

//設定した比率でバンドを算出
upper = ma + rangema * mult
lower = ma - rangema * mult

//バンド上抜けと下抜けの検知
crossUpper = crossover(source, upper)
crossLower = crossunder(source, lower)

//買い値の設定
//高値より1ティック上
bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice)

//売り値の設定
//安値より1ティック下
sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice)

//crossBcond → cross buy condition の略かな?
//一度 crossUpper すると、その後はずっと true ですね
//何のためにあるんだろう
crossBcond = false
crossBcond := crossUpper ? true
: na(crossBcond) ? false : crossBcond

//crossScond → cross sell condition だと思われる
//同じく、何のためにあるか意図がつかめず
//(なくても全く変わらないのでは?)
crossScond = false
crossScond := crossLower ? true
: na(crossScond) ? false : crossScond

//crossBcond は常にtrue
//source(初期値:close)がMAを下回る
//もしくは買い値よりもhighが大きい
//でtrueに
cancelBcond = crossBcond and (source < ma or high >= bprice )

//source(初期値:close)がMAが上回る
//もしくは売り値よりもlowが小さい
//でtrueに
cancelScond = crossScond and (source > ma or low <= sprice )

//cancelBcondの状態になったら
//過去の買い注文をキャンセル
if (cancelBcond)
strategy.cancel("KltChLE")

//crossUpperの状態で
//bprice(買い値)で逆指値の買い注文
if (crossUpper)
strategy.entry("KltChLE", strategy.long, stop=bprice, comment="KltChLE")

//cancelScondの状態になったら
//過去の売り注文をキャンセル
if (cancelScond)
strategy.cancel("KltChSE")

//crossLowerの状態で
//sprice(売り値)で逆指値の売り注文
if (crossLower)
strategy.entry("KltChSE", strategy.short, stop=sprice, comment="KltChSE")

//確認用でチャートに出力
plot( ma )
plot( upper )
plot( lower )
=====
הערה:
次の講座

小次郎講師公式インジケーターのお申込
bit.ly/2vdSV4Q

小次郎講師のLINE@
bit.ly/2VZQFu3

小次郎講師のチャート情報局
bit.ly/2GvLAEp
כתב ויתור

המידע והפרסומים אינם אמורים להיות, ואינם מהווים, עצות פיננסיות, השקעות, מסחר או סוגים אחרים של עצות או המלצות שסופקו או מאושרים על ידי TradingView. קרא עוד בתנאים וההגבלות.