이치모쿠 킨코 히오 미인 역전 전략

저자:차오장, 날짜: 2023-09-24 13:11:38
태그:

전반적인 설명

이 전략은 이치모쿠 킨코 히오 지표, 일일 브레이크오웃, 가우스 평형 이동 평균, MACD 및 다른 기술적 지표를 통합하여 트렌드 방향을 결정하고 신뢰할 수있는 입구 지점을 찾습니다.

전략 논리

  1. 이치모쿠 킨코 호의 판단: 기본선 위의 전환선 교차는 상승 신호입니다.

  2. 매일의 파업 판단: 어제보다 높은 오늘의 폐쇄

  3. 가우시안 평형 MA 판단: MA 이상의 가격 크로스오버는 상승률입니다.

  4. MACD 판단: DIFF가 DEA를 넘어서면 상승률이 높습니다.

  5. 위의 요인을 결합하여 트렌드 변화와 입점점을 결정합니다.

장점

  1. 여러 가지 지표가 정확도를 향상시킵니다.

  2. 내일 및 다중 시간 프레임 확인은 거짓 탈출을 피합니다.

  3. 이치모쿠 킨코 히오는 트렌드를 안정적으로 결정합니다.

  4. 가우시안 평형 MA는 작은 지연이 있습니다.

  5. MACD는 동력 변화를 판단합니다.

위험성

  1. 여러 가지 동시 상태가 출입의 가능성을 감소시킵니다.

  2. 잘못된 지표 매개 변수는 잘못된 신호를 생성할 수 있습니다.

  3. 일내 신호와 다중 시간 프레임 신호가 충돌할 수 있습니다.

  4. 가짜 탈출은 여전히 발생하고 손실을 발생시킵니다.

가능한 해결책:

  1. 입력을 늘리기 위해 매개 변수를 조정하세요.

  2. 다양한 제품과 시간 프레임에 대한 매개 변수를 최적화합니다.

  3. 다른 시간 프레임에서 신호를 조정합니다.

  4. 손실을 제한하기 위해 Stop Loss를 사용하세요.

최적화 방향

  1. 더 나은 신호를 얻기 위해 다른 지표 조합을 테스트합니다.

  2. 더 많은 데이터에서 판단을 개선하기 위해 기계 학습을 추가합니다.

  3. 트렌드 검출을 추가하여 트렌드 반대 거래를 피합니다.

  4. 안정성을 위해 자금 관리를 최적화하세요

  5. 스톱 로스를 최적화하고 수익성을 위해 수익을 취합니다.

요약

이 전략은 트렌드 방향을 결정하기 위해 여러 지표를 통합하고, 시간 프레임과 지표에 걸쳐 검증된 높은 확률의 상승 신호를 입력합니다. 매개 변수를 조정하고, 지표 조합을 최적화하여 더 많은 신호를 통합하고, 더 많은 거래 기회를 위해 안정성을 유지함으로써 더 많은 데이터를 통합하여 개선 할 수 있습니다.


/*backtest
start: 2022-09-17 00:00:00
end: 2023-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=26, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0,precision=6)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, step=1)
ot=1
p = input(7, minval=1, title="Length")
pi=3.1415926535
w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret1= pow(alfa,4)*close+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
ret2= pow(alfa,4)*close[1]+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = ret1<ret2 and close<ret2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
longCondition = ret1>ret2 and strategy.opentrades<ot and confidence>dt and close>ret2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
//                         /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//a1=plot(n1,color=c)
//a2=plot(n2,color=c)
//plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")
//p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
//p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart

더 많은