Search
Products
Community
Markets
News
Brokers
More
IN
Get started
Community
/
Ideas
/
Pine講座㉝ バックテスト|Keltner Channel Strategy の解説(チャネルブレイクの途転戦略)
U.S. Dollar / Japanese Yen
Education
Pine講座㉝ バックテスト|Keltner Channel Strategy の解説(チャネルブレイクの途転戦略)
By yuya_takahashi_
Follow
Follow
Updated
Aug 1, 2019
2
6
1
1
Jul 30, 2019
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])
//売り値の設定
//安値より1ティック下
sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1])
//crossBcond → cross buy condition の略かな?
//一度 crossUpper すると、その後はずっと true ですね
//何のためにあるんだろう
crossBcond = false
crossBcond := crossUpper ? true
: na(crossBcond[1]) ? false : crossBcond[1]
//crossScond → cross sell condition だと思われる
//同じく、何のためにあるか意図がつかめず
//(なくても全く変わらないのでは?)
crossScond = false
crossScond := crossLower ? true
: na(crossScond[1]) ? false : crossScond[1]
//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 )
=====
Aug 1, 2019
Note
次の講座
Beyond Technical Analysis
pinescript
yuya_takahashi_
Follow
小次郎講師公式インジケーターのお申込
bit.ly/2vdSV4Q
小次郎講師のLINE@
bit.ly/2VZQFu3
小次郎講師のチャート情報局
bit.ly/2GvLAEp
Also on:
Related publications
Pine講座㉓ 終値から ±2-ATR にラインを描画する
by yuya_takahashi_
Pine講座㉔ 取引量を算出してインフォパネルに表示する
by yuya_takahashi_
Pine講座㉕ TradingViewでバックテストをする
by yuya_takahashi_
Pine講座㉖ バックテスト|2本のSMAで途転
by yuya_takahashi_
Pine講座㉗ バックテスト|残高の推移を時系列で表示する
by yuya_takahashi_
Pine講座㉘ バックテスト|未決済を含めた残高を時系列で表示する
by yuya_takahashi_
Pine講座㉙ バックテスト|残高とATRで取引量を算出する
by yuya_takahashi_
Pine講座㉚ バックテスト|算出した取引量で売買する
by yuya_takahashi_
Pine講座㉛ バックテスト|BB Strategy の解説
by yuya_takahashi_
Pine講座㉜ バックテスト|BB Strategy directed の解説
by yuya_takahashi_
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the
Terms of Use
.