yuya_takahashi_
教育

Pine講座④ EMAの間を塗りつぶす

FX:USDJPY   米ドル/円
288 views
23
288 0
やることが増えるごとにコードの行数も増えます。

追加したのはEMAの間を塗りつぶす機能。
EMAのクロスで塗りつぶす色を切り替えます。


=====
//@version=3
study( "EMAの間を塗りつぶす" ,overlay=true )

price = input( close ,title="EMAの対象" )

length1 = input( 5 ,title="EMA1の期間" )
length2 = input( 20 ,title="EMA2の期間" )
length3 = input( 40 ,title="EMA3の期間" )

// 変更点①
ema1 = ema ( price ,length1 )
ema2 = ema ( price ,length2 )
ema3 = ema ( price ,length3 )

// 変更点②
p1 = plot( ema1 ,color=red )
p2 = plot( ema2 ,color=blue )
p3 = plot( ema3 ,color=green )

// 変更点③
fill( p2 ,p3 ,color = ema2 > ema3 ? blue : green )
=====


< 変更点① >

今まで plot( ) の中で実行していた ema ( ) を外に出しました。

ema1 = ema ( ) という形にすることで、
・ema1 として何度も使える
・計算の実行が1回で済む
というメリットがあります。

上の例での「ema1」を変数と言います。
変数を使うことで読みやすくて動作の軽いコードにすることができます。


< 変更点② >

plot( ) も変数に格納しておきます。


< 変更点③ >

fill( ) という、線の間を塗りつぶす関数を使います。
p2 と p3 は plot( ) で出力したEMAの線ですね。この2本の間を塗りつぶします。

同時に以下の箇所で色の指定を行っています。クロスで色を変更する機能ですね。
color = ema2 > ema3 ? blue : green

2本の計算値を比較するので、使う変数は ema2 と ema3。
{条件} ? {条件を満たす場合} : {条件を満たさない場合}
という形で、場合分けを行っています。

ema2は20日のEMA、ema3は40日のEMAですから、
ema2 > ema3 は 20日のEMAが40日のそれよりも上にある状態を指しています。
【 6/20 木 ~22 土 】
小次郎講師の3夜連続LIVE配信
http://bit.ly/2MLPeyX

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

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

小次郎講師のチャート情報局
http://bit.ly/2GvLAEp
ホーム 株式スクリーナー FXスクリーナー 仮想通貨スクリーナー 経済指標カレンダー 使い方 チャート機能 価格 ハウスルール モデレーター ウェブサイトとブローカー用ソリューション ウィジェット チャートソリューション ヘルプ 機能リクエスト ブログ & ニュース よくあるご質問 ウィキ ツイッター
プロフィール プロフィール設定 アカウントとお支払い ヘルプ 公開したアイデア フォロワー フォロー中 プライベートメッセージ チャット サインアウト