TradingViewはPine Scriptをさらに向上させ、いくつかの新機能を追加しました。
Heikin Ashiチャートでのよりリアルなバックテスト
Heikin Ashiチャート上で実行されるバックテストは、通常、ブローカーエミュレータが常にチャートの価格を使用して注文を埋めるため、信頼性の低いバックテスト結果が生じていました。新機能の「標準OHLCを使用して注文を埋める」はこの問題を緩和します。この機能を使用すると、Heikin Ashiチャート上で実行されるストラテジーは実際の市場価格で注文を埋めるため、ストラテジーのリアルタイムでの挙動をより忠実にシミュレートします。
ストラテジーのユーザーは、「プロパティ」タブでこの機能を有効にできますし、プログラマーはstrategy()宣言文で新しいfill_orders_on_standard_ohlcパラメータを使用してそのデフォルト値を定義できます。この機能はデフォルトでオフになっています。
なお、これはHeikin Ashiチャートで実行されるストラテジーの挙動のみを変更します。レンコチャートなどの他の合成チャートタイプでは、この機能の設定に関係なくバックテストは引き続き合成チャート価格で注文を埋めます。
input.*()関数用の新しい表示パラメータ
新しい表示パラメータは、スクリプト名の横に入力値の表示をより細かく制御できます。4つの引数が使用できます: display.status_line、display.data_window、display.all、およびdisplay.none。プラスまたはマイナス記号を使用して引数の組み合わせが可能で、どの引数を使用しても、入力値は常にスクリプトの設定の「入力」タブに表示されます。
新しいパラメータを使用すると、通常、ステータスラインに表示される入力値を非表示にしたり、通常非表示のブール値、カラー、または日付入力の値を表示したり、スクリプト名の横に入力値をデータウィンドウに表示できます。パラメータを使用しない場合は、入力値のデフォルト表示が変更されません。
インストゥルメント情報にアクセスするための新しいビルトイン
TradingViewは、syminfo.sector、syminfo.industry、およびsyminfo.countryの3つのビルトインをsyminfo名前空間に追加しました。これらは、現在のシンボルに関するさらなる情報を提供する文字列を返します。国の情報はISO 3166-1 alpha-2フォーマットで提供されます。
ストラテジーでの実行済み注文のアラートを無効にする
disable_alert = trueを使用して、ストラテジー内で個々の注文の通知を無効にすることができます。
これは、アラート()関数を使用してストラテジーの実行中に通知やWebhookのためのカスタムメッセージを生成する際、特定の注文をフィルタリングするのに役立ちます。
ストラテジーでの最大ドローダウンとランアップの計算方法の変更
最大ドローダウンと最大ランアップの計算方法が改善され、取引内で可能だった資本を考慮に入れるようになりました。以前は、エントリーポイントと退出ポイントでのキャピタル値のみが考慮されていましたが、これにより、最大ドローダウンとランアップの値がそれぞれの最大の潜在的な値に対応しないことがありました。新しいメソッドについての詳細は、最大ドローダウンと最大ランアップのヘルプセンターの記事で説明されています。
ユーザー定義型のフィールドにvarip修飾子を適用するためのサポート
変数が同じバー上でスクリプトの各実行で値を保持することを可能にするvarip修飾子は、ユーザー定義型のフィールドにも適用できるようになりました。varipを使用して定義されていないフィールドは、各バーでロールバックされるため、そのオブジェクトがvaripを使って作成されたとしても、それらに割り当てられた値は保持されません。
通貨換算レートの要求
TradingViewは新しいrequest.currency_rate()関数を導入し、ある通貨から別の通貨への換算レートを取得できるようにしました。この関数にはfromとtoの2つのパラメータが必要で、それぞれISO 4217に準拠した3文字の文字列コードです。
配列のために4つの新しい関数が追加されました:
array.first() — 配列の最初の要素を返します。
array.last() — 配列の最後の要素を返します。
array.every() — 配列のすべての要素がtrueの場合はtrueを返し、それ以外の場合はfalseを返します。
array.some() — 配列の少なくとも1つの要素がtrueの場合はtrueを返し、それ以外の場合はfalseを返します。
新しいPine Script®の機能について最新情報を得るには、ユーザーマニュアルのリリースノートをチェックしてください。









