Pineスクリプト リファレンス strategy

strategy

この関数はいくつかのストラテジーのプロパティを設定します。
strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, risk_free_rate, use_bar_magnifier) → void
//@version=5
strategy("Strategy", overlay = true)

// Enter long by market if current open is greater than previous high.
strategy.entry("Long", strategy.long, 1, when = open > high[1])
// Generate a full exit bracket (profit 10 points, loss 5 points per contract) from the entry named "Long".
strategy.exit("Exit", "Long", profit = 10, loss = 5)
引数
title (const string) インジケーター/ストラテジーウィジェットで表示されるインジケーターのタイトル。必須の引数です。
shorttitle (const string) チャートの凡例に表示される短いインジケーターのタイトル。オプション引数です。
overlay (const bool) trueの場合、インジケーターは主系列のオーバーレイとして追加されます。falseの場合 ― 別のチャートペインに追加されます。デフォルトはfalseです。
format (const string) 価格軸におけるインジケーターの値をフォーマットするタイプ。可能な値は以下の通りです。{var format.inherit}, format.priceformat.volume。デフォルトはformat.inherit です。
precision (const int) 価格軸におけるインジケーターの値に対する浮動小数点以下の桁数。負でない整数で16を越えない範囲で設定する必要があります。省略した場合、親系列のフォーマットが使用されます。フォーマットがformat.inheritでこの引数が設定されている場合、フォーマットはformat.priceとなります。
scale (scale_type) インジケーターが割り当てられる価格スケール。可能な値は scale.rightscale.leftscale.none です。値 scale.none は、'overlay = true' の設定との組み合わせでのみ適用できます。省略された場合は、メインスケールが使用されます。
pyramiding (const int) 同じ方向に許可されるエントリーの最大数。値が0の場合、同じ方向のエントリーオーダーを1つだけ開くことができ、以降のエントリー注文は拒否されます。デフォルト値は0です。
calc_on_order_fills (const bool) バー内での注文の計算を1回追加します。このパラメーターが 'true' に設定されている場合、ストラテジーは注文が約定した後に(バーの終値でだけでなく)バー内でもう一度再計算されます。デフォルト値は 'false' です。
calc_on_every_tick (const bool) イントラバー(バー内)のストラテジーの追加計算。パラメーターが 'true' の場合、ストラテジーは、バーの終値ではなく、リアルタイムで毎ティック計算を行います。このパラメータは、ヒストリカルデータでのストラテジーの計算には影響を与えません。デフォルト値は 'false' です。
max_bars_back (const int) ストラテジーで履歴参照可能なバーの最大数。このパラメーターは、スクリプトコード内に変数の履歴データの参照 (‘[]’ 演算子が使用されます) がある場合に、スクリプト内のすべての内蔵変数またはユーザー変数に適用されます。通常、Pineスクリプト™の変数のバッファサイズは自動検出されますが、場合によっては自動検出ができないこともある為、このパラメータではユーザーが手動でこの値の上限を設定することができます。注: パラメータの代わりに max_bars_back 関数を使用すると、1つの変数のみに適用されるため最適です。
backtest_fill_limits_assumption (const int) 指値注文実行の想定。指値注文は、市場価格が指値注文の水準を指定されたティック数だけ超える場合にのみイントラバーで約定されます。
default_qty_type (const string) strategy.entry または strategy.order 関数で `qty` パラメーターに指定する値が何を表すかを決定します。利用可能な値は、契約数/株数/ロット数の strategy.fixed、通貨建ての金額の strategy.cash、利用可能な資金に対するパーセンテージの strategy.percent_of_equity です。
default_qty_value (const int/float) strategy.entry または strategy.order 関数で 'qty' パラメーターが指定されていない場合に、'default_qty_type' 引数で定義した単位で取引するデフォルトの数量。
currency (const string) ストラテジーの口座通貨。オプション引数で、デフォルトは、チャート上で取引されているシンボルの通貨です。利用可能な値は、 currency.NONEcurrency.USDcurrency.EURcurrency.AUDcurrency.GBPcurrency.NZDcurrency.CADcurrency.CHFcurrency.HKDcurrency.JPYcurrency.NOKcurrency.SEKcurrency.SGDcurrency.TRYcurrency.ZARcurrency.BTCcurrency.ETHcurrency.MYRcurrency.KRWcurrency.USDT です。
slippage (const int) 市場の売買価格やストップ注文の約定価格に加算/減算されるティック単位のスリッページです。mintick=0.01 で slippage=5 の場合、スリッページの合計は、5*0.01=0.05 になります。
commission_type (const string) 注文の手数料タイプ。利用できる値は以下の3つです: strategy.commission.percent (注文金額のパーセンテージ)、strategy.commission.cash_per_contract (取引毎に口座通貨の一定額)、strategy.commission.cash_per_order (注文毎に口座通貨の一定額)
commission_value (const int/float) 注文の手数料値。選択されたタイプ(commission_type)に応じてパーセントまたは金額が含まれる。
process_orders_on_close (const bool) `true` に設定すると、バーがクローズしてストラテジーの計算が完了した後に、追加で注文の試行が行われます。注文が成行注文の場合には、ブローカエミュレーターは次のバーの始値の前にその注文を実行します。注文が価格条件付きの場合には、注文は価格条件が合致する場合のみ約定されます。このオプションは現在のバーでポジションを閉じたい場合に便利です。デフォルト値は 'false' です。
close_entries_rule (const string) 注文がクローズされる順序を決定します。許可される値は: 'FIFO' または 'ANY' です。FIFO (First-In, First-Out) では、複数のトレードがオープンしている時には最も早いトレードが最初に閉じられます。このルールは、株式、先物、米国のFX (NFAコンプライアンスルール 2-43b) に適用されます。'ANY' はトレードが任意の順序で閉じられる可能性を意味します(これは米国以外のFXで許可されています)。デフォルト値は 'FIFO' です。
max_lines_count (const int) 表示される直近のライン描画の数。デフォルト値は50で、許可される最大値は500です。
max_labels_count (const int) 表示される直近のラベル描画の数。デフォルト値は50で、許可される最大値は500です。
max_boxes_count (const int) 表示する直近のボックス描画の数。デフォルト値は50で、最大許容値は500です。
margin_long (const int/float) マージンロングとは、ロングポジションの場合に、現金または担保によってカバーしなければならない購入価格の割合のことです。正の数値である必要があります。オプションです。デフォルトは100です。
margin_short (const int/float) マージンショートとは、ショートポジションの場合に、現金または担保によってカバーしなければならない購入価格の割合のことです。正の数値である必要があります。オプションです。デフォルトは100です。
explicit_plot_zorder (const bool) インジケーターのプロット、塗りつぶし、水平線のレンダリング順を指定します。trueの場合、プロットはインジケータのコード上の順序に基づいて描画され、新しいプロットは前のプロットの上に描画されます。これは plot*() 関数、fillhline にのみ適用されます。オプション引数。デフォルトは false です。
initial_capital (const int/float) ストラテジーの取引に利用可能な初期資金です。`currency` で定義した通貨建てで指定します。オプション引数で、デフォルトは 1000000 です。
risk_free_rate (const int/float) リスクフリー収益率とは、最小リスクまたはゼロリスクでの投資の価値の年間変動率で、シャープレシオとソルティノレシオの計算に使用されます。
use_bar_magnifier (const bool) `true` の場合、ブローカーエミュレーターはより現実に即した結果を得るため、バックテスト中では下位の時間足のデータを使用します。オプションです。デフォルトはfalseです。この機能を利用できるのはPremiumプランのアカウントに限られます。
備考
全てのストラテジースクリプト毎に strategy を呼び出す必要があります。
Pineスクリプト™のコードで引数 `calc_on_every_tick = true` を使用すると、ヒストリカルデータとリアルタイムデータで異なる計算が行われる可能性があります。
標準外のチャートタイプを戦略のベースに使用した場合は、成績が変わってしまいます。注文がそのチャートの価格で実行されるからです。(例えば、平均足のチャートでは平均足の価格(平均価格)で実行され、実際のマーケット価格では実行されません。) 従い、戦略を作成する場合は標準のチャートを使用することを強くお勧めします。
 

strategy.entry

市場ポジションを持つためのコマンドです。同じIDを持つ注文が既に保留中の場合には注文を変更できます。指定されたIDの注文が無い場合には新規注文が発注されます。エントリー注文を無効にするには、strategy.cancel または strategy.cancel_all を使用して下さい。strategy.order関数と比較すると、strategy.entry関数はピラミッディングの影響を受け、市場ポジションを正しく反転させることができます。'limit' と 'stop' 双方のパラメータが 'NaN' の場合には、注文の種類は成行注文です。
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message) → void
//@version=5
strategy(title = "simple strategy entry example")
strategy.entry("enter long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.entry("enter short", strategy.short, 1, when = open < low[1]) // enter short by market if current open less then previous low
引数
id (series string) 必須パラメーター。注文の識別子です。識別子を指定する事で注文の変更やキャンセルが可能となります。
direction (strategy_direction) 必須パラメーターです。市場ポジションの方向: 'strategy.long' はロング、 'strategy.short' はショートを表します。
qty (series int/float) オプションパラメーター。トレードの契約/株式/ロット/ユニット数です。デフォルト値は 'NaN' です。
limit (series int/float) オプションパラメーター。注文の指値価格です。指定した場合、注文の種類は 'imit' または 'stop-limit' です。'NaN' の場合は他の注文の種類になります。
stop (series int/float) オプションパラメーター。注文の逆指値価格です。指定した場合、注文の種類は 'stop' または 'stop-limit' です。'NaN' の場合は他の注文の種類になります。
oca_name (series string) オプションパラメーター。注文が属するOCAグループの名前です。注文が特定のOCAグループに属さない場合は、空の文字列にして下さい。
oca_type (input string) オプションパラメーター。OCAグループの種類です。許可される値は: strategy.oca.none - 注文は特定のOCAグループに属しません。strategy.oca.cancel - 注文はOCAグループに属し、注文が約定されると同じグループの他のすべての注文はキャンセルされます。strategy.oca.reduce - 注文はOCAグループに属し、X数の注文が約定すると、同じOCAグループの他の注文のポジション数はX減少します。
comment (series string) オプションパラメーター。注文に関する追加のメモです。
when (series bool) オプションパラメーター。注文の条件です。条件が 'true' の場合、注文が発注されます。条件が 'false' の場合には何も起こりません(以前発注された同じIDの注文はキャンセルされません)。デフォルト値は 'true' です。
alert_message (series string) 「アラート作成」ダイアログボックスの「メッセージ」欄で {{strategy.order.alert_message}} のプレースホルダーが用いられた際に、それを置き換えるアラートメッセージを設定するオプションパラメーター。

strategy.exit

これは、特定のエントリーまたはすべてのマーケットポジションを決済するコマンドです。もし同じIDを持つ注文が既に保留中の場合は、注文を変更することができます。もしエントリー注文が約定されていない時に決済注文が生成された場合、エントリー注文が約定されるまで待ってから、決済注文が出されます。決済注文を無効にするには、コマンド strategy.cancel または strategy.cancel_all を使用する必要があります。関数 strategy.exit が一度だけ呼び出された場合には、一度だけポジションを決済します。複数回決済したい場合には、コマンド strategy.exit を複数回呼び出す必要があります。ストップロスとトレーリングストップを使用する場合には、それらの注文タイプは 'stop' であり、そのうちの1つの注文(最初に約定すると思われるもの)だけが出されます。もし次のすべてのパラメータ 'profit'、'limit'、'loss'、'stop'、'trail_points'、 'trail_offset' が 'NaN' の場合、コマンドは失敗します。成行注文を使用して決済するには、コマンド strategy.close または strategy.close_all を使用する必要があります。
strategy.exit(id, from_entry, qty, qty_percent, profit, limit, loss, stop, trail_price, trail_points, trail_offset, oca_name, comment, comment_profit, comment_loss, comment_trailing, when, alert_message, alert_profit, alert_loss, alert_trailing) → void
//@version=5
strategy(title = "simple strategy exit example")
strategy.entry("long", strategy.long, 1, when = open > high[1]) // enter long by market if current open great then previous high
strategy.exit("exit", "long", profit = 10, loss = 5) // generate full exit bracket (profit 10 points, loss 5 points per contract) from entry with name "long"
引数
id (series string) 必須パラメーター。注文の識別子です。識別子を指定する事で注文の変更やキャンセルが可能となります。
from_entry (series string) オプションパラメーター。エグジットする特定のエントリー注文のID。全てのエントリーを終了するには空の文字列を利用して下さい。デフォルト値は空の文字列です。
qty (series int/float) オプションパラメーター。トレードを終了する契約/株式/ロット/ユニット数です。デフォルト値は 'NaN' です。
qty_percent (series int/float) ポジションを閉じる割合を0~100で指定します。優先順位は、'qty' パラメーターよりも低くなります。オプション引数で、デフォルトは 100 です。
profit (series int/float) オプションパラメーター。利益目標 (ティックで指定) 。利益目標が指定されている場合、指定された利益額 (ティック) に達すると、マーケットポジションを決済するための注文が行われます。デフォルト値は 'NaN' です。
limit (series int/float) オプションパラメーター。利益目標(特定の価格が必要)。利益目標が指定されている場合は、決済注文は指定価格(またはそれ以上)でマーケットのポジションを決済するための注文が発注される。パラメーター'limit'の優先度は、パラメーター'profit'の優先度より高くなります(値が'NaN'ではない場合、'profit'の代わりに'linit'が使用される)。デフォルト値は'NaN'です。
loss (series int/float) オプションパラメーター。損切(ティックで指定する)。もしティックでの損切が指定されている場合は、特定の損失合計額(ティックにおいて)に達すると、マーケットポジションの決済注文が発注されます。デフォルト値は 'NaN' です。
stop (series int/float) オプションパラメーター。損切 (特定の価格が必要)。もし損切が指定されている場合は、特定の価格(もしくはそれ以上悪化の価格)で市場のポジションを終了するための損切注文が出される。パラメータ 'stop'の優先度は、パラメータ 'loss'の優先度よりも高くなります(値が 'NaN'でない場合、 'loss'の代わりに 'stop'が使用されます)。デフォルト値は 'NaN' です。
trail_price (series int/float) オプションパラメーター。トレーリングストップ活動レベル(特定の価格が必要)。トレーリング注文が指定されている場合、指定された価格レベルに達した時にトレーリングストップ注文が行われる。トレーリングストップ注文の初期価格を決定する補正値(ティック)は、 'trail_offset'パラメーターで指定されます。アクティブ化レベルより低いXティックは買いポジションを閉じます。アクティブ化レベルより高いXティックは売りポジションを閉じる。デフォルト値は 'NaN' です。
trail_points (series int/float) オプションパラメーター。トレーリングストップ活動レベル(ティックで指定された利益)。トレーリング注文が指定されている場合、計算された価格レベル(指定利益額)に達すると、トレーリングストップ注文が行われます。トレーリングストップ注文の初期価格を決定する補正値(ティック)は、 'trail_offset' パラメーターで指定されます。アクティブ化レベルより低いXティックは買いポジションを閉じます。アクティブ化レベルより高いXティックは売りポジションを閉じます。デフォルト値は 'NaN' です。
trail_offset (series int/float) オプションパラメーター。トレーリングストップの価格(ティックで指定)。 トレーリング・ストップ・オーダーの初期価格を決定するためのティック単位の補正値。Xティックが'trail_price'または 'trail_points'よりも低い位置にあれば買いポジションを決済します。Xティックが'trail_price'または 'trail_points'よりも高い位置にあれば、売りポジションを決済します。デフォルト値は 'NaN' です。
oca_name (series string) オプションパラメーター。利益目標、ストップロス/トレーリングストップ注文が属する、OCAグループの名前(oca_type = strategy.oca.reduce)。名前が指定されていない場合は、自動的に生成されます。
comment (series string) 注文に関する追加のメモ。指定した場合、チャート上の注文マークの近くに表示されます。オプション引数で、デフォルトは na です。
comment_profit (series string) 特にエグジットが `profit` または `limit` を越えてトリガーされた場合の注文に関する追加のメモ。指定した場合、 `comment` パラメーターよりも優先され、チャート上の注文マークの近くに表示されます。オプション引数で、デフォルトは na です。
comment_loss (series string) 特にエグジットが `stop` または `loss` を越えてトリガーされた場合の注文に関する追加のメモ。指定した場合、 `comment` パラメーターよりも優先され、チャート上の注文マークの近くに表示されます。オプション引数で、デフォルトは na です。
comment_trailing (series string) 特にエグジットが `trail_offset` を越えてトリガーされた場合の注文に関する追加のメモ。指定した場合、 `comment` パラメーターよりも優先され、チャート上の注文マークの近くに表示されます。オプション引数で、デフォルトは na です。
when (series bool) オプションパラメーター。注文の条件です。条件が 'true' の場合、注文が発注されます。条件が 'false' の場合には何も起こりません(以前発注された同じIDの注文はキャンセルされません)。デフォルト値は 'true' です。
alert_message (series string) 「アラート作成」ダイアログの「メッセージ」欄で '{{strategy.order.alert_message}}' プレースホルダーが使用されている場合に置き換わるテキスト。オプション引数で、デフォルトは na です。
alert_profit (series string) 「アラート作成」ダイアログの「メッセージ」欄で '{{strategy.order.alert_message}}' プレースホルダーが使用されている場合に置き換わるテキスト。特にエグジットが `profit` または `limit` を越えてトリガーされた場合にのみ、テキストを置き換えます。オプション引数で、デフォルトは na です。
alert_loss (series string) 「アラート作成」ダイアログの「メッセージ」欄で '{{strategy.order.alert_message}}' プレースホルダーが使用されている場合に置き換わるテキスト。特にエグジットが `stop` または `loss` を越えてトリガーされた場合にのみ、テキストを置き換えます。オプション引数で、デフォルトは na です。
alert_trailing (series string) 「アラート作成」ダイアログの「メッセージ」欄で '{{strategy.order.alert_message}}' プレースホルダーが使用されている場合に置き換わるテキスト。特にエグジットが `trail_offset` を越えてトリガーされた場合にのみ、テキストを置き換えます。オプション引数で、デフォルトは na です。

Pineスクリプト Consecutive Up/Down Strategy

意味

連続アップ/ダウン戦略は、少なくともX連続バーについて、現在のクローズが前のクローズよりも大きい場合に長くなります。少なくともY個の連続するバーについて、現在のクローズが前のクローズよりも低い場合、ショートになります。XおよびY入力は戦略設定で管理されます。戦略設定にアクセスするには、戦略がグラフにオーバーレイされているときに戦略を右クリックするか、グラフの左上の領域にある設定ホイールをクリックします。 

計算

//@version=5
strategy("Consecutive Up/Down Strategy", overlay=true)
consecutiveBarsUp = input(3)
consecutiveBarsDown = input(3)
price = close
ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0
dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0
if (ups >= consecutiveBarsUp)
	strategy.entry("ConsUpLE", strategy.long, comment="ConsUpLE")
if (dns >= consecutiveBarsDown)
	strategy.entry("ConsDnSE", strategy.short, comment="ConsUpLE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

連続アップ/ダウン戦略は、主にトレンド向けに設計されています。これは任意の時間枠で使用でき、連続バーアップと連続バーダウンに割り当てる値によって異なります。これは戦略設定で調整でき、決定するのはあなた次第です。ストラテジーのデフォルトオプションは、3つの連続したアップバーと3つの連続したダウンバーです。これは、前のバークローズの上または下にある3つの連続したバーがある場合、戦略は長くまたは短くなることを意味します。

Pineスクリプト チャネルブレイクアウト・ストラテジー

定義

チャネルブレイクアウト・ストラテジーは、直近X本のバーの最高値と最安値に基づいたチャネルバンドを作成します。(X は「期間」の設定値)。このストラテジーでは、現在のバーの高値が、1つ前のバーのチャネルバンド上限よりも高い場合はロングでエントリーします。現在のバーの安値が、1つ前のバーのチャネルバンド下限よりも低い場合にはショートでエントリーします。

計算

Pineスクリプト
//@version=5
strategy("ChannelBreakOutStrategy", overlay=true)
length = input.int(title="Length", minval=1, maxval=1000, defval=5)
upBound = ta.highest(high, length)
downBound = ta.lowest(low, length)
if (not na(close[length]))
	strategy.entry("ChBrkLE", strategy.long, stop=upBound + syminfo.mintick, comment="ChBrkLE")
strategy.entry("ChBrkSE", strategy.short, stop=downBound - syminfo.mintick, comment="ChBrkSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

サマリー

チャネルブレイクアウト・ストラテジーの目的は、その名の通り、シンボルの価格がチャネルからブレイクアウトするかどうかに基づいて取引の戦略を立てることです。チャネルは期間の長さによって変化しますが、ストラテジーの設定でその期間を選択できます。このストラテジーでは、現在のバーの高値が、1つ前のバーのチャネルバンド上限よりも高い場合はロングでエントリーします。現在のバーの高値が、1つ前のバーのチャネルバンド下限よりも低い場合にはショートでエントリーします。

Pineスクリプト Bollinger Bands Strategy

定義

ボリンジャーバンド・ストラテジーは、他の指標の助けも借りながら、戦略的な構想を伴った取引判断を行うためによく利用されます。ボリンジャーバンドは、アッパーバンド、ミドルバンド、ロワーバンドの合計3つのバンドで構成されています。これらの各バンドは、該当の銘柄が示す極端な価格動向に焦点を当てるために使用されます。アッパーバンドは買われ過ぎの状態として、ロワーバンドは売られ過ぎの状態として、ミドルバンドは移動平均として機能します。

一般的には、強い売りによってロワーバンドをブレイクした後、価格はロワーバンドから上方に戻り、ミドルバンドへと接近していきます。ボリンジャーバンド・ストラテジーではこうした現象を利用しているため、ロワーバンドを下回る終値が必要とされます。それゆえトレーダーやアナリストにとって、売られ過ぎの状態を優位に利用するための具体的な方法の一つとして、ロワーバンドがブレイクされた時点で買いを入れることが妥当だと判断されることもあります。

歴史

ボリンジャーバンドは、1980年代にジョン・ボリンジャーによって考案されました。20世紀末にこのストラテジーが誕生して以来、テクニカル分析を行う人々の間できわめて頻繁に使用されるツールの1つとなりました。

要点と着目点

ボリンジャーバンド・ストラテジーは、売られ過ぎの状態を示すのによく使われる戦略です。しかし、この戦略が正しい場合でも、売り圧力が継続することもあります。このような場合、売り圧力がいつ終わるかを判断するのが難しいこともあり、一旦買ってみるという急な判断をした時の備えとしても保護対策が必要になります。

ストップロス注文は、ロワーバンドで必要以上に買いを入れ続ける取引から、トレーダーやアナリストを守るための戦略の1つです。

制限事項

このストラテジーにはかなり多くの制限事項がありますが、多くの場合は特定の事例に依存しており、市場の動向を追跡するにあたって、このストラテジーをどう利用するかに依存します。ボリンジャーバンド・ストラテジーに従って、価格がすぐにリバウンドするとは限らないということも、その要因の1つです。多くの場合、戦略自体の修正も可能ですが、それでもトレーダーやアナリストがリバウンドの遅れによって大きな損失を被ることを常に防止できるとは限りません。

また、先に述べたように、売り圧力がいつ終わるかを判断することが難しいため、トレーダーが買い進めることを決定した際にも、安全確保のために保護対策を組み合わせておくことが、このストラテジーには不可欠です。

サマリー

ボリンジャーバンド・ストラテジーは、他の指標の助けも借りながら、市場の状況や株式の位置に基づいて戦略的な取引決定を行うためによく使用される戦略です。しかし、一貫した売り圧力が存在し、この圧力がすぐに弱まらないかぎりは、株価は売られ過ぎの状態になり、新安値を更新し続けることになります。ボリンジャーバンド・ストラテジーを効果的に使用するためには、ストップロス注文などの適切な出口戦略を持つことが推奨されます。こうすることによって、売り圧力がどこで終わるかも分からないままにロワーバンドに乗り続ける銘柄価格から、自分の取引と自分自身を確実に保護することができます。 

 

//@version=5
strategy("Bollinger Bands Strategy", overlay=true)
source = close
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
buyEntry = ta.crossover(source, lower)
sellEntry = ta.crossunder(source, upper)
if (ta.crossover(source, lower))
    strategy.entry("BBandLE", strategy.long, stop=lower, oca_name="BollingerBands", oca_type=strategy.oca.cancel, comment="BBandLE")
else
    strategy.cancel(id="BBandLE")
if (ta.crossunder(source, upper))
    strategy.entry("BBandSE", strategy.short, stop=upper, oca_name="BollingerBands", oca_type=strategy.oca.cancel, comment="BBandSE")
else
    strategy.cancel(id="BBandSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Pineスクリプト ストラテジー BarUpDn Strategy

意味

現在のバーが緑色(クローズ>オープン)で、前のバーのクローズの上で開く場合、BarUpDnストラテジーはロングポジションに入ります。現在のバーが赤で、そのオープンが前のバーのクローズより下にある場合、それはショートに入ります。1日あたりの損失率がインジケーター設定で指定された数値を超えると、すべてのポジションがクローズされます。

結論

BarUpDn戦略は、特定のバーが緑で前のバーよりも高いか、赤で前のバーよりも低いかどうかに基づいています。戦略は、価格の迅速な変化を探し、それらの変化をトレードしようと試み、潜在的に上昇トレンドまたは下降トレンドの開始に飛び込むことです。BarUpDn戦略も比較的単純であり、Pine戦略に不慣れな人のための教育の出発点として使用できます。

#strategy(title, shorttitle, overlay, format, precision, scale, pyramiding, calc_on_order_fills, calc_on_every_tick, max_bars_back, backtest_fill_limits_assumption, default_qty_type, default_qty_value, initial_capital, currency, slippage, commission_type, commission_value, process_orders_on_close, close_entries_rule, margin_long, margin_short, explicit_plot_zorder, max_lines_count, max_labels_count, max_boxes_count, risk_free_rate, use_bar_magnifier)

 

//@version=5
strategy("BarUpDn Strategy", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 10)

 

#strategy.percent_of_equity

strategyの宣言文の `default_qty_type` パラメーターに指定することができる引数のひとつです。strategy.entry や strategy.order の関数呼び出しで ‘qty’ パラメーターに値が指定されていない場合にのみ、このパラメータは意味を持ちます。これは、トレードにエントリーする資金のパーセンテージ (0-100) を指定します。
#default_qty_type (const string) strategy.entry または strategy.order 関数で `qty` パラメーターに指定する値が何を表すかを決定します。利用可能な値は、契約数/株数/ロット数の strategy.fixed、通貨建ての金額の strategy.cash、利用可能な資金に対するパーセンテージの strategy.percent_of_equity です。
#default_qty_value (const int/float) strategy.entry または strategy.order 関数で 'qty' パラメーターが指定されていない場合に、'default_qty_type' 引数で定義した単位で取引するデフォルトの数量。


maxIdLossPcnt = input.float(1, "Max Intraday Loss(%)")


strategy.risk.max_intraday_loss(maxIdLossPcnt, strategy.percent_of_equity)

#strategy.risk.max_intraday_loss

一日の間に許容される最大損失。(基準通貨での)金額または日中の最大資産に対するパーセンテージ (0 - 100) で指定します。
 


if (close > open and open > close[1])
    strategy.entry("BarUp", strategy.long)
if (close < open and open < close[1])
    strategy.entry("BarDn", strategy.short)

 

#strategy.entry

市場ポジションを持つためのコマンドです。同じIDを持つ注文が既に保留中の場合には注文を変更できます。指定されたIDの注文が無い場合には新規注文が発注されます。エントリー注文を無効にするには、strategy.cancel または strategy.cancel_all を使用して下さい。strategy.order関数と比較すると、strategy.entry関数はピラミッディングの影響を受け、市場ポジションを正しく反転させることができます。'limit' と 'stop' 双方のパラメータが 'NaN' の場合には、注文の種類は成行注文です。
strategy.entry(id, direction, qty, limit, stop, oca_name, oca_type, comment, when, alert_message) 


//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

#plot

チャート上に一連のデータを描写します。
plot(series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display) 

Google キーワードプランナー

キーワードプランナーとは

 Googleキーワードプランナーは、検索ボリュームと呼ばれるキーワードの検索数を具体的な数値で知ることができます。

 

  • 新しいキーワードを見つける: 商品やサービス、ウェブサイトに関連するキーワードの候補を確認できます。
  • 月間検索ボリュームを確認する: キーワードが 1 か月に獲得する検索数の見積もりを確認できます。
  • 費用を決める: キーワードの検索で表示される広告の平均費用を確認できます。
  • キーワードを整理する: キーワードが、ブランドに関連するさまざまなカテゴリにどのように当てはまるかを確認できます。
  • 新しいキャンペーンを作成する: キーワード プランを使用して、詳細なキーワード調査を中心とした新しいキャンペーンを作成できます。