(Pine Script)デフォルトのMACD Strategy解説

今日はデフォルトで表示できるMACDの解説をするよ。MACDはマックディと読むようだよ。
MACDとは短期EMA(指数移動平均線)と長期EMA(指数移動平均線)の差なんだ。
MACD = 短期EMA – 長期EMAだね。
下のグラフの青い線になるよ。

このMACDとMACDの移動平均線がクロスしたところを売買のサインにすることによってトレンドをいち早く見つけようとする戦略なんだ。
MACDの移動平均線はグラフの赤い線になるよ。

pine scriptをバージョン3として実行
//@version=3・・・
MACD Strategyという名前で実行する。グラフに重ねて表示する。
strategy("MACD Strategy", overlay=true)
短期EMAの期間は12とする。(この期間は後で変更可能
fastLength = input(12)
長期EMAの期間は26とする。(この期間は後で変更可能
slowlength = input(26)
MACDの移動平均線の長さは9とする。(この期間は後で変更可能
MACDLength = input(9)
短期EMAから長期EMAを引いてMACDを求める
MACD = ema(close, fastLength) - ema(close, slowlength)
MACDの移動平均線を求める(指数移動平均線を使用しているが単純移動平均線SMAでも可)
aMACD = ema(MACD, MACDLength)
MACDとMACDの移動平均線の差を求める
delta = MACD - aMACD

MACDとMACDの移動平均線の差がマイナスからプラスになったら(青色線が赤色線を越えたら)
if (crossover(delta, 0))
LONGでエントリーする
strategy.entry("MacdLE", strategy.long, comment="MacdLE")
MACDとMACDの移動平均線の差がプラスからマイナスになったら(青色線が赤色線を下回ったら)
if (crossunder(delta, 0))
SHORTでエントリーする
strategy.entry("MacdSE", strategy.short, comment="MacdSE")

//plot(strategy.equity, title=”equity”, color=red, linewidth=2, style=areabr)

どうだったかな。間違ってたり、分からないことがあったら教えてね。

(Pine Script)デフォルトのChannelBreakOutStrategy解説

Trading Viewでデフォルトで使用できるChannelBreakOutStrategyの解説をするよ。

PineScriptのバージョン3を使用する。
//@version=3
ChannelBreakOutStrategyという名前の戦略。グラフにかぶせて表示する。
strategy("ChannelBreakOutStrategy", overlay=true)
期間は5とする。(この設定値は設定から変更することが可能
length = input(title="Length", type=integer, minval=1, maxval=1000, defval=5)
期間内で一番の高値を取得する。
upBound = highest(high, length)
期間内で一番の安値を取得する。
downBound = lowest(low, length)
最初のlengthで指定した期間はエントリーを行わない
if (not na(close[length]))
期間内で一番の高値を上回ったら損切りし、LONGでエントリーする。
strategy.entry("ChBrkLE", strategy.long, stop=upBound + syminfo.mintick, comment="ChBrkLE")
期間内で一番の安値を下回ったら損切し、SHORTでエントリーする。
strategy.entry("ChBrkSE", strategy.short, stop=downBound - syminfo.mintick, comment="ChBrkSE")

こんな感じだと思うよ。strategy.entryに関しては僕も理解が曖昧なんだ。間違ってたらごめんよ。

input関数について

Pine Scriptの勉強をしているとStrategyの中にinputってよくでてくるよね。
でもマニュアルの説明みてもいまいちよく分からないんだ。
何時間か調べた結果(遅)たぶんこういうことだと思うので参考にしてくれるとうれしいよ。

以下はデフォルトで公開されているのChannelBreakOutStrategyだよ。

//@version=3

strategy(“ChannelBreakOutStrategy”, overlay=true)

length = input(title=”Length”, type=integer, minval=1, maxval=1000, defval=5)

upBound = highest(high, length)
downBound = lowest(low, length):

if (not na(close[length]))
strategy.entry(“ChBrkLE”, strategy.long, stop=upBound + syminfo.mintick, comment=”ChBrkLE”)
strategy.entry(“ChBrkSE”, strategy.short, stop=downBound – syminfo.mintick, comment=”ChBrkSE”)

//plot(strategy.equity, title=”equity”, color=red, linewidth=2, style=areabr)

「チャートに追加」すると、当然追加されるんだけど、設定マーク(歯車)を押すと、inputで指定している変数が変更できるよ。

表示されるダイアログに好きな数字をいれて実行できるよ。

分からないことがあったら教えてね。

(Pine Script)便利なサイト

いつも参考にしているサイトを貼っておくよ。参考にしておくれ。

Trading View Wiki(参考になる!たまに日本語にできるページもあるよ)
https://www.tradingview.com/wiki/
PINEスクリプト言語参照マニュアル(マニュアル)
https://jp.tradingview.com/study-script-reference/
Trading View Blog Japan(いちおう)
https://blog.tradingview.com/ja/
TradingCode.net(海外のPineScriptのサイト。結構わかりやすい。)
https://www.tradingcode.net/tradingview-programming-articles/

みんな参考にしているサイトがあったら教えてね。

(PineScript)インジケータの使い方について

今回はPineScriptのインジケータの使い方についてだよ。
単純なインジケータは既にビルトイン関数としてPineScriptに組み込まれているんだ。
例をあげるとsmaやema等だね。こんな風に使うことができるよ。
//@version=3
study(title="sma", overlay=true)
// closeは終値
src = close, len = 3
// 終値3本の単純移動平均線
out = sma(src, len)
// 60分足を利用して計算
out1 = security(tickerid, '60', out)
plot(out1)

気になることがあったら教えてね。

そもそも投資戦略テスターの使い方がわからない人はこれを読んでね。

(Trading View)Trading Viewの投資戦略テスターの使い方

投資戦略テスターの使い方はだいたいこんな感じだよ。

1.Trading Viewに登録
https://www.tradingview.com/

2.「チャート」を選択

3.Pineエディタを選択

4.Pineエディタにスクリプトを貼り付けるよ
最初は「新規作成」から「~strategy」と書いてあるものを選ぶとよいかも

5.「チャートに追加」を選択

6.投資戦略テスターを選択

上手くできたかな。

投資戦略テスターの見方としては純利益は指定している期間によって異なるし、レバレッジによって変えれるので、プロフィットファクターと最大ドローダウンに注目するとよいと言われているよ。

プロフィットファクター・・・総利益 / 総損失 あまりに高いとカーブフィッティング(過度の最適化)している可能性があるので、注意したほうが良いらいしいよ。

最大ドローダウン・・・一時的に最大資産から落ち込んだ場合の下落率。実際にはTrading Viewの結果よりも落ち込むことが多いのでレバレッジには注意しよう。

上手くいかなかったら教えてね。