커뮤니티

수식 변경 부탁드립니다.

프로필 이미지
매버릭
2015-11-02 16:28:10
348
글번호 91958
답변완료
첨부 지표는 RSI다이버전스주가파동선식과 RSI다이버전스지표파동선식과 인데 이것을 RSIBandB다이버전스식으로 수정 부탁드립니다. 감사합니다. ==========RSIBandB수식================= Input : RSIP(14), Period(50),dv(2.1); var : RSIV(0),Mid(0),BBup(0),BBdn(0),RSIBandB(0); RSIV = RSI(RSIP); Mid = ma(RSIV,Period); BBup = Mid+STD(RSIV,Period)*dv; BBdn = Mid-STD(RSIV,Period)*dv; RSIBandB = (RSIv - BBdn)/(BBup - BBdn); =========================================
지표
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2015-11-03 13:58:58

안녕하세요 예스스탁입니다. 1._RSI다이버전스_주가파동선110226 #==========================================# # 지표명 : RSI다이버전스 주가파동선 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:Rsi변동폭(5); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); Input : RSIP(14), Period(50),dv(2.1); var : RSIV(0),Mid(0),BBup(0),BBdn(0),RSIBandB(0); RSIV = RSI(RSIP); Mid = ma(RSIV,Period); BBup = Mid+STD(RSIV,Period)*dv; BBdn = Mid-STD(RSIV,Period)*dv; RSIBandB = (RSIv - BBdn)/(BBup - BBdn); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RSIBandB || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RSIBandB || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RSIBandB[1] && Rsi저[0][1] + Rsi변동폭 <= RSIBandB Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RSIBandB[1] && Rsi고[0][1] - Rsi변동폭 >= RSIBandB Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RSIBandB[1] && Rsi고[0][1] - Rsi변동폭 > RSIBandB Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RSIBandB[1] && Rsi저[0][1] + Rsi변동폭 < RSIBandB Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } #==========================================# # 지표식 출력 #==========================================# If Rsi파동선[1] != Rsi파동선 Then { Plot1(파동선); //적당껏 수평이동 # PlaySound("C:₩예스트레이더₩data₩Sound₩sound6.wav"); } Else If LastBarOnChart == 1 Then { plot1(Iff(방향 == 상승,고[0],저[0])); #PlaySound("C:₩예스트레이더₩data₩Sound₩sound6.wav"); } #상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승 If 저[2] > 저[1] && Rsi저[2] < Rsi저[1] Then { 추세선 = (저[1]-저[2])/(저Bar[2]-저Bar[1])*저Bar[2] + 저[2]; Plot2(추세선,"상승다이버전스"); } #하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락 if 고[2] < 고[1] && Rsi고[2] > Rsi고[1] Then { 추세선 = (고[1]-고[2])/(고Bar[2]-고Bar[1])*고Bar[2] + 고[2]; Plot3(추세선,"하락다이버전스"); } 2. _RSI다이버전스_지표파동선110226 #==========================================# # 지표명 : RSI다이버전스 지표파동선 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:Rsi변동폭(5); Input : RSIP(14), Period(50),dv(2.1); var : RSIV(0),Mid(0),BBup(0),BBdn(0),RSIBandB(0); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),Rsi추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); RSIV = RSI(RSIP); Mid = ma(RSIV,Period); BBup = Mid+STD(RSIV,Period)*dv; BBdn = Mid-STD(RSIV,Period)*dv; RSIBandB = (RSIv - BBdn)/(BBup - BBdn); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RSIBandB || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RSIBandB || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RSIBandB[1] && Rsi저[0][1] + Rsi변동폭 <= RSIBandB Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RSIBandB[1] && Rsi고[0][1] - Rsi변동폭 >= RSIBandB Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RSIBandB[1] && Rsi고[0][1] - Rsi변동폭 > RSIBandB Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RSIBandB[1] && Rsi저[0][1] + Rsi변동폭 < RSIBandB Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } #==========================================# # 지표식 출력 #==========================================# If Rsi파동선[1] != Rsi파동선 Then Plot1(Rsi파동선); //적당껏 수평이동 Else If LastBarOnChart == 1 Then plot1(Iff(방향 == 상승,Rsi고[0],Rsi저[0])); #상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승 If 저[2] > 저[1] && Rsi저[2] < Rsi저[1] Then { Rsi추세선 = (Rsi저[1]-Rsi저[2])/(Rsi저Bar[2]-Rsi저Bar[1]) * Rsi저Bar[2] + Rsi저[2]; Plot2(Rsi추세선,"저점추세선"); } #하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락 if 고[2] < 고[1] && Rsi고[2] > Rsi고[1] Then { Rsi추세선 = (Rsi고[1]-Rsi고[2])/(Rsi고Bar[2]-Rsi고Bar[1]) * Rsi고Bar[2] + Rsi고[2]; Plot3(Rsi추세선,"고점추세선"); } 즐거운 하루되세요 > 매버릭 님이 쓴 글입니다. > 제목 : 수식 변경 부탁드립니다. > 첨부 지표는 RSI다이버전스주가파동선식과 RSI다이버전스지표파동선식과 인데 이것을 RSIBandB다이버전스식으로 수정 부탁드립니다. 감사합니다. ==========RSIBandB수식================= Input : RSIP(14), Period(50),dv(2.1); var : RSIV(0),Mid(0),BBup(0),BBdn(0),RSIBandB(0); RSIV = RSI(RSIP); Mid = ma(RSIV,Period); BBup = Mid+STD(RSIV,Period)*dv; BBdn = Mid-STD(RSIV,Period)*dv; RSIBandB = (RSIv - BBdn)/(BBup - BBdn); =========================================
프로필 이미지

매버릭

2015-11-03 16:51:03

지표가 나타나지를 않는군요. 검토 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 변경 부탁드립니다. > 안녕하세요 예스스탁입니다. 1._RSI다이버전스_주가파동선110226 #==========================================# # 지표명 : RSI다이버전스 주가파동선 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:Rsi변동폭(5); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); Input : RSIP(14), Period(50),dv(2.1); var : RSIV(0),Mid(0),BBup(0),BBdn(0),RSIBandB(0); RSIV = RSI(RSIP); Mid = ma(RSIV,Period); BBup = Mid+STD(RSIV,Period)*dv; BBdn = Mid-STD(RSIV,Period)*dv; RSIBandB = (RSIv - BBdn)/(BBup - BBdn); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RSIBandB || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RSIBandB || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RSIBandB[1] && Rsi저[0][1] + Rsi변동폭 <= RSIBandB Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RSIBandB[1] && Rsi고[0][1] - Rsi변동폭 >= RSIBandB Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RSIBandB[1] && Rsi고[0][1] - Rsi변동폭 > RSIBandB Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RSIBandB[1] && Rsi저[0][1] + Rsi변동폭 < RSIBandB Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } #==========================================# # 지표식 출력 #==========================================# If Rsi파동선[1] != Rsi파동선 Then { Plot1(파동선); //적당껏 수평이동 # PlaySound("C:₩예스트레이더₩data₩Sound₩sound6.wav"); } Else If LastBarOnChart == 1 Then { plot1(Iff(방향 == 상승,고[0],저[0])); #PlaySound("C:₩예스트레이더₩data₩Sound₩sound6.wav"); } #상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승 If 저[2] > 저[1] && Rsi저[2] < Rsi저[1] Then { 추세선 = (저[1]-저[2])/(저Bar[2]-저Bar[1])*저Bar[2] + 저[2]; Plot2(추세선,"상승다이버전스"); } #하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락 if 고[2] < 고[1] && Rsi고[2] > Rsi고[1] Then { 추세선 = (고[1]-고[2])/(고Bar[2]-고Bar[1])*고Bar[2] + 고[2]; Plot3(추세선,"하락다이버전스"); } 2. _RSI다이버전스_지표파동선110226 #==========================================# # 지표명 : RSI다이버전스 지표파동선 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:Rsi변동폭(5); Input : RSIP(14), Period(50),dv(2.1); var : RSIV(0),Mid(0),BBup(0),BBdn(0),RSIBandB(0); Var:j(0),상승(100),하락(-100),양방향(2),추세(0), 파동선(0),Rsi파동선(0),방향(0),Rsi추세선(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0), Rsi고[20](0),Rsi저[20](0),Rsi고Bar[20](0),Rsi저Bar[20](0); RSIV = RSI(RSIP); Mid = ma(RSIV,Period); BBup = Mid+STD(RSIV,Period)*dv; BBdn = Mid-STD(RSIV,Period)*dv; RSIBandB = (RSIv - BBdn)/(BBup - BBdn); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { Rsi고Bar[j] = Rsi고Bar[j] + 1; Rsi저Bar[j] = Rsi저Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If Rsi고[0] <= RSIBandB || Rsi고[0] == 0 || IsNaN(Rsi고[0]) == True Then { Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; } Else Rsi고Bar[0] = Rsi고Bar[0] + 1; If Rsi저[0] >= RSIBandB || Rsi저[0] == 0 || IsNaN(Rsi저[0]) == True Then { Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; } Else Rsi저Bar[0] = Rsi저Bar[0] + 1; If 고[0] <= H || 고[0] == 0 || IsNaN(고[0]) == True Then { 고[0] = H; 고Bar[0] = 0; } Else 고Bar[0] = 고Bar[0] + 1; If 저[0] >= L || 저[0] == 0 || IsNaN(저[0]) == True Then { 저[0] = L; 저Bar[0] = 0; } Else 저Bar[0] = 저Bar[0] + 1; #==========================================# # 추세방향 결정 #==========================================# If Rsi저[0][1] + Rsi변동폭 > RSIBandB[1] && Rsi저[0][1] + Rsi변동폭 <= RSIBandB Then 방향 = 상승; If Rsi고[0][1] - Rsi변동폭 < RSIBandB[1] && Rsi고[0][1] - Rsi변동폭 >= RSIBandB Then 방향 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 방향[1] == 하락 && 방향 == 상승 Then { For j = 18 DownTo 1 { Rsi저[j+1] = Rsi저[j]; Rsi저Bar[j+1] = Rsi저Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; 고[0] = H; 고Bar[0] = 0; } Else If 방향[1] == 상승 && 방향 == 하락 Then { For j = 18 DownTo 1 { Rsi고[j+1] = Rsi고[j]; Rsi고Bar[j+1] = Rsi고Bar[j]; 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; 저[0] = L; 저Bar[0] = 0; } Else If 방향[1] == 하락 && 방향 == 하락 Then { If Rsi고[1] < Rsi고[0] && Rsi고[0][1] - Rsi변동폭 <= RSIBandB[1] && Rsi고[0][1] - Rsi변동폭 > RSIBandB Then { Rsi고[1] = Rsi고[0]; Rsi고Bar[1] = Rsi고Bar[0]; Rsi파동선 = Rsi고[0]; Rsi고[0] = RSIBandB; Rsi고Bar[0] = 0; } If 고[1] < 고[0] && 고[0] > H Then { 고[1] = 고[0]; 고Bar[1] = 고Bar[0]; 파동선 = 고[0]; 고[0] = H; 고Bar[0] = 0; } } Else If 방향[1] == 상승 && 방향 == 상승 Then { If Rsi저[1] > Rsi저[0] && Rsi저[0][1] + Rsi변동폭 >= RSIBandB[1] && Rsi저[0][1] + Rsi변동폭 < RSIBandB Then { Rsi저[1] = Rsi저[0]; Rsi저Bar[1] = Rsi저Bar[0]; Rsi파동선 = Rsi저[0]; Rsi저[0] = RSIBandB; Rsi저Bar[0] = 0; } If 저[1] > 저[0] && 저[0] < L Then { 저[1] = 저[0]; 저Bar[1] = 저Bar[0]; 파동선 = 저[0]; 저[0] = L; 저Bar[0] = 0; } } #==========================================# # 지표식 출력 #==========================================# If Rsi파동선[1] != Rsi파동선 Then Plot1(Rsi파동선); //적당껏 수평이동 Else If LastBarOnChart == 1 Then plot1(Iff(방향 == 상승,Rsi고[0],Rsi저[0])); #상승 다이버전스 : 주가의 저점 하락 + 지표의 저점 상승 If 저[2] > 저[1] && Rsi저[2] < Rsi저[1] Then { Rsi추세선 = (Rsi저[1]-Rsi저[2])/(Rsi저Bar[2]-Rsi저Bar[1]) * Rsi저Bar[2] + Rsi저[2]; Plot2(Rsi추세선,"저점추세선"); } #하락 다이버전스 : 주가의 고점 상승 + 지표의 고점 하락 if 고[2] < 고[1] && Rsi고[2] > Rsi고[1] Then { Rsi추세선 = (Rsi고[1]-Rsi고[2])/(Rsi고Bar[2]-Rsi고Bar[1]) * Rsi고Bar[2] + Rsi고[2]; Plot3(Rsi추세선,"고점추세선"); } 즐거운 하루되세요 > 매버릭 님이 쓴 글입니다. > 제목 : 수식 변경 부탁드립니다. > 첨부 지표는 RSI다이버전스주가파동선식과 RSI다이버전스지표파동선식과 인데 이것을 RSIBandB다이버전스식으로 수정 부탁드립니다. 감사합니다. ==========RSIBandB수식================= Input : RSIP(14), Period(50),dv(2.1); var : RSIV(0),Mid(0),BBup(0),BBdn(0),RSIBandB(0); RSIV = RSI(RSIP); Mid = ma(RSIV,Period); BBup = Mid+STD(RSIV,Period)*dv; BBdn = Mid-STD(RSIV,Period)*dv; RSIBandB = (RSIv - BBdn)/(BBup - BBdn); =========================================