導入
信頼できる取引ツールがなければ、高品質のテクニカル分析を行うことは不可能です。強力な取引戦略は、よくある間違いを回避し、より効果的にリスクを管理し、より多くの取引機会を見つけて実行するのに役立ちます。
ほとんどのトレーダーにとって、TradingView はチャート分析用の人気のプラットフォームです。さまざまなテクニカル分析ツールを提供する機能豊富な HTML5 Web アプリケーションは、外国為替、仮想通貨、従来の株式市場の動きを追跡するために何百万ものユーザーによって使用されています。
TradingViewはさまざまな強力な機能を提供しており、複数の取引プラットフォームにわたって資産を追跡し、TradingView独自のソーシャルネットワークで取引アイデアを共有できます。この記事では、TradingView をカスタマイズするためのオプションを見ていきます。チャートのレイアウトをきめ細かく制御できるTradingViewプログラミング言語であるPine Scriptを使用します。
さぁ、始めよう!
パインスクリプトとは何ですか?
Pine Script は、TradingView のチャートをカスタマイズできるスクリプト言語です。このプラットフォームではすでに多くの機能が提供されていますが、Pine Script を使用すると機能を拡張できます。ローソクの色を変更したい場合でも、新しい戦略をテストしたい場合でも、Pine エディターを使用してリアルタイム チャートを自由にカスタマイズできます。
詳細なドキュメントはサイトで入手できるため、詳細な手順についてはいつでもユーザー マニュアルを参照できます。この記事では、Pine Script の基本について説明し、暗号通貨を取引する際に役立つインジケーターの作成方法を示したいと思います。
設定
Pine Script を始めるのはとても簡単です。私たちが作成したすべてのコードはTradingViewサーバー上で実行され、コードエディターにアクセスしてブラウザーで直接スクリプトを作成できます。サードパーティのアプリケーションをダウンロードしたり、何かを設定したりする必要はありません。
このチュートリアルでは、ビットコイン/バイナンス USD (BTCBUSD) 通貨ペアのチャートを作成します。 TradingView にまだ登録していない場合は、無料アカウントを作成してください (プロフェッショナル サブスクリプションも利用できますが、この記事では必要ありません)。
このリンクをたどると、次のようなグラフが表示されます。

スケジュールはもっと最新のものにする必要があります。
詳細なスケジュールが必要です。それに移動するには、示されたボタンをクリックしてください。さらに詳細なグラフ、描画ツール、近似曲線ツールについて説明します。

詳細なスケジュール。選択したタブの上のパネルで、希望の時間枠を設定できます。
ここでは、利用可能なさまざまなツールの使用法については説明しませんが、テクニカル分析に真剣に取り組んでいる場合は、それらのツールに慣れておくことを強くお勧めします。左下 (図で強調表示されている) にはいくつかのタブがあります。[Pine Editor] をクリックします。
パインの編集者

このエディターでは、本当の魔法が起こります。結果を確認するには、エディターに指示を記述し、「チャートに追加」ボタンをクリックする必要があります。注: 複数のカスタム インジケーターを同時に適用すると、チャートが乱雑になる可能性があるため、例の間にカスタム インジケーターを削除します (チャート上で右マウス ボタン > インジケーターの削除)。
ご覧のとおり、すでに数行のコードが存在します。 「チャートに追加」ボタンをクリックして、何が起こるかを見てみましょう。

2 番目のグラフが元のグラフの下に表示されました。新しいグラフには同じデータが表示されます。 2 番目のグラフを削除するには、[マイ スクリプト] の上にマウスを置き、×印をクリックします。それではコードを見てみましょう。
study("私のスクリプト")最初の行はチャートの名前を指定します。これに必要なのはインジケーターの名前 (この場合は「My Script」) のみですが、追加のパラメーターを設定することもできます。そのうちの 1 つはオーバーレイです。これは、(新しいセグメントではなく) 既存のチャートにインジケーターを配置することを意味します。最初の例からわかるように、デフォルトでは false に設定されています。ここではテストしませんが、overlay=true を設定すると、インジケーターが既存のチャートに追加されます。
プロット(閉じる)この線は、ビットコインの終値をプロットするための指示です。プロットは折れ線グラフを指定しますが、ローソク足やバーを追加できます。
次に、次の例を考えてみましょう。
//@version=4 study("My Script", overlay=true) plot(open, color=color.purple)この行をエディターに追加すると、2 番目のグラフが表示されます (元のグラフと似ていますが、右にシフトしています)。始値をプロットしましたが、当日の始値は前日の終値であるため、チャートが同じ形状になるのは当然です。
素晴らしい!作成したチャートを削除しましょう(これを行うには、チャートを右クリックして「インジケーターの削除」を選択する必要があることに注意してください)。現在のチャートをクリアするには、ビットコイン/BUSD チャートの上にマウスを置き、[非表示] ボタンをクリックします。
多くのトレーダーは、ローソク足チャートを使用します。これは、ローソク足チャートが通常のチャート (先ほど構築したものなど) よりも多くの情報を提供するためです。次に、チャートにローソク足を追加しましょう。
//@version=4 study("My Script", overlay=true) plotcandle(open, high, low, close)改善されましたが、色が不足しているため、グラフが表現できなくなっています。理想的には、時間枠の始値が終値より大きい場合はローソク足を赤で描画し、終値が始値より大きい場合は緑でローソク足を描画する必要があります。 Lotcandle() 関数の上に行を追加しましょう。
//@version=4 study("My Script", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close)この行では、すべてのローソク足を調べて、始値が終値以上であるかどうかを確認します。そうであれば、価格は期間中に下落しており、ローソク足は赤になります。それ以外の場合 – 緑色。カラースキームを追加するには、以下に示すように、plotcandle() 関数を変更します。
//@version=4 study("My Script", overlay=true) colors = open >= close ? color.red : color.green plotcandle(open, high, low, close, color=colors)まだ行っていない場合は、前のグラフを削除して、新しいグラフを追加します。これで、通常のローソク足チャートができたはずです。

素晴らしい!
移動平均 (MA) の構築
いくつかの基本を説明しました。最初のカスタム インジケーターである指数移動平均 (EMA) の作成に進みましょう。これは市場のノイズを除去し、価格の動きを滑らかにするため、貴重な指標です。
EMA は、最近のデータをより重視するという点で単純移動平均 (SMA) とは異なります。 EMA は予期せぬ市場の動きにより積極的に反応し、短期戦略 (日中取引など) でよく使用されます。
単純移動平均 (SMA)
SMA をプロットし、EMA と比較できます。次の行をスクリプトに追加します。
プロット(sma(close, 10))この行には、過去 10 日間の平均が表示されます。括弧内にさまざまな期間値を設定して、曲線がどのように変化するかを確認できます。

過去 10 日間の SMA
指数移動平均 (EMA)
EMA は理解するのが少し難しいですが、心配しないでください。まず、式を見てみましょう。
EMA = (終値 - 前日のEMA) * 乗数 - 前日のEMAこの式は何を示しているのでしょうか?毎日、前の移動平均に基づいて新しい移動平均を計算します。乗数は前の期間の「重み」であり、次の式を使用して計算されます。
乗数 = 2 / (EMA 期間 + 1)単純な移動平均の場合と同様に、EMA を作成する期間を指定する必要があります。 EMA 関数の構文は SMA 関数と似ています。わかりやすくするために、SMA の隣に EMA チャートをプロットしてみましょう。
//@version=4 study("My Script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))
SMAとEMAの違い
➟ 仮想通貨の取り扱いをどこから始めるべきか考えていますか?バイナンスでビットコインを買おう!
組み込みスクリプト
これまでは、コードをより詳しく理解するために手動でコードを記述していました。ただし、特により複雑なスクリプトを作成し、最初から作成したくない場合は、時間を節約できるツールを検討してみましょう。
エディターの右上隅にある「新規」ボタンをクリックします。ドロップダウン メニューにさまざまなテクニカル指標が表示されます。 EMA インジケーターのソース コードを表示するには、「指数移動平均」項目をクリックします。

チャートにコードを追加する
テンプレート コードは私たちが書いたものとは異なります。input() 関数に注意してください。チャートの左上隅をクリックできるので便利です...

...ポップアップ ウィンドウで設定ホイールを押すと、いくつかの値を簡単に変更できます。

これを実証するために、次のスクリプトに 2 つの input() 関数を追加します。
相対強度指数 (RSI) 指標の構築
相対強度指数 (RSI) も重要なテクニカル分析指標です。モメンタム指標として知られています。これは、資産の売買レートを表示することを意味します。 RSI 指数は 0 ~ 100 の範囲で、トレーダーに資産が買われすぎているのか、売られすぎているのかを示します。一般に、RSI が 30 以下の場合、資産は売られすぎ、RSI が 70 以上の場合、買われすぎとみなされます。
自分で確認することができます。[新規] メニュー > [RSI 戦略] に移動します。 RSI は通常、14 単位 (つまり 14 時間または 14 日) の期間にわたって測定されますが、独自の戦略に合わせてこのパラメーターをカスタマイズできます。
それをチャートに追加します。いくつかの矢印が表示されるはずです (コード内では、strategy.entry() 関数によって定義されています)。 RsiLE は、再販される可能性がある資産のロングポジションの可能性を示します。 RsiSE は、買われすぎている可能性があるため、資産を空売りする可能性も示しています。注意してください: すべての指標と同様に、価格が下落/上昇することを保証するものとしてそれらを信頼すべきではありません。
テスト戦略
独自のインジケーターをテストできます。履歴データのパフォーマンスは将来の結果を保証するものではありませんが、履歴データでスクリプトをテストすることで、信号の追跡にどれだけ効果があるかを知ることができます。
例として簡単なスクリプトを見てみましょう。 BTC 価格が 11,000 ドルを下回ったときにロングポジションを入力し、価格が 11,300 ドルを超えたときにポジションを閉じるという単純な戦略を作成してみましょう。この戦略を市場履歴に適用すると、どれだけ収益性が高くなるかを確認できます。
//@version=4 strategy("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter) strategy.entry("BuyTheDip", strategy.long, comment="BuyTheDip") if (price >= exit) strategy.close_all(comment="SellTheNews")ここでは、エントリーレベルとエグジットレベルを変数として定義しました。両方とも入力であり、チャート上で変更できることを意味します。また、各期間の終値を取得する価格変数も作成しました。ロジックは if ステートメントの形式で表示されます。括弧内の部分が true の場合、その下のインデントのあるブロックが実行されます。それ以外の場合は無視されます。
したがって、価格が希望のエントリー値以下の場合、最初の式は true と評価され、ロングになります。価格が希望の決済値以上になると、2 番目のブロックがトリガーされ、すべてのオープンポジションがクローズされます。
さらに、チャートでは、ポジションへのエントリーとポジションからのエグジットの場所を矢印で示しました。これらのポイントをコメント パラメーター (この例では「BuyTheDip」と「SellTheNews」) でマークしました。コードをコピーしてチャートに追加します。

チャート上のインジケーター。ズームアウトできます
TradingViewは古いデータにルールを自動的に適用します。 Pine Editor から Strategy Tester タブに切り替えたことに注意してください。ここでは、潜在的な利益を分析し、取引のリストと各取引のパフォーマンスを表示できます。

オープンポジションとクローズドポジション
要約しましょう
これで、使い慣れたツールを使用して独自のスクリプトを作成できるようになりました。同じチャート上で EMA と RSI を組み合わせ、その値を使用してローソク足に色を付け、簡単に視覚化できる情報を作成します。
グラフの結果は財務上のアドバイスを構成するものではありません。グラフを客観的に正しい使用方法はありません。他の指標と同様に、独自の戦略を開発するために他のツールと組み合わせて使用する必要があります。
新しいスクリプトを書いてみましょう。作業するスペースを確保するには、チャートから以前のインジケーターを削除し、Bitcoin/BUSD チャートを非表示にします。
研究を定義することから始めましょう。任意の名前を付けますが、overlay=true であることを確認してください。
study(title="Binance Academy スクリプト", overlay=true)上で説明したEMAの計算式を思い出してください。 EMA 期間の乗数を決定する必要があります。これを整数 (つまり、小数点以下の桁がない) の変数 (入力) にしましょう。最小値 (minval) とデフォルト値 (defval) も設定します。
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)この新しい変数を使用して、各ローソク足の EMA 値を計算できます。
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)大丈夫。さて、RSIの話に移りましょう。同様の方法で期間を設定しましょう。
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)これで計算できるようになりました。
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength)この段階では、EMA と RSI の値に応じてローソク足を色付けするロジックを設定しましょう。ローソク足の終値が EMA を超えている場合 (a)、および RSI が 50 を超えている場合 (b) の状況を考えてみましょう。
いったいなぜこのような状況なのでしょうか?これらのインジケーターを組み合わせて使用すると、ビットコインをいつロングまたはショートするかを知ることができます。たとえば、両方の条件が満たされる場合、今がロングポジションをオープンするのに良い時期であることを意味する可能性があります。または逆に、他のインジケーターがそうではないと言っている場合でも、このインジケーターを使用して、いつ空売りをすべきではないかを理解することができます。
スクリプトの次の行は次のようになります。
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal かつ rsiVal > 50 ? color.green : color.redコードを通常の言語に翻訳すると、EMA 値が終値を超え、RSI 値が 50 を超えた場合、ローソク足が緑色になることがわかります。それ以外の場合、色は赤になります。
EMA を追加:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal かつ rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA")最後に、色のパラメーターを追加してキャンドルを描画しましょう。
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal かつ rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(open, high, low, close, color=colors)これがスクリプト全体です。実際の動作を確認するには、グラフに追加します。

EMA/RSIインジケーターを備えたBTC/BUSDチャート。
まとめ
この記事では、TradingView の Pine Editor を使用する簡単な例をいくつか見ていきました。ここまでの例を完了している場合は、価格チャートの簡単なキャプションを作成し、独自のインジケーターから追加情報を取得することができます。
この記事では、いくつかのインジケーターのみに触れましたが、[新規] リストから組み込みスクリプトを選択するか、自分でスクリプトを作成することで、より複雑なインジケーターを自分で分析できます。
インスピレーションをお探しですか?次のプロジェクトのアイデアは以下の記事から得ることができます。
パラボラ SAR システムの使用に関するクイック ガイド
フィボナッチラインの使用ガイド
先行指標と遅行指標
MACDインジケーターとは何ですか
