가격 움직임, 피라미딩, 5% 이익 실현, 3% 손절매


생성 날짜: 2024-04-30 16:20:28 마지막으로 수정됨: 2024-04-30 16:20:28
복사: 0 클릭수: 705
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

가격 움직임, 피라미딩, 5% 이익 실현, 3% 손절매

개요

이 전략은 가격 행동과 피라미드 포지션 방법을 사용하여, 가격이 5% 떨어지면 포지션을 열고, 피라미드 포지션 방식으로 포지션을 계속 열고, 가격이 5% 상승했을 때 평정된다. 이 전략의 주요 장점은 트렌드 형성 초기 개입이며, 피라미드 포지션 방식으로 수익 기회를 증가시킨다. 동시에, 이 전략은 위험을 제어하기 위해 3%의 스톱 로드도 설정한다.

전략 원칙

  1. 가격이 5% 떨어지면 더 많이 내세요.
  2. 다음 5개의 K선에서, 가격이 계속 떨어지면, 4개의 K선까지 계속 포지션을 올립니다.
  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į