리소스 로딩... 로딩...

가격 액션, 피라미딩, 5% 수익 목표, 3% 스톱 로스

저자:차오장, 날짜: 2024-04-30 16:20:28
태그:

img

전반적인 설명

이 전략은 가격 액션과 피라미딩 방법을 사용하여 가격이 5% 떨어지면 포지션을 열고 그 다음 포지션을 닫기 위해 가격이 5% 상승할 때까지 피라미딩을 통해 포지션을 추가하는 것을 계속합니다. 이 전략의 주요 장점은 트렌드 형성에 일찍 시장에 진출하고 피라미딩을 통해 수익 기회를 증가시키는 것입니다. 동시에 전략은 위험을 제어하기 위해 3%의 스톱 로스를 설정합니다.

전략 원칙

  1. 가격이 5% 하락하면 긴 포지션을 개척합니다.
  2. 다음 5개의 촛불 안에, 가격이 계속 하락한다면, 최대 4번까지 포지션을 추가합니다.
  3. 가격이 5% 상승하면 모든 포지션을 닫고 수익을 얻습니다.
  4. 피라미딩 과정에서 가격이 3%의 스톱 로스를 달성하면 모든 포지션을 닫고 스톱 로스를 종료합니다.

전략적 장점

  1. 트렌드 형성 초기 시장에 진출하여 가격 역전의 기회를 잡습니다.
  2. 피라미드 구조를 통해 수익 기회를 늘립니다.
  3. 위험 조절을 위해 스톱 로스를 설정합니다.
  4. 수동 개입 없이 24시간 작동합니다.

전략 위험

  1. 피라미드화 과정에서 가격이 급격히 하락하면 스톱 로스를 유발할 수 있으며 이로 인해 손실이 발생할 수 있습니다.
  2. 이윤을 취하기 전에 가격이 크게 변동하면 이윤을 줄일 수 있습니다.
  3. 시장이 심각한 변동성이나 블랙 스완 이벤트를 경험하면 전략은 상당한 손실을 입을 수 있습니다.

전략 최적화 방향

  1. 포지션 추가 및 폐쇄의 비율을 최적화하십시오. 예를 들어 가격이 3% 떨어지면 포지션을 추가하고 가격이 7% 상승하면 포지션을 닫는 것을 고려하십시오. 이것은 위험을 제어하면서 수익 기회를 증가시킬 수 있습니다.
  2. RSI와 MACD와 같은 더 많은 기술적 지표를 도입하여 개시 및 폐쇄 포지션의 경향과 타이밍을 판단하는 데 도움이 됩니다.
  3. 다른 시장 환경과 품종에 대한 다른 매개 변수를 설정하여 다른 시장 특성에 적응합니다.

요약

이 전략은 트렌드 형성 초기 시장 진입을 위해 가격 액션과 피라미딩 방법을 사용하며 여러 포지션을 추가함으로써 수익 기회를 증가시킵니다. 동시에 전략은 위험을 제어하기 위해 스톱 로스를 설정합니다. 전략은 일부 위험에 직면 할 수 있지만, 포지션 추가 및 폐쇄의 비율을 조정하고 더 많은 기술적 인 지표를 도입하는 등의 추가 최적화로 전략의 안정성과 수익성이 향상 될 수 있습니다.


/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("G Strategija su piramidavimu", overlay=true)


// Vartotojo įvestis investicijų sumai
investment_amount = input(1000.0, title="Investicijų suma")


// Nustatyti nuostolių ir pelno pasiekimo procentus
lossPercentage = input(3, title="Nuostolio procentas (%)") / 100


// Kintamasis saugoti atidarytoms pozicijoms
var int[] entryIndexes = array.new_int(0)
var float[] entryPrices = array.new_float(0)


// Kintamasis, nustatantis, ar turėtume atidaryti naują poziciją
var bool should_buy = false
var int open_candle_count = 0
var int positionCounter = 1 // Pozicijos skaitiklis


// Įėjimo logika (pirkti, kai kaina krenta)
if (hour >= 0 and hour <= 23) // Tikrina, ar yra 24 valandų
    should_buy := false
    for i = 1 to 5
        should_buy := should_buy or (close < close[i] * (1 - lossPercentage))
    if (should_buy and open_candle_count >= 5)
        strategy.entry("Pirkti_" + str.tostring(positionCounter), strategy.long, qty=investment_amount / close)
        array.push(entryIndexes, bar_index)  // Įrašyti atidarymo laiko indeksą
        array.push(entryPrices, close) // Įrašyti atidarymo kainą
        open_candle_count := 0
        positionCounter := positionCounter + 1 // Atnaujinti pozicijos skaitiklį
    else
        open_candle_count := open_candle_count + 1


// Išėjimo logika (uždaryti, kai pasiekiamas pelno lygis)
for i = 0 to array.size(entryIndexes) - 1
    var float takeProfitPrice = na // Nustatyti pradinę reikšmę "na"
    if array.size(entryPrices) > i and array.size(entryPrices) > 0
        takeProfitPrice := array.get(entryPrices, i) * 1.05 // Skaičiuojamas pelno pasiekimo lygis: 5% aukščiau atidarymo kainos
    strategy.exit("TakeProfit_" + str.tostring(i+1), "Pirkti_" + str.tostring(i+1), limit=takeProfitPrice) // Pridėti pelno pasiekimo lygį kaip išėjimo lygį

더 많은