導入
適切な取引ツールがなければ、テクニカル分析を効果的に実行することはできません。健全な取引戦略は、よくある間違いを回避し、リスク管理の有効性を高め、機会を特定して活用する能力を高めるのに役立ちます。
多くの人にとって、TradingView は包括的なチャート プラットフォームです。さまざまなテクニカル分析ツールを備えたこの強力な HTML5 Web アプリケーションは、外国為替、仮想通貨、従来の株式市場の動きを追跡するために何百万人ものユーザーに使用されています。
TradingViewには多くの便利な機能があり、ユーザーは複数の取引プラットフォームにわたって資産を追跡し、TradingViewのソーシャルネットワークで取引アイデアを公開できます。この記事では、このプラットフォームのカスタマイズ機能に焦点を当てます。 TradingView独自のスクリプト言語であるPine Scriptを使用します。これにより、チャートのレイアウトを詳細に制御できます。
始めましょう!
パインスクリプトとは何ですか?
Pine Script は、TradingView 上のチャートを変更するために使用できるスクリプト言語です。このプラットフォームにはこれを行うための多くの機能がすでに備わっていますが、Pine Script を使用するとさらに一歩進めることができます。ローソク足の色を変更したい場合でも、新しい戦略をバックテストしたい場合でも、Pine Editor を使用すると、必要に応じてリアルタイムでチャートをカスタマイズできます。
コード自体は完璧に設計されているため、詳細については必ずマニュアルを確認してください。このガイドの目的は、いくつかの基本事項について説明し、暗号通貨を取引する際に役立つ指標を紹介することです。
確立する
Pine Script は簡単に始めることができます。私たちが作成したすべてのコードはTradingViewのサーバー上で実行されるため、ダウンロードや追加の設定を行わずに、ブラウザからエディタにアクセスしてスクリプトを開発できます。
このガイドでは、ビットコイン/バイナンス USD (BTCBUSD) 通貨ペアのチャートを作成します。お持ちでない場合は、無料アカウントを作成してください (プロ サブスクリプションもありますが、このチュートリアルでは必要ありません)。
このリンクをクリックすると、次のようなグラフが表示されます。

あなたのチャートは私たちのチャートより新しいかもしれません。
ここでは、フル機能のチャートを使用します。ボタンをクリックしてアクセスします。このチャートは、より詳細な情報、描画ツール、トレンドラインを描画するためのオプションなどを提供します。

完全な機能を備えたチャート。強調表示されたタブの上のビューをクリックすると、時間枠を調整できます。
利用可能なツールの使用方法については説明しませんが、本格的なテクニカル分析を行いたい場合は、これらのツールについて学ぶ必要があります。左下 (画像に表示) にいくつかの異なるタブが表示されます。[Pine Editor] をクリックします。
パインエディター

このエディタは本当に役に立ちます。やりたいことを述べてから、「チャートに追加」をクリックして、上に凡例が表示されることを確認します。一度に多くの注釈を含めると混乱が生じる可能性があるので、例では注釈を削除します (チャートを右クリック > インジケーターの削除)。
数行のコードがあることがわかります。 「グラフに追加」をクリックして、何が起こるかを確認します。

2 番目のグラフが元のグラフの下に追加されます。新しいグラフは同じデータを表します。 [マイ スクリプト] の上にカーソルを置き、スラッシュをクリックして削除します。それでは、コードの詳細を見ていきましょう。
study("私のスクリプト")この最初の行はコメントを作成しているだけです。この行では、インジケーターに希望の名前 (この場合は「My Script」) を付けるよう求められるだけですが、追加できる (オプションの) パラメーターもいくつかあります。そのうちの 1 つはオーバーレイで、TradingView にインジケーターを (新しいセグメントではなく) 既存のチャートに配置するように指示します。最初の例でわかるように、システムのデフォルトは 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 をプロットすることもできるので、後で 2 つを比較できます。次のコード行をスクリプトに追加します。
プロット(sma(close, 10))このコード行は、過去 10 日間の平均をプロットします。括弧内の数値を調整して、さまざまな長さを考慮したときに曲線がどのように変化するかを確認します。

SMA、過去 10 日間に基づく。
指数移動平均 (EMA)
EMA は少しわかりにくくなりますが、心配しないでください。まず、式を分解してみましょう。
EMA = (終値 - 前日のEMA) * 乗数 - 前日のEMAでは、この公式は何を教えてくれるでしょうか?毎日、前日の移動平均に基づいて新しい移動平均を計算します。乗数は最新の期間を「重み付け」し、次の式に従って計算されます。
乗数 = 2 / (EMA の長さ + 1)単純な移動平均の場合、EMA の長さを決定する必要があります。構文的には、EMA プロット関数は SMA プロット関数と似ています。 EMA を SMA と並べてプロットして、2 つを比較できるようにします。
//@version=4 study("My Script", overlay=true) plot(sma(close, 10)) plot(ema(close,10))
2 種類の MA にはわずかな違いがあることがわかります。
➠ 暗号通貨の旅を始めてみませんか?バイナンスでビットコインを買おう!
プリセットスクリプト
ここまでは、コードを明確に理解できるように手動でコードを作成してきました。ただし、特により複雑なスクリプトを作成していて、最初から始めたくない場合に、時間を節約する別の方法について説明します。
エディターの右上にある「新規」をクリックします。すべての種類のテクニカル指標を表示するドロップダウン メニューが表示されます。 [移動平均指数] をクリックして、EMA インジケーターのオープンソース コードを表示します。

このコード行をチャートに追加してください。
このコード行は私たちのものとは異なります。input() 関数に注目してください。このボックスをクリックすると操作できるので、ユーザビリティの観点からは便利な機能です。

...設定アイコンをクリックすると、ポップアップ ウィンドウの一部の値を簡単に変更できます。

これを示すために、次のスクリプトに input() 関数をいくつか追加します。
相対強度指数 (RSI) インジケーターの描画
相対強度指数 (RSI) は、テクニカル分析におけるもう 1 つの重要な指標です。モメンタム指標として知られるこの指標は、資産の売買速度を測定します。 RSI スコアは 0 ~ 100 のスケールで、投資家に資産が買われすぎているのか、売られすぎているのかを示します。通常、スコアが 30 以下の場合、資産は売られすぎとみなされ、スコアが 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は履歴データにルールを自動的に適用します。また、TradingView が Pine Editor から Strategy Tester タブに移動していることに気づくでしょう。これにより、潜在的な利益、取引リスト、各取引のパフォーマンスの概要を確認できます。

私たちが入ったポジションと退場したポジション。
リンク
ここで、これまでの最初の概念のいくつかを使用して独自のスクリプトを作成します。 EMA と RSI を組み合わせ、その値を使用してローソク足に色を付け、簡単に視覚化できる洞察を提供します。
このコンテンツは財務上のアドバイスとして解釈されるべきではありません。この指標を使用する客観的に正しい方法はありません。他のインジケーターと同様に、このインジケーターを他のツールと併用して独自の戦略を開発する必要があります。
次に、新しいスクリプトに取り組みます。チャートからすべてのインジケーターを削除し、ビットコイン/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にアクセスします。同様の方法で 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 の値に応じてローソク足を着色するロジックを組み合わせます。 (a) ローソク足の終値が EMA を超え、(b) RSI が 50 を超えている状況を想定してみましょう。
なぜ?ビットコインの売買時期を知るために、これらの指標を組み合わせて使用することもできます。たとえば、これらの条件が両方とも満たされた場合は、ロングポジションをエントリーするのに適切な時期であると考えるかもしれません。または逆に、他のインジケーターがそうでない場合でも、このインジケーターを使用して、ショートすべきでない時期を知ることができます。
したがって、コードの次の行は次のようになります。
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 エディターでできることの基本的な例をいくつか紹介しました。価格チャートに簡単な注釈を自信を持って作成して、独自のインジケーターからより多くの洞察を得ることができるようになりました。
ここではいくつかのインジケーターのみに注目しますが、[新規] セクションから組み込みスクリプトを選択するか、自分でスクリプトを作成することで、より複雑なインジケーターを簡単に作成できます。
アイデアが不足していませんか?次の記事は、次のプロジェクトのアイデアを提供するかもしれません。
パラボラ SAR インジケーターの簡単なガイド
フィボナッチリトレースメントインジケーターの使用手順
高速インジケーターと低速インジケーターについて説明する
MACDインジケーターの説明
