
この戦略の核心思想は,株価の閉盘価格が開盤価格より高いときに買い操作を行うことである.購入条件を満たしたときに,戦略は,このK線の閉盘時に閉盘価格で多ポジションに入るであろう.その後,ストップ・ロス価格とストップ・価格を設定し,価格がこれらの2つの価格に触れたときに平仓するであろう.
当日のK線の閉盘価格が開盘価格より高く,当日の株価が上昇していることを示す.これは買入シグナルである.閉盘価格が当日の開盤価格を突破し,買い手の力が比較的強いことを示す.株価が上昇し続ける見込みである.
したがって,この戦略の取引シグナルは,当日のK線閉店価格 >当日のK線開店価格である.この条件を満たす場合,そのK線閉店時に閉店価格で購入し,日ごとに保有する.
この戦略には2つのパラメータがあります.
エントリー価格: 購入価格で, 0 をデフォルトで, 終了価格で購入
Take Profit Parameter: ストップパラメータ,ストップ価格の計算式は:Entry Price * (1 + ストップパラメータ),デフォルトは0.5%で,購入価格の0.5%に相当する
具体的には以下の通りです.
この戦略は以下の利点があります.
この戦略にはいくつかのリスクがあります.
リスクは以下の方法で軽減できます.
この戦略は,以下の点で最適化できます.
この戦略は,閉盤価格の突破をベースに買い信号を生成し,考え方はシンプルで,引き戻しのリスクは小さい.確認指標,ダイナミックストップ・ストップ・損失,パラメータ最適化などの手段を追加することによって,戦略の安定性と収益性をさらに向上させることができます.全体的に,この戦略は,開盤突破戦略に興味のある投資家の使用と最適化に適しており,優れた実用性を持っています.
/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Buy on Close Strategy", overlay=true)
// Входные параметры
var float entry_price = na
if (na(entry_price))
entry_price := input.float(title="Entry Price", defval=0)
// Функция для расчета Take Profit
calc_take_profit(price) =>
price * 1.005 // 0.5% от суммы сделки
// Проверяем условие для открытия позиции на покупку
buy_condition = close > open
// Переменная для отслеживания открытой позиции
var bool open_position = na
// Реализация стратегии
if (buy_condition)
// Открываем сделку на покупку
strategy.entry("Buy", strategy.long)
open_position := true
// Закрываем позицию по Take Profit или при закрытии свечи
if (open_position)
// Рассчитываем уровень Take Profit
take_profit_level = calc_take_profit(entry_price)
// Закрываем сделку по Take Profit
strategy.exit("Take Profit", "Buy", limit=take_profit_level)
// Закрываем сделку при закрытии свечи
if (close < open)
strategy.close("Close Candle", "Buy")