ゆとり世代の自由研究

勉強が一生終わりません

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)