가격 절감에 기반한 구매 전략

저자:차오장, 날짜: 2024-02-21 14:48:59
태그:

img

전반적인 설명

이 전략의 핵심 아이디어는 주식의 폐쇄 가격이 하루의 개장 가격보다 높을 때 구매하는 것입니다. 구매 조건이 충족되면 전략은 종료 가격에 촛불을 닫을 때 길게 갈 것입니다. 손해를 멈추고 이익을 취하는 가격이 설정됩니다. 가격이 이 두 가격에 도달하면 포지션은 종료됩니다.

전략 원칙

일일 촛불의 폐쇄 가격은 개장 가격보다 높으면 그 날 주가가 상승했다는 것을 의미합니다. 이것은 구매 신호입니다. 개장 가격에서 폐쇄 가격의 돌파구는 구매력이 상당히 강하고 주가가 계속 상승할 가능성이 있음을 나타냅니다.

따라서 이 전략의 거래 신호는: Daily Candlestick Close Price > Daily Candlestick Open Price입니다. 이 조건이 충족되면 해당 촛불의 폐쇄 가격으로 구매하고 매일 보유합니다.

이 전략은 두 가지 매개 변수를 사용합니다.

  1. 입시 가격: 구매 가격, 기본값은 0, 즉 폐쇄 가격으로 구매

  2. 영업이익 매개 변수: 영업이익 매개 변수, 영업이익 가격 공식은: 입시 가격 * (1 + 영업이익 매개 변수), 기본 값은 0.5%, 입시 가격의 0.5%에 해당합니다.

구체적인 거래 과정은 다음과 같습니다.

  1. 촛불이 닫을 때까지 기다리고 닫기 가격 > 하루의 오픈 가격인지 확인
  2. 조건이 충족되면 종료 가격으로 구매
  3. 포지션을 열고, 중지 손실을 설정하고 수익 가격을
  4. 가격이 상승하면 이윤을 얻을 수 있습니다.
  5. 가격이 다음 촛불의 가장 낮은 지점으로 떨어지면, 손실을 멈추기 위해 포지션을 닫습니다
  6. 매일 단계 1~5을 반복합니다.

이점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 이 아이디어는 간단하고 이해하기 쉽고 실행하기 쉽습니다.
  2. 그것은 단지 작은 데이터 요구 사항과 함께 무역 신호 판단을 위해 촛불의 개방 및 폐쇄 가격을 필요로
  3. 마감 위험은 작고, 손실을 제어하기 위해 스톱 로스 및 수익 메커니즘을 사용합니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 하루 동안 여러 구매 기회가있을 수 있지만 전략은 닫는 동안 한 번만 구매하고 일부 기회를 놓칠 수 있습니다.
  2. 가격은 종료 후 콜백을 할 수 있습니다.

위험은 다음과 같이 감소 할 수 있습니다.

  1. 구매 신호가 발사 된 후, 하루의 가장 높은 가격을 추적하고 위치를 동적으로 조정하기 위해 AdjustAmount 기능을 사용
  2. 중지 손실 설정 지연 및 종료 후 한 기간 동안 수익을 취하기 위해 즉시 중지 손실을 유발 피하기

최적화 방향

이 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 부피 확인을 추가합니다. 예를 들어 구매 신호를 확인하기 위해 부피 또는 시장 열 지표를 추가합니다.
  2. 동적 스톱 손실을 사용 하 여 구매 후 수익을 취하고, 정지 손실을 조정 하 고 실시간으로 수익 가격을 취
  3. 개별 주식에 대해 특정 매개 변수를 설정하고 매개 변수를 자동으로 최적화하기 위해 기계 학습 방법을 사용하십시오.
  4. 포지션 관리 메커니즘을 추가하고 마감 위험을 피하기 위해 포지션 크기를 조정합니다.

결론

이 전략은 가까운 가격 돌파를 기반으로 구매 신호를 생성한다. 아이디어는 작은 드래운드 리스크와 함께 간단하다. 확인 지표, 동적 스톱 로스/이익 취득, 매개 변수 최적화 등을 추가함으로써 전략의 안정성과 수익성을 더욱 향상시킬 수 있다. 전반적으로, 이 전략은 오픈 가격 돌파 전략에 관심이 있는 투자자들에게 적합하며, 매우 좋은 실용성을 가지고 있다.


/*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")


더 많은