커뮤니티

지표식 문의 드립니다

프로필 이미지
cinamon
2022-06-26 18:43:19
1730
글번호 160195
답변완료

첨부 이미지

안녕하세요 rule based trading 블로그에 올리신 다우이론 시스템 식입니다 제가 수식을 이해를 못해서요 차트에 나오는 추세선을 지표식으로 바꾸고 싶습니다 지표식으로 부탁드립니다 input:swingPeriod(5); Var:신고가(False), 신저가(False), j(0),jj(0),최종꼭지점(""),추세구간(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime var : TL1(0); var : HighStop(0), LowStop(0); # 추세 판정 신고가 = Highest(H,swingPeriod) == H ; 신저가 = Lowest (L,swingPeriod) == L ; If 신고가 == True and 신저가 == True Then { // 신고가 신저가 동시 발생 If 최종꼭지점 == "저점" Then { If 저[1,1] > L Then 추세구간 = -1; Else 추세구간 = 1; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < H Then 추세구간 = 1; Else 추세구간 = -1; } } Else If 신고가 == True Then //신고가 발생 추세구간 = 1; Else If 신저가 == True Then //신저가 발생 추세구간 = -1; # 상승추세 구간 If 추세구간 == 1 Then { If 최종꼭지점 == "저점" Then { For j = 3 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = H; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,gray); } Else If 고[1,1] < H Then { // 1번 고점보다 높은 고가 출현 고[1,1] = H; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); } 최종꼭지점 = "고점"; } # 하락추세 구간 If 추세구간 == -1 Then { If 최종꼭지점 == "고점" then { For j = 3 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = L; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,gray); } Else If 저[1,1] > L then { 저[1,1] = L; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); } 최종꼭지점 = "저점"; } # 직전 스윙고가, 스윙저가 if 추세구간 == 1 Then HighStop = 고[2,1]; Else HighStop = 고[1,1]; if 추세구간 == -1 Then LowStop = 저[2,1]; Else LowStop = 저[1,1]; # 매매식 if MarketPosition <> 1 Then Buy("B", AtStop, HighStop); if MarketPosition <> -1 Then Sell("S", AtStop, LowStop);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-06-27 13:38:39

안녕하세요 예스스탁입니다. plot으로 대체되게 작성해 드릴수 없습니다. 해당 추세선은 고점과 저점을 연결해서 그리는데 새로운 고가와 저가가 생성되면 해당 고/저가와 직전 저점/고점의 연결선을 다시 그리게 되는데 일반 plot함수로는 해당 지그재그선과 같이 그리지 못합니다. 즐거운 하루되세요 > cinamon 님이 쓴 글입니다. > 제목 : 지표식 문의 드립니다 > 안녕하세요 rule based trading 블로그에 올리신 다우이론 시스템 식입니다 제가 수식을 이해를 못해서요 차트에 나오는 추세선을 지표식으로 바꾸고 싶습니다 지표식으로 부탁드립니다 input:swingPeriod(5); Var:신고가(False), 신저가(False), j(0),jj(0),최종꼭지점(""),추세구간(0); Array:고[10,4](0),저[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime var : TL1(0); var : HighStop(0), LowStop(0); # 추세 판정 신고가 = Highest(H,swingPeriod) == H ; 신저가 = Lowest (L,swingPeriod) == L ; If 신고가 == True and 신저가 == True Then { // 신고가 신저가 동시 발생 If 최종꼭지점 == "저점" Then { If 저[1,1] > L Then 추세구간 = -1; Else 추세구간 = 1; } Else If 최종꼭지점 == "고점" Then { If 고[1,1] < H Then 추세구간 = 1; Else 추세구간 = -1; } } Else If 신고가 == True Then //신고가 발생 추세구간 = 1; Else If 신저가 == True Then //신저가 발생 추세구간 = -1; # 상승추세 구간 If 추세구간 == 1 Then { If 최종꼭지점 == "저점" Then { For j = 3 DownTo 2 { For jj = 1 To 4 { 고[j,jj] = 고[j-1,jj]; } } 고[1,1] = H; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL1 = TL_New(저[1,3],저[1,4],저[1,1],고[1,3],고[1,4],고[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,gray); } Else If 고[1,1] < H Then { // 1번 고점보다 높은 고가 출현 고[1,1] = H; 고[1,2] = Index; 고[1,3] = sDate; 고[1,4] = sTime; TL_SetEnd(TL1,고[1,3],고[1,4],고[1,1]); } 최종꼭지점 = "고점"; } # 하락추세 구간 If 추세구간 == -1 Then { If 최종꼭지점 == "고점" then { For j = 3 DownTo 2 { For jj = 1 To 4 { 저[j,jj] = 저[j-1,jj]; } } 저[1,1] = L; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL1 = TL_New(고[1,3],고[1,4],고[1,1],저[1,3],저[1,4],저[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,gray); } Else If 저[1,1] > L then { 저[1,1] = L; 저[1,2] = Index; 저[1,3] = sDate; 저[1,4] = sTime; TL_SetEnd(TL1,저[1,3],저[1,4],저[1,1]); } 최종꼭지점 = "저점"; } # 직전 스윙고가, 스윙저가 if 추세구간 == 1 Then HighStop = 고[2,1]; Else HighStop = 고[1,1]; if 추세구간 == -1 Then LowStop = 저[2,1]; Else LowStop = 저[1,1]; # 매매식 if MarketPosition <> 1 Then Buy("B", AtStop, HighStop); if MarketPosition <> -1 Then Sell("S", AtStop, LowStop);