![見出し画像](https://assets.st-note.com/production/uploads/images/13990365/rectangle_large_type_2_0a9dd451bed260d568d59de7b391e916.png?width=1200)
TradingViewのプログラム言語 Pineメモ
TradingViewで自動売買Botのバックテストや
インジケータの製作に必須な言語
Pineを勉強したときに使ったもののメモです。
コード内に注釈をしています。
1行目はバージョンを指定
//@version=4
バージョン3と4だと,color=color.greenとかの書き方が違います。
2行目はstrategyかstudyのパラメータ
strategy( //自動売買のときはstrategy
"ストラテジの名前", //名前を入れます
overlay = true, //ラインなどをチャート上に表示するならTrue
default_qty_type = strategy.percent_of_equity,//取引量のタイプを指定。絶対値か保有資産のパーセント
pyramiding=1, //ピラミッティングするか
initial_capital=10000,//初期の資産
currency="USD", //通貨
default_qty_value = 100,//取引量
commission_type=strategy.commission.percent,//手数料のタイプ。絶対値、パーセント
commission_value=0.075 //手数料
)
study( //インジケータのときはstudy
"インジケータ名", shorttitle="MAなど", overlay=true)
3種類の移動平均線
それぞれの特徴はこちら
sma(source, length) //単純移動平均線
//sourceにはopen,close,high,lowを入れます。
// lengthには数値です。何日分の移動平均線にするか。
wma(source, length) //加重移動平均線
ema(source, length) //平滑移動平均線
インプット
変数をこれで指定しておくとチャートからすぐに変更できて便利
input_number = input(
title="input_number",//このインプットに対する名前
type=input.integer,//変数の種類 integer や float など
step = 1,//きざみ
minval=1,//最小数値
maxval=1000,//最大数値
defval=8//デフォルトの数値
)
プロット チャート上に書き込む
単純移動平均線を例に書きます
sma_20 = sma(close,20)//単純移動平均線、終値を指定、20日間を指定
plot(
sma_20,//何をプロットするか指定。先ほどのsma_20を入れます。
color=color.green,//色を指定。pineのバージョンによって書き方が違います。これは4用
//バージョン3だと color=green,
linewidth=2//ラインの太さを指定
)
条件 線が交差したら
ma1 = ema(close,20) //平滑移動平均
ma2 = sma(close,20) //単純移動平均
buy = crossover(ma1,ma2) //emaがsmaを下から上へ抜けたら buy
sell = crossunder(ma1,ma2) //emaがsmaを上から下へ抜けたら sell
偏差
dev(source, length) //smaとの違いの尺度
絶対値を返す
abs(x)
ATRを返す
atr(length)
平均値を返す
avg(x, y, z, a, b, c)
最高値を返す
highest(source, length)
一定の固定価格レベルで水平線を描画します。
hline(price, title, color, linestyle, linewidth, editable)
iff
iff(condition, then, _else)
MACD
study('MACD')
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
plot(macdLine, color=blue)
plot(signalLine, color=orange)
plot(histLine, color=red, style=histogram)
2つの値の大きい方を返す
max(x, y)
チャート上に上下の矢印を描写
plotarrow(series, title, colorup, colordown, transp, offset, minheight, maxheight, editable, show_last)
最も近い整数に四捨五入された引数の値を返す
round(x)
その他 自力でできるようになったこと
テスト期間の指定をインプットを使って
if文での分岐
注文
2つのプロットまたはラインの間の背景を指定された色で塗りつぶす。
コーヒー飲みます。ありがとうございます。