導入

適切な取引ツールがなければ、効果的なテクニカル分析を実行することはできません。堅実な取引戦略は、よくある間違いを回避し、リスク管理を改善し、機会を特定して活用する能力を高めるのに役立ちます。

多くの人にとって、TradingView は参照チャート プラットフォームです。テクニカル分析ツールのハブを提供するこの強力な HTML5 Web アプリケーションは、外国為替、仮想通貨、従来の株式市場の動きを監視するために何百万人もの人々に使用されています。

TradingView には多くの強力な機能があり、多数の取引プラットフォームにわたる資産を監視したり、ソーシャル ネットワーク内で取引アイデアを投稿したりできます。この記事では、そのカスタマイズ機能に焦点を当てます。 TradingView独自のプログラミング言語であるPine Scriptを使用します。これにより、グラフィック形式をきめ細かく制御できます。

始めましょう!


パインスクリプトとは何ですか?

Pine Script は、TradingView チャートを変更するために使用できるスクリプト言語です。このプラットフォームには、そのための多くの機能がすでに提供されていますが、Pine Script を使用すると、さらに一歩進めることができます。ローソク足の色を変更する場合でも、新しい戦略をバックテストする場合でも、Pine Editor を使用すると、リアルタイム チャートを必要に応じてカスタマイズできます。

コード自体は詳しく文書化されているため、詳細については必ずユーザー マニュアルを参照してください。このチュートリアルの目的は、基本原則のいくつかについて説明し、暗号通貨取引に役立つ可能性のある指標を提示することです。


設定

Pine Script を使い始めるのは非常に簡単です。作成したコードはすべてTradingViewのサーバー上で実行されるため、追加のダウンロードや設定を必要とせずに、ブラウザからエディタにアクセスしてスクリプトを開発できます。

このチュートリアルでは、ビットコイン/バイナンス USD (BTCBUSD) 通貨ペアを「チャート」します。まだ登録していない場合は、無料アカウントを登録してください (プロ サブスクリプションも利用できますが、このガイドでは必要ありません)。

このリンクをたどると、次のようなグラフが表示されます。


Gráfico BTCBUSD en tradingview

おそらくあなたのものはもっと最新のものになるでしょう。


ここまで来たら、完全な機能を備えたチャートが必要になります。ボタンをクリックしてアクセスします。これにより、より詳細なビュー、描画ツール、傾向線を描画するためのオプションなどが提供されます。


Gráfico completo en tradingview para BTCBUSD

フル機能のチャート。強調表示されたタブの上に表示されるビューをクリックすると、時間間隔を調整できます。


利用可能なさまざまなツールの使用方法については説明しませんが、テクニカル分析に真剣に取り組んでいる場合は、それらのツールに慣れることを強くお勧めします。左下 (画像に示されている) に、一連の異なるタブが表示されます。[Pine Editor] をクリックします。


パインエディター


captura de pantalla del pine editor


このエディターは魔法が起こる場所です。何をしたいのかを伝えてから、「チャートに追加」をクリックして、上に注釈がどのように表示されるかを確認します。一度に複数の注釈を含めると状況が複雑になる可能性があることに注意してください。そのため、異なる例の間で注釈を削除します。チャートを右クリックし、[インジケーターの削除] をクリックします。

すでに数行のコードがあることがわかります。 [チャートに追加] をクリックして、何が起こるかを見てみましょう。


Añadiendo primer script al gráfico tradingview


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(始値、高値、安値、終値)

スタートとしては良いのですが、色が少ないので少し味気ないものになってしまいます。理想的には、当該期間の始値が終値よりも大きい場合は赤いローソク足が表示され、終値が始値を上回る場合は緑のローソク足が表示されるはずです。そこで、plotcandle() 関数の上に行を追加します。

//@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)

現在のインジケーターをまだ削除していない場合は削除し、これをチャートに追加します。これで、通常のローソク足チャートのようなものができたはずです。


Gráfico de velas en tradingview

貴重な!


移動平均 (MA) をプロットする

基本的な要素のいくつかはすでに用意されています。次に、最初のカスタム指標である指数移動平均 (EMA) を見てみましょう。これは、市場のノイズを除去し、価格変動を滑らかにすることができる貴重なツールです。

EMA は、最新のデータにより大きな重みを与えるという点で、単純移動平均 (SMA) とは若干異なります。突然の動きに反応する傾向があり、短期プレイ (デイトレードなど) によく使用されます。


単純移動平均 (SMA)

SMA をプロットして、後で 2 つの平均を比較することもできます。次の行をスクリプトに追加します。

プロット(sma(close, 10))

これにより、過去 10 日間の平均がプロットされます。括弧内の数値を調整して、さまざまな長さを考慮したときにカーブがどのように変化するかを確認します。


Media móvil basada en los 10 días anteriores

過去 10 日間に基づく SMA。


指数移動平均 (EMA)

EMAは少しわかりにくくなりますが、心配する必要はありません。まず式を分解してみましょう。

EMA = (終値 - 前日のEMA) * 乗数 - 前日のEMA

では、これは何を物語っているのでしょうか?さて、毎日、前日の移動平均に基づいて新しい移動平均を計算します。乗数は、最新の期間を「重み付け」するもので、次の式で計算されます。

乗数 = 2 / (EMA 長 + 1)

単純な移動平均と同様に、EMA の長さを指定する必要があります。構文的には、EMA をプロットする関数は SMA の関数と似ています。これを SMA の隣にプロットして、2 つを比較できるようにします。

//@version=4
study("My Script", overlay=true)
plot(sma(close, 10))
plot(ema(close,10))


EMA y SMA en un gráfico de tradingview

両方のタイプの MA の間にわずかな違いがあることがわかります。


➠ 暗号通貨の世界を始めてみようと考えていますか?バイナンスでビットコインを買おう!


組み込みスクリプト

これまでは、コードに慣れるために手動でコードを作成してきました。次に、特により複雑なスクリプトを最初から作成したくない場合に、時間を節約できる要素を紹介します。

エディターの右上にある「新規」をクリックします。あらゆる種類の異なるテクニカル指標を含むドロップダウン メニューが表示されます。 [移動平均指数] をクリックして、EMA インジケーターのソース コードを表示します。



Media móvil exponencial en un script pine

これをグラフに追加してください。


これは私たちのものとは異なります。input() 関数が分かるでしょう。このボックスをクリックすれば操作できるので、使いやすさの観点から見ても優れています。


Modificando un gráfico en la interfaz de tradingview


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


cambiar las entradas en EMA


これを示すために、次のスクリプトにいくつかの input() 関数を追加します。


相対強度指数 (RSI) インジケーターにフラグを立てます

相対強度指数 (RSI) も重要なテクニカル分析指標です。これは「モメンタム」指標として知られており、資産が売買される速度を測定することを意味します。 RSI スコアは 0 から 100 のスケールで表示され、資産が「買われすぎ」か「売られすぎ」かを投資家に知らせようとします。通常、資産のスコアが 30 以下の場合は売られすぎ、スコアが 70 以上の場合は買われすぎと見なされます。

[新規] > [RSI 戦略] に移動すると、自分で確認できます。 RSI は通常、14 周期 (つまり 14 時間または 14 日) で測定されますが、独自の戦略に合わせて設定を変更できます。

これをグラフに追加します。いくつかの矢印が表示されるはずです (コード内の Strategy.entry() 関数によって定義されています)。 RsiLE は、資産が売られすぎている可能性があるため、資産を延長する潜在的な機会を示します。 RsiSE は、資産が買われすぎているときに空売りする可能性のあるポイントを強調します。すべての指標と同様に、価格が上昇または下降するという確実な証拠としてそれらを必ずしも信頼すべきではないことに注意してください。


バックテスト

カスタムインジケーターをテストする方法があります。過去のパフォーマンスは将来の結果を保証するものではありませんが、スクリプトをバックテストすることで、シグナルを検出するのにどれだけ効果的であるかを知ることができます。

以下に簡単なスクリプトの例を示します。 BTC の価格が 11,000 ドルを下回ったときにロングポジションを入力し、価格が 11,300 ドルを超えたときにポジションを終了する簡単な戦略を作成してみましょう。したがって、この戦略が歴史的にどれほど収益性が高かったかがわかります。

//@version=4
strategy("ALaLuna", overlay=true)
enter = input(11000)
exit = input(11300)
price = close

if (price <= enter)
strategy.entry("CompraLaCaída", strategy.long, comment="CompraLaCaída")
if (price >= exit)
strategy.close_all(comment="VendeLasNoticias")

ここでは入力と出力を変数として定義しました。これらは両方とも入力なので、後でグラフ上で変更できることを意味します。また、各期間の終値を取得する価格変数も設定します。したがって、if ステートメントの形式でロジックがいくつかあります。角括弧内の部分が true の場合、以下のインデントされたブロックが実行されます。それ以外の場合はスキップされます。

したがって、価格が希望するエントリー以下の場合、最初の式は true と評価され、ロングポジションをオープンします。価格が希望の出力と等しいかそれを超えると、2 番目のブロックがアクティブになり、すべてのオープンポジションがクローズされます。

どこに入るかどこから出るかを示す矢印でチャートに注釈を付けます。そのため、これらのポイントにどのようなラベルを付けるかをコメント パラメーターで指定します (この例では、「BuyTheDip」と「SellTheNews」)。コードをコピーしてグラフに追加します。


indicador activo en el gráfico tradingview

これで、チャート上にインジケーターが表示されます。ズームアウトする必要がある場合があります。


TradingViewは古いデータにルールを自動的に適用します。また、[Pine Editor] から [Strategy Tester] タブに切り替わることもわかります。これにより、潜在的な利益の概要、取引のリスト、および個々のパフォーマンスを確認できます。


Trading view strategy tester

私たちが入ったり出たりしたポジション。


ピースを組み立てる

これまで見てきた概念のいくつかを使用して独自のスクリプトを作成します。 EMA と RSI を組み合わせ、その値を使用してローソク足に色を付けます。これにより、簡単に視覚化できる情報が返されます。

これは財務上のアドバイスとして解釈されるべきではありません。この指標を使用する客観的に正しい方法はありません。他のツールと同様に、独自の戦略を開発するには他のツールと併用する必要があります。

それでは、新しいスクリプトに取り組んでみましょう。チャートからすべてのインジケーターを削除し、Bitcoin/BUSD チャートも非表示にします。そうすれば、きれいなキャンバスで作業できるようになります。

研究を定義することから始めましょう。自由に名前を付けてください。ただし、必ず overlay = true に設定してください。

study(title="Binance アカデミー スクリプト", 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 の長さ", 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 の長さ", 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 を超えている状況を考えてみましょう。

なぜなら?これらの指標を組み合わせて使用​​して、短期または長期でビットコインを購入するタイミングを判断できると判断できます。たとえば、両方の条件を満たすということは、ロングポジションをエントリーするのに良い時期であると考えるかもしれません。あるいは逆に、たとえ他のインジケーターがそうではないとしても、いつ空売りすべきではないかを知らせるためにそれを使用することができます。

したがって、次の行は次のようになります。

study(title="Binance Academy Script", overlay=true)
emaLength = input(title="EMA の長さ", 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 の長さ", 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
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)

そしてそれが脚本です!チャートに追加して実際の動作を確認します。


Script de Tradingview en acción

EMA/RSIインジケーターを備えたBTC/BUSDチャート。


結論は

この記事では、TradingView の Pine エディターで何ができるかの基本的な例をいくつか見ていきます。この時点で、独自のインジケーターから追加情報を得るために、価格チャートに簡単な注釈を必ず作成する必要があります。

ここではいくつかのインジケーターのみに注目しましたが、New の組み込みスクリプトを選択するか、自分でスクリプトを作成することで、より複雑なインジケーターを生成するのは簡単です。

インスピレーションが足りない?次の記事は、次のプロジェクトのアイデアを提供するかもしれません。

  • パラボラSARインジケーターの簡単なガイド

  • フィボナッチリトレースメントをマスターするためのガイド

  • 先行指標と遅行指標の概要 (先行/遅行指標)

  • MACDインジケーターの説明