커뮤니티

fisher transform

프로필 이미지
고성
2026-09-12 06:49:44
94
글번호 233593
답변완료

1. 트레이딩뷰 수식을, 예스 수식으로 변환.  fish1 상승은 적색,하락은 청색. 

2. 시스템:  최근 20봉중의 최고점에서, 최저점이 -10p 아래일 때,(상승전환시 종가는 -10 위여도 무관)

                    fish1 이 상승전환하면 매수, 다음봉에 매수청산.

                   하락은 반대.   감사합니다.


//@version=6

indicator(title="Fisher Transform", shorttitle="Fisher", format=format.price, precision=2, timeframe="", timeframe_gaps=true)

len = input.int(9, minval=1, title="Length")

high_ = ta.highest(hl2, len)

low_ = ta.lowest(hl2, len)

round_(val) => val > .99 ? .999 : val < -.99 ? -.999 : val

value = 0.0

value := round_(.66 * ((hl2 - low_) / (high_ - low_) - .5) + .67 * nz(value[1]))

fish1 = 0.0

fish1 := .5 * math.log((1 + value) / (1 - value)) + .5 * nz(fish1[1])

fish2 = fish1[1]

hline(1.5, "1.5", color=#E91E63)

hline(-1.5, "-1.5", color=#E91E63)

plot(fish1, color=#2962FF, title="Fisher")

plot(fish2, color=#FF6D00, title="Trigger")

지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2026-09-14 09:12:10

안녕하세요 예스스탁입니다. input : len (9); var : high_(0),low_(0),hl2(0),val(0),value(0); var : fish1(0),fish2(0); hl2 = (h+l)/2; high_ = highest(hl2, len); low_ = lowest(hl2, len); val = .66 * ((hl2 - low_) / (high_ - low_) - .5) + .67 * iff(IsNan(value[1])==true,0,value[1]); value = 0.0; value = iff(val > .99 , .999 , iff(val < -.99 , -.999 , val)); fish1 = 0.0; fish1 = .5 * log((1 + value) / (1 - value)) + .5 * iff(IsNan(fish1[1])==true,0,fish1[1]); fish2 = fish1[1]; plot1(fish1, "Fisher"); plot2(fish2, "Trigger"); PlotBaseLine1(1.5, "1.5"); PlotBaseLine2(-1.5, "-1.5"); 즐거운 하루되세요
프로필 이미지

고성

2026-09-14 09:40:49


1. fish1 (plot1) 상승과 하락 색상도 구분해주세요
2. 시스템식도 부탁드립니다. (내용은 위 2항)
프로필 이미지

예스스탁 예스스탁 답변

2026-09-14 13:54:25

안녕하세요 예스스탁입니다. 1 input : len (9); var : high_(0),low_(0),hl2(0),val(0),value(0); var : fish1(0),fish2(0),clr(0); hl2 = (h+l)/2; high_ = highest(hl2, len); low_ = lowest(hl2, len); val = .66 * ((hl2 - low_) / (high_ - low_) - .5) + .67 * iff(IsNan(value[1])==true,0,value[1]); value = 0.0; value = iff(val > .99 , .999 , iff(val < -.99 , -.999 , val)); fish1 = 0.0; fish1 = .5 * log((1 + value) / (1 - value)) + .5 * iff(IsNan(fish1[1])==true,0,fish1[1]); fish2 = fish1[1]; if fish1 > fish1[1] Then clr = Red; if fish1 < fish1[1] Then clr = Blue; plot1(fish1, "Fisher",clr); plot2(fish2, "Trigger"); PlotBaseLine1(1.5, "1.5"); PlotBaseLine2(-1.5, "-1.5"); 2 input : len (9); var : high_(0),low_(0),hl2(0),val(0),value(0); var : fish1(0),fish2(0),T(0); hl2 = (h+l)/2; high_ = highest(hl2, len); low_ = lowest(hl2, len); val = .66 * ((hl2 - low_) / (high_ - low_) - .5) + .67 * iff(IsNan(value[1])==true,0,value[1]); value = 0.0; value = iff(val > .99 , .999 , iff(val < -.99 , -.999 , val)); fish1 = 0.0; fish1 = .5 * log((1 + value) / (1 - value)) + .5 * iff(IsNan(fish1[1])==true,0,fish1[1]); fish2 = fish1[1]; if fish1 > fish1[1] Then T = 1; if fish1 < fish1[1] Then T = -1; if lowest(L,20) <= highest(H,20)-10 and T == 1 and T != T[1] Then Buy(); if MarketPosition == 1 and BarsSinceEntry == 1 Then ExitLong(); if highest(H,20) >= lowest(L,20)+10 and T == -1 and T != T[1] Then Sell(); if MarketPosition == -1 and BarsSinceEntry == 1 Then ExitShort(); 즐거운 하루되세요