
이 전략의 핵심 아이디어는 주식 가격 종료 가격이 오픈 가격보다 높을 때 구매 작업을 수행하는 것입니다. 구매 조건이 충족되면, 전략은 K 라인 종료 시 종료 가격으로 다중 입장에 들어갈 것입니다. 그 다음에는 중지 손실 가격과 중지 가격을 설정하고, 가격이 이 두 가격에 닿으면 평정 상태가 될 것입니다.
그날 K선 종점 가격은 개시 가격보다 높아서 그날의 주가가 상승했다는 것을 나타냅니다. 이것은 구매 신호입니다. 종점 가격은 그날의 개시 가격을 돌파하여 구매자의 힘이 상대적으로 강하다는 것을 나타냅니다. 주가가 계속 상승할 것으로 예상됩니다.
따라서, 이 전략의 거래 신호는 다음과 같습니다: 당일 K 라인 종료 가격 > 당일 K 라인 개시 가격. 이 조건이 충족되면, 해당 K 라인 종료 시에는 종료 가격으로 구매하고, 일일 보유한다.
이 정책은 두 가지 변수를 사용합니다.
Entry Price: 매입 가격, 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")