커뮤니티

재문의합니다

프로필 이미지
외국인
2013-03-21 15:28:04
210
글번호 61021
답변완료
안녕하세요 시스템식으로변경해주세요 텍스트시점과 _plotno2와 Zigzag 교차시 신호가 발생되게 해주시면 감사합니다 Input:상승률(0.5),하락률(0.5); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); var : hbody(0),lbody(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Hbody = max(C,O); Lbody = min(c,O); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ Plot1(이중파동,"Zigzag",blue); var2 = 이중파동; var3 = -1; } Else{ Plot1(이중파동,"Zigzag",red); var1 = 이중파동; var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= Hbody || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = Hbody; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= Lbody || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = Lbody; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > Hbody && 기준저 * (1 + (상승률/100)) < Lbody Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > Hbody Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < Lbody Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else { plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > Hbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; plot1(저[1],"Zigzag",blue); var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else { plot1(저[1],"Zigzag",blue); var2 = 저[1]; var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < Lbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; Plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; Plot1(저[1],"Zigzag",blue); Text_New(sdate,stime,저[1],NumToStr(저[1],2)); var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 Then{ plot2(var2); } if var3 == 1 Then{ plot2(var1); } if var3 == -1 and var3[1] != -1 Then{ Text_New(sdate,stime,var2,NumToStr(var2,2)); } if var3 == 1 and var3[1] != 1 Then{ plot2(var1); Text_New(sdate,stime,var1,NumToStr(var1,2)); }
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2013-03-21 15:44:45

안녕하세요 예스스탁입니다. Input:상승률(0.5),하락률(0.5); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); var : hbody(0),lbody(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Hbody = max(C,O); Lbody = min(c,O); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동; var3 = -1; } Else{ var1 = 이중파동; var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= Hbody || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = Hbody; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= Lbody || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = Lbody; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > Hbody && 기준저 * (1 + (상승률/100)) < Lbody Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > Hbody Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < Lbody Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else { var1 = 고[1]; var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > Hbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else { var2 = 저[1]; var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < Lbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 and var3[1] != -1 Then buy(); if var3 == 1 and var3[1] != 1 Then sell(); 즐거운 하루되세요 > 외국인 님이 쓴 글입니다. > 제목 : 재문의합니다 > 안녕하세요 시스템식으로변경해주세요 텍스트시점과 _plotno2와 Zigzag 교차시 신호가 발생되게 해주시면 감사합니다 Input:상승률(0.5),하락률(0.5); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); var : hbody(0),lbody(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Hbody = max(C,O); Lbody = min(c,O); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ Plot1(이중파동,"Zigzag",blue); var2 = 이중파동; var3 = -1; } Else{ Plot1(이중파동,"Zigzag",red); var1 = 이중파동; var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= Hbody || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = Hbody; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= Lbody || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = Lbody; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > Hbody && 기준저 * (1 + (상승률/100)) < Lbody Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > Hbody Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < Lbody Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else { plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > Hbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; plot1(저[1],"Zigzag",blue); var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else { plot1(저[1],"Zigzag",blue); var2 = 저[1]; var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < Lbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; Plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; Plot1(저[1],"Zigzag",blue); Text_New(sdate,stime,저[1],NumToStr(저[1],2)); var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 Then{ plot2(var2); } if var3 == 1 Then{ plot2(var1); } if var3 == -1 and var3[1] != -1 Then{ Text_New(sdate,stime,var2,NumToStr(var2,2)); } if var3 == 1 and var3[1] != 1 Then{ plot2(var1); Text_New(sdate,stime,var1,NumToStr(var1,2)); }
프로필 이미지

외국인

2013-03-21 16:24:16

신호가 틀리는것 같아요 재검토부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 재문의합니다 > 안녕하세요 예스스탁입니다. Input:상승률(0.5),하락률(0.5); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); var : hbody(0),lbody(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Hbody = max(C,O); Lbody = min(c,O); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동; var3 = -1; } Else{ var1 = 이중파동; var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= Hbody || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = Hbody; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= Lbody || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = Lbody; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > Hbody && 기준저 * (1 + (상승률/100)) < Lbody Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > Hbody Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < Lbody Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else { var1 = 고[1]; var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > Hbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else { var2 = 저[1]; var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < Lbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 and var3[1] != -1 Then buy(); if var3 == 1 and var3[1] != 1 Then sell(); 즐거운 하루되세요 > 외국인 님이 쓴 글입니다. > 제목 : 재문의합니다 > 안녕하세요 시스템식으로변경해주세요 텍스트시점과 _plotno2와 Zigzag 교차시 신호가 발생되게 해주시면 감사합니다 Input:상승률(0.5),하락률(0.5); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); var : hbody(0),lbody(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Hbody = max(C,O); Lbody = min(c,O); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ Plot1(이중파동,"Zigzag",blue); var2 = 이중파동; var3 = -1; } Else{ Plot1(이중파동,"Zigzag",red); var1 = 이중파동; var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= Hbody || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = Hbody; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= Lbody || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = Lbody; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > Hbody && 기준저 * (1 + (상승률/100)) < Lbody Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > Hbody Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < Lbody Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else { plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > Hbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; plot1(저[1],"Zigzag",blue); var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else { plot1(저[1],"Zigzag",blue); var2 = 저[1]; var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < Lbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; Plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; Plot1(저[1],"Zigzag",blue); Text_New(sdate,stime,저[1],NumToStr(저[1],2)); var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 Then{ plot2(var2); } if var3 == 1 Then{ plot2(var1); } if var3 == -1 and var3[1] != -1 Then{ Text_New(sdate,stime,var2,NumToStr(var2,2)); } if var3 == 1 and var3[1] != 1 Then{ plot2(var1); Text_New(sdate,stime,var1,NumToStr(var1,2)); }
프로필 이미지

예스스탁 예스스탁 답변

2013-03-22 09:25:10

안녕하세요 예스스탁입니다. 텍스트가 출력되는 지점은 var3이 -1에서 1로 변경되거나 1에서 -1로 변경되는 부분입니다. 이 지점은 고점이나 저점이 발생하는 곳이며(zigzag) plot2이는 이지점 값을 다음 고점이나 저점이 발생할때까지 수평으로 그리는 선입니다. 그러므로 텍스트 출력지점과 zigzag값이 변하는 지점과 plot2는 모두 값은 지점(값)을 나타냅니다. 답변으로 올려드린 식은 이지점에 신호가 발생하게 한 식입니다. 상승변곡시 매수 하락변곡시 매도입니다. 즐거운 하루되세요 > 외국인 님이 쓴 글입니다. > 제목 : Re : Re : 재문의합니다 > 신호가 틀리는것 같아요 재검토부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 재문의합니다 > 안녕하세요 예스스탁입니다. Input:상승률(0.5),하락률(0.5); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); var : hbody(0),lbody(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Hbody = max(C,O); Lbody = min(c,O); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ var2 = 이중파동; var3 = -1; } Else{ var1 = 이중파동; var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= Hbody || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = Hbody; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= Lbody || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = Lbody; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > Hbody && 기준저 * (1 + (상승률/100)) < Lbody Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > Hbody Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < Lbody Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else { var1 = 고[1]; var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > Hbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else { var2 = 저[1]; var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < Lbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 and var3[1] != -1 Then buy(); if var3 == 1 and var3[1] != 1 Then sell(); 즐거운 하루되세요 > 외국인 님이 쓴 글입니다. > 제목 : 재문의합니다 > 안녕하세요 시스템식으로변경해주세요 텍스트시점과 _plotno2와 Zigzag 교차시 신호가 발생되게 해주시면 감사합니다 Input:상승률(0.5),하락률(0.5); Var:j(0),상승(100),하락(-100),양방향(2),색깔(0),파랑(-1),빨강(1), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),추세(0),이중파동(0); var : hbody(0),lbody(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Hbody = max(C,O); Lbody = min(c,O); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 저Bar[j] = 저Bar[j] + 1; 고Bar[j] = 고Bar[j] + 1; } #==========================================# # 이중파동 처리 #==========================================# If 이중파동 > 0 Then { if 색깔 == 빨강 Then{ Plot1(이중파동,"Zigzag",blue); var2 = 이중파동; var3 = -1; } Else{ Plot1(이중파동,"Zigzag",red); var1 = 이중파동; var3 = 1; } 이중파동 = 0; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= Hbody || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = Hbody; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= Lbody || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = Lbody; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준고 * (1 - (하락률/100)) > Hbody && 기준저 * (1 + (상승률/100)) < Lbody Then { 추세 = Iff(기준고Bar==기준저Bar,양방향,Iff(기준고Bar>기준저Bar,상승,하락)); } Else If 기준고 * (1 - (하락률/100)) > Hbody Then 추세 = 하락; Else If 기준저 * (1 + (상승률/100)) < Lbody Then 추세 = 상승; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강 ; If 이중파동[1] > 0 Then 이중파동 = 고[1]; Else { plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; } } If 추세[1] == 하락 && 추세 == 하락 && 고[1] < 기준고 && 기준고 * (1 - (하락률/100)) > Hbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; plot1(저[1],"Zigzag",blue); var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } If 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 저[2] > 저[1] Then 색깔 = 파랑; If 이중파동[1] > 0 Then 이중파동 = 저[1]; Else { plot1(저[1],"Zigzag",blue); var2 = 저[1]; var3 = -1; } } If 추세[1] == 상승 && 추세 == 상승 && 저[1] > 기준저 && 기준저 * (1 + (상승률/100)) < Lbody Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준저 = Lbody; 기준저Bar = 0; 기준고 = Hbody; 기준고Bar = 0; If 고[2] < 고[1] Then 색깔 = 빨강; plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } If 추세 == 양방향 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; 고Bar[j+1] = 고Bar[j]; 저[j+1] = 저[j]; 저Bar[j+1] = 저Bar[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; 저[1] = 기준저; 저Bar[1] = 기준저Bar; 기준고 = Hbody; 기준고Bar = 0; 기준저 = Lbody; 기준저Bar = 0; 추세 = 추세[1]; If 추세[1] == 상승 Then { If 고[2] < 고[1] Then 색깔 = 빨강; Plot1(고[1],"Zigzag",RED); var1 = 고[1]; var3 = 1; If 저[2] > 저[1] Then 색깔 = 파랑; 이중파동 = 저[1]; } Else { If 저[2] > 저[1] Then 색깔 = 파랑; Plot1(저[1],"Zigzag",blue); Text_New(sdate,stime,저[1],NumToStr(저[1],2)); var2 = 저[1]; var3 = -1; If 고[2] < 고[1] Then 색깔 = 빨강; 이중파동 = 고[1]; } } if var3 == -1 Then{ plot2(var2); } if var3 == 1 Then{ plot2(var1); } if var3 == -1 and var3[1] != -1 Then{ Text_New(sdate,stime,var2,NumToStr(var2,2)); } if var3 == 1 and var3[1] != 1 Then{ plot2(var1); Text_New(sdate,stime,var1,NumToStr(var1,2)); }