最近の記事

Pine Script™ (v5) の覚書 - 作ってみる:上位足のGMMAを描くインジケータの作成 (3)

前回までの話 タイムフレーム、線の太さ、色を設定するタイムフレームを設定する。デフォルトはD。選択肢は15,60,240,D,W,M。 tf = input.timeframe('D','timeframe',['15','60','240','D','W','M']) 線の太さを設定する。デフォルトは1、min-maxは1-4 width = input.int(1,'width',1,4) 線の色を設定する。赤と青の2色。 gColor.g1 := input

    • Pine Script™ (v5) の覚書 - 作ってみる:上位足のGMMAを描くインジケータの作成 (2)

      前回までの話 上位足のGMMAに必要なパーツの作成色用の型を定義する GMMAでは短期と長期で2色(blueとred)を使うためのgmma_colors型を定義する。 type gmma_colors color g1 color g2var gColor=gmma_colors.new() GMMA用の型を定義する GMMAの各値(12個)をまとめて取り扱うためのgmma_dataを定義する。 type gmma_data float g1_1

      • Pine Script™ (v5) の覚書 - 7 : request.security_lower_tfを使ってマルチタイムフレーム(MTF)移動平均線を描いてみる(5)

        前回までの話 ここまで移動平均線の最大値(max)、最小値(min)、最古の平均値(get(0)) 、最新の平均値(last())の4本をplotしたが、これらを描き分けてみる。 最大値 → greenの実線 最小値 → redの実線 最古と最新 → 最新が上がっていればgreen(透明)の塗り、最新が下がっていればred(透明)の塗り ここで使う関数とその引数 fill(plot1,plot2,color,title)→plot1とplot2の間をcolorで塗る c

        • Pine Script™ (v5) の覚書 - 作ってみる:上位足のGMMAを描くインジケータの作成 (1)

          やりたいこと 上位足(日足)のGMMAを表示する これは平たく言うと、短期(3,5,8,10,12,15期間)と長期(30,35,40,45,50,60期間)の指数平滑移動平均線(EMA)を表示する。 実装方針 request.security()を使って上位足のEMAを取得する。 短期をblue、長期をredでplotする。 続く

        Pine Script™ (v5) の覚書 - 作ってみる:上位足のGMMAを描くインジケータの作成 (3)

        • Pine Script™ (v5) の覚書 - 作ってみる:上位足のGMMAを描くインジケータの作成 (2)

        • Pine Script™ (v5) の覚書 - 7 : request.security_lower_tfを使ってマルチタイムフレーム(MTF)移動平均線を描いてみる(5)

        • Pine Script™ (v5) の覚書 - 作ってみる:上位足のGMMAを描くインジケータの作成 (1)

          Pine Script™ (v5) の覚書 - 7 : request.security_lower_tfを使ってマルチタイムフレーム(MTF)移動平均線を描いてみる(4)

          前回までの話 下位足のデータを使うと、現在足で移動平均として一つの値になってしまうものが、複数の時間のデータ(1時間足で15分足を取得する場合、4つのデータ)として取り扱える。 そこで、下位足の平均値のうち、最古のデータと最新のデータをプロットしてみる。 ここで使うarray関数とその引数 array.get(id,index)→配列のindex番目の要素を返す array.last(id)→配列の最後の要素を返す //@version=5indicator("マイス

          Pine Script™ (v5) の覚書 - 7 : request.security_lower_tfを使ってマルチタイムフレーム(MTF)移動平均線を描いてみる(4)

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (7)

          前回までの話し ついでに陽線陰線で挙動を変える部分もmethod化してみる。 myCandle.update(dayCandle,dayCandle.o<=dayCandle.c?myColor.lime70:myColor.red70,dayCandle.o<=dayCandle.c?myColor.lime80:myColor.red80) candle型に陽線だった場合にtrueを返すmethodを追加する。 method is_up(candle c)

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (7)

          Pine Script™ (v5) の覚書 - コラム :スクリプトが落ちる! array()の罠

          「!スクリプトエラー」 無情なメッセージに出会ったことはありませんか? 存在しないオブジェクトにアクセスするとすぐにこの状況になります。 例えば、配列<array>は便利ですが、存在しない配列の要素にアクセスすると簡単にこの状況になります。 myArray=request.security_lower_tf(syminfo.tickerid,’1’,ta.sma(close,20))//一分足の20期間移動平均を取得、下位足データなので配列になる。plot(myArra

          Pine Script™ (v5) の覚書 - コラム :スクリプトが落ちる! array()の罠

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (5)

          前回までの話 ローソクとboxを描く 日足(あるいは週足や月足)が切り替わらない場合、既存の足の値を最新値に更新し、切り替わったら新しい足を描く。 var D=new_day_candle()if newD D:=new_day_candle()D.update_day(dayCandle,candleColor)var W=new_week_candle()if newW W:=new_week_candle()W.update_week(weekCand

          ¥500

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (5)

          ¥500

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (4)

          前回までの話 ローソクの更新のためのおまじない日足と週足の更新タイミングを知るための変数 bool newD=ta.change(dayCandle.t)!=0bool newW=ta.change(weekCandle.t)!=0bool newM=ta.change(monthCandle.t)!=0 日足と週足と月足のboxのデフォルト値を関数化 new_day_candle()=>box.new(na,na,na,na,xloc=xloc.bar_time,b

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (4)

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (6)

          前回までの話 htf_candle型のオブジェクトの各値を設定するあたりが複雑なので、なんとかしたい。methodを用いる方法と、関数を用いる方法をそれぞれやってみる。 methodを用いる方法 // ローソク本体myCandle.body.set_lefttop(dayCandle.t,dayCandle.o)myCandle.body.set_rightbottom(dayCandle.tc-timeframe.in_seconds(timeframe.period

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (6)

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (5)

          前回までの話 前回使ったtimeframe.in_seconds()について // ローソク本体myCandle.body.set_lefttop(dayCandle.t,dayCandle.o)myCandle.body.set_rightbottom(dayCandle.tc-timeframe.in_seconds(timeframe.period)*1000,dayCandle.c)myCandle.body.set_border_color(dayCandle.

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (5)

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (3)

          前回までの話 線の太さ(週足、月足用)、色を設定する線の太さを設定する。デフォルトは4、min-maxは1-4 width = input.int(4,'width',1,4) 線の色を設定する。赤と青の2色。 candleColor.bullish := input.color(color.new(color.lime,75),title='bullish')candleColor.bearish := input.color(color.new(color.red

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (3)

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (4)

          前回までの話 ローソク本体(box)と上ヒゲ下ヒゲ(line)も、ひとまとめに定義することができる。 以前に、boxを使って上位足のローソクを描いたが、ローソク本体(box)と上ヒゲ下ヒゲ(line)もひとまとめに定義することができる。 type htf_candle box body line wick line tail これを以下のように初期化する。 myCandle=htf_candle.new( box.new(na,na,na,na,

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (4)

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (2)

          前回までの話 上位足に必要なパーツの作成色用の型を定義する 陽線用と陰線用の2色が必要 type candle_colors color bullish // 陽線 color bearish // 陰線var candleColor=candle_colors.new() ローソク足を定義する。 ローソク足の情報をまとめて取り扱うためのcandle_body型を定義する。 type candle_body int t // ti

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (2)

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (3)

          前回までの話 色についても自分の使いたい色を型として定義して、color.redのように使うことができる。 type colors color lime70 color lime80 color red70 color red80 これを以下のように初期化する。 myColor=colors.new( color.new(color.lime,70), color.new(color.lime,80), color.new(color.r

          Pine Script™ (v5) の覚書 - 8 : UDTs(user-defined types)を使ってみる (3)

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (1)

          作りたいものチャート上に ・日足 ・週足 ・月足 を表示する。 足と書いたが上下のヒゲは書かない。下位時間足が個性溢れるヒゲを作ってくれる。 表示中の下位時間足と、日足と週足と月足を判別できるように、線の種類と背景色で区別する。 必要なパーツ・日足と週足のローソク足情報取得 ・ローソク本体のみを描く   日足は塗りのみ   週足は枠のみ   月足は枠のみ 完成はこのようなイメージとなる 続く

          Pine Script™ (v5) の覚書 - 作ってみる:日足と週足と月足を描くインジケータの作成 (1)