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

チャートデータが更新される可能性があります。
ここで、豊富な機能を備えたチャートを取得したいので、ボタンをクリックして入力します。次に、より詳細なビュー、描画ツール、傾向線を描画するためのオプション、およびその他の機能を確認できます。

完全に機能するチャート。強調表示されたタブの上にある [表示] をクリックすると、スケジュールを調整できます。
利用可能なさまざまなツールの使用方法については説明しませんが、本当にテクニカル分析を実行したい場合は、まずそれらのツールに慣れることを強くお勧めします。左下 (図の輪郭を参照) にいくつかの異なるタブが表示されます。[Pine Editor] をクリックします。
パインエディター

この編集者はすごいですね。実行したい内容を指定して、「チャートに追加」をクリックすると、追加した注釈がチャートに表示されることがわかります。複数のアノテーションを同時に追加すると混乱してしまうため、この例では削除します (チャート内で右クリック > インジケーターの削除)。
ご覧のとおり、すでに数行のコードが存在します。 「チャートに追加」をクリックして、何が起こるか見てみましょう。

元のグラフの下に 2 番目のグラフを追加します。新しいグラフにはまったく同じデータが表示されます。私のスクリプトの上にマウスを置き、×をクリックして削除します。それでは、コードを見てみましょう。
研究(「マイスクリプト」)最初の行は注釈を設定するだけです。必要なのは、呼び出したいインジケーターの名前 (この場合は「My Script」) だけですが、いくつかのオプションのパラメーターを追加することもできます。そのうちの 1 つはオーバーライドです。このパラメーターは、インジケーターを (新しいチャートではなく) 既存のチャートに配置するように TradingView に指示します。リストした最初の例からわかるように、デフォルト値は false です。どのように機能するかはまだわかりませんが、overlay=true により既存のチャートにインジケーターが追加されます。
チャートを描く(閉じる)この線は、ビットコインの終値をチャート化するための指示です。グラフ作成では折れ線グラフを表示するだけですが、後で説明するように、ローソク足チャートや棒グラフを表示することもできます。
それでは、次のことを試してみましょう。
//@version=4study("My Script", overlay=true) plot(open, color=color.purple)追加すると、2 番目のチャートが表示されます (元のチャートが右側に移動したように見えます)。私たちが行うのは始値をチャート化することであり、その日の始値は前日の終値であるため、これらのチャートがまったく同じ動きをすることは当然です。
大丈夫!現在の注釈を削除しましょう (これを行うには、右クリックして [インジケーターの削除] をクリックします)。マウスをビットコイン/BUSD に置き、[非表示] ボタンをクリックして現在のチャートを削除します。
多くのトレーダーは、先ほど作成した単純なチャートよりも多くの情報を提供できる K ライン チャートの使用を好みます。次に、描画したグラフを追加してみましょう。
//@version=4study("My Script", overlay=true)plotcandle(open, high, low, close)始まりは良かったのですが、くすんだ色なので少し味気なく見えました。理想的には、K ライン チャートは、始値が終値よりも低い場合は赤色になり、終値が始値よりも高い場合は緑色になるはずです。 Lotcandle() 関数の上に行を追加します。
//@version=4 Study("My Script", overlay=true) Colors = open >= close?color.red: color.green putcandle(open, high, low, close)これには、各 K ライン チャートを調べて、始値が終値以上であるかどうかを確認する必要があります。この場合、この期間中に価格が下落したことを意味し、ローソク足チャートが赤くなります。それ以外の場合は緑色に変わります。 Lotcandle() 関数を変更し、次の配色を追加します。
//@version=4 Study("My Script", overlay=true) Colors = open >= close?color.red: color.green プロットキャンドル(open, high, low, close, color=colors)まだ削除していない場合は、既存のメトリックを削除し、このメトリックをグラフに追加します。これで、K 線チャートに似たチャートが描画されたはずです。

よくやった!
移動平均 (MA) を引く
いくつかの基本的な操作が完了しました。最初のカスタム指標である指数移動平均 (EMA) を見てみましょう。このツールは、市場のノイズを除去し、価格変動を滑らかにすることができるので便利です。
EMA は、最近のデータに重点を置くという点で、単純移動平均 (SMA) とは少し異なります。突然の変化により反応する傾向があり、短期操作 (デイトレードなど) によく使用されます。
単純移動平均 (SMA)
SMA をプロットして、後で 2 つを比較することもできます。この行をスクリプトに追加します。
プロット(sma(close, 10))これは、過去 10 日間の平均をプロットします。括弧内の数値を調整して、長さの変化に応じてカーブがどのように変化するかを確認します。

SMA は過去 10 日間のデータに基づいています。
指数移動平均 (EMA)
EMA は理解するのがさらに複雑ですが、心配する必要はありません。まずこの式を分析してみましょう。
EMA = (終値 – 前日のEMA) * マルチプル – 前日のEMAこれは何を示しているのでしょうか?毎日、前日の値に基づいて新しい移動平均値が計算されます。この倍数は最近の日数で「重み付け」され、次の式を使用して計算されます。
倍数 = 2/(EMA 長 + 1)単純移動平均と同様に、EMA の長さに値を割り当てる必要があります。構文的には、EMA 関数のプロットは SMA 関数のプロットと似ています。これを SMA と並べてプロットすると、2 つを比較できます。
//@version=4study("My Script", overlay=true) plot(sma(close, 10)) put(ema(close, 10))
これら 2 つのタイプの MA は若干異なることがわかります。
➟ 暗号通貨の旅を始めてみませんか? Binance でビットコインを購入することへようこそ!
組み込みスクリプト
ここまでは、直感的に理解できるようにコードを手動で記述してきました。次に、特により複雑なスクリプトを作成したいが、最初から開始したくない場合に、時間を節約できるいくつかの機能を紹介します。
エディターの右上隅にある「新規」をクリックします。さまざまなテクニカル指標を表示するドロップダウン メニューが表示されます。移動平均インデックスをクリックして、EMA インジケーターのソース コードを表示します。

クリックしてグラフに追加します。
このインデックスは私たちのインデックスとは異なります。input() 関数に注目してください。このボックスをクリックするだけで済むため、ユーザビリティの観点から見ても優れています。

...設定の歯車アイコンをクリックすると、ポップアップ ウィンドウのいくつかの値を簡単に変更できます。

これを示すために、次のスクリプトにいくつかの input() 関数を追加します。
相対強度指数 (RSI) 指標をグラフ化する
相対強度指数 (RSI) は、テクニカル分析におけるもう 1 つの重要な指標です。モメンタム指標として知られ、資産が売買される価格を測定します。 RSI スコアは、0 から 100 のスケールで、投資家に資産が買われすぎているのか、売られすぎているのかを伝えようとします。通常、資産のスコアが 30 以下の場合は売られすぎとみなされ、スコアが 70 以上の場合は買われすぎと見なされます。
[新規] > [RSI 戦略] に移動して、自分の目で確認してください。 RSI は通常 14 周期 (つまり 14 時間または 14 日) で測定されますが、戦略に合わせてこの設定を自由に調整できます。
RSI をチャートに追加します。いくつかの矢印が表示されるはずです (このコードの Strategy.entry() 関数で定義されています)。 RsiLE は、売られすぎている可能性があるため、資産を拡張する潜在的な機会を表します。 RsiSE は、資産が買われすぎている場合にショートする可能性のあるポイントを強調します。すべての指標と同様に、これらの指標を価格が下落または上昇するという決定的な証拠として必ずしも受け入れる必要はないことに注意してください。
バックテスト
独自のカスタムインジケーターをテストする方法があります。過去のパフォーマンスは将来の結果を保証するものではありませんが、スクリプトをバックテストすることで、シグナルをキャッチする際の有効性を知ることができます。
以下に簡単なスクリプトの例を示します。私たちは、ビットコインの価格が 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 (価格 >= exit) Strategy.close_all(comment="SellTheNews")ここでは、エントリとイグジットを変数として定義します。両方とも入力です。つまり、チャートの後半で両方に変更を加えることができます。また、各期間の終値を取得するための価格変数も設定します。次に、if ステートメントのパターンに従うロジックがいくつかあります。括弧内の部分が true の場合、その下のインデントされたブロックが実行されます。それ以外の場合はスキップされます。
したがって、価格が希望するエントリー価格以下で、最初の式が true と評価される場合は、ロングポジションをオープンします。価格が必要な決済価格以上になると、2 番目のブロックがトリガーされ、オープン ポジションがすべてクローズされます。
チャートにどこでエントリー/エグジットするかを示す矢印の注釈を付けます。そのため、評価パラメーターを使用して、それらのポイントをマークするもの (この場合は「BuyTheDip」と「SellTheNews」) を指定します。コードをコピーしてチャートに追加します。

これらのインジケーターをチャートで確認できるようになりました。増幅が必要な場合があります。
TradingViewは古いデータにルールを自動的に適用します。また、TradingView が Pine Editor から Strategy Tester タブに切り替わることもわかります。これにより、潜在的な利益の概要、取引のリスト、各指標のパフォーマンスを確認できます。

私たちが入ったり出たりしたポジション。
組み合わせた
ここで、これまでに説明した概念のいくつかを使用して独自のスクリプトを作成できます。 EMA と RSI を組み合わせて、それらの値を使用して K ライン チャートの色に影響を与え、理解しやすいようにします。
しかし、これは財務上のアドバイスではなく、これらの指標を使用する客観的に正しい方法はありません。他のすべてのツールと同様に、独自の投資戦略を開発するには他のツールと組み合わせる必要があります。
それでは、新しいスクリプトを見てみましょう。チャートからすべてのインジケーターを削除し、ビットコイン/BUSD チャートを非表示にして、クリーンな運用背景を確保します。
まず定義を見てみましょう。任意の名前を付けますが、必ず overlay=true に設定してください。
Study(title="バイナンス アカデミー スクリプト", overlay=true)以前の EMA の計算式を思い出してください。倍数を計算するにはEMAの長さを使用する必要があります。これを、小数点以下のない整数の桁数を必要とする入力に変えてみましょう。最小値 (minval) とデフォルト値 (defval) も設定します。
Study(title="Binance Academy スクリプト", overlay=true) emaLength = input(title="EMA 長さ", 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 長さ"、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 長さ"、type=input.integer、defval=25、minval=0) rsiVal = rsi(close, rsiLength)この段階では、EMAとRSIの値に応じてローソク足の色を決定するロジックをまとめてみましょう。 (a) ローソク足が EMA を上回って終了し、(b) RSI が 50 を上回っていると仮定します。
なぜこのように仮定する必要があるのでしょうか?なぜなら、ビットコインをいつロングまたはショートするかを知るために、これらのインジケーターの組み合わせを使用することを決定する可能性があるからです。たとえば、これら 2 つの条件が満たされているということは、今がロングをするのに適した時期であると考えるかもしれません。あるいは逆に、他のインジケーターが反対のことを示している場合でも、いつ空売りをすべきではないかを自分に思い出させるために使用できます。
したがって、コードの次の行は次のようになります。
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 長さ"、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 長さ"、type=input.integer、defval=25、minval=0) rsiVal = rsi(close, rsiLength) Colors = close > emaVal および rsiVal > 50? color.green: color.red プロット(emaVal, "EMA")最後に、K 線グラフを描画します。色のパラメーターを必ず含めてください。
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 長さ"、type=input.integer、defval=25、minval=0) rsiVal = rsi(close, rsiLength) Colors = close > emaVal および rsiVal > 50?color.green: color.red put(emaVal) 、「EMA」) プロットキャンドル(始値、高値、安値、終値、色=色)そして、脚本が書かれます!これをチャートに追加して、どのように機能するかを確認してください。

EMA/RSIインジケーターを備えたビットコイン/BUSDチャート。
要約する
この記事では、いくつかの基本的な例を通して、TradingView の Pine エディターの機能を説明します。これで、自信を持って価格チャートに簡単な注釈を付けて、独自の指標からより多くの洞察を得ることができるはずです。
この記事ではこれらのインジケーターのいくつかのみを取り上げましたが、より複雑なインジケーターを構築することは難しくありません。新しい組み込みスクリプトを作成するか、独自のスクリプトを作成するかを選択できます。
まだインスピレーションが足りないですか?次の記事は、次のプロジェクトのアイデアを提供するかもしれません。
パラボラ インジケーターの簡単なガイド
『フィボナッチリトレースメント学習ガイド』
「先行指標と遅行指標の詳しい解説」
指数移動平均(MACD)インジケーターの詳細説明

