커뮤니티

수식 부탁드립니다.

프로필 이미지
전진트마
2021-05-30 02:02:34
1125
글번호 149442
답변완료
#==========================================# # 지표명 : 지그재그차트 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:변동률(3); Var:j(0),상승(100),하락(-100),추세(0), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = C; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = C; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준저[1] * (1 + (변동률/100)) > C[1] && 기준저[1] * (1 + (변동률/100)) <= C Then 추세 = 상승; Else If 기준고[1] * (1 - (변동률/100)) < C[1] && 기준고[1] * (1 - (변동률/100)) >= C Then 추세 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; } Else if 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; } Else If 추세[1] == 하락 && 추세 == 하락 Then { If 기준고[1] * (1 - (변동률/100)) <= C[1] && 기준고[1] * (1 - (변동률/100)) > C && 고[1] < 기준고 Then { 고[1] = 기준고; 고Bar[1] = 기준고Bar; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; } } Else If 추세[1] == 상승 && 추세 == 상승 Then { If 기준저[1] * (1 + (변동률/100)) >= C[1] && 기준저[1] * (1 + (변동률/100)) < C && 저[1] > 기준저 Then { 저[1] = 기준저; 저Bar[1] = 기준저Bar; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; } } #==========================================# # 지표식 출력 #==========================================# If ZZ[1] != ZZ Then{ if ZZ < ZZ[1] Then buy(); if ZZ > ZZ[1] Then sell(); } ============================================================================== 안녕하세요. 수식 부탁 드립니다. *수식1번* 지표식출력 부분 변경 추가 매수 와 청산식 추가 부탁 드립니다. 매수 : 종가가 전고 갱신시 다음봉시가 매수 매수1 : 고가가 전고 갱신후 되돌림 60%(전저와돌파고점*0.6) 자리 익절청산 : 전고 120% (전저와 전고 *1.2)자리, 절반청산 손절청산 : 전저 이탈시 올청 매도는 반대 입니다... 작은 변동률 차트 ============================================================================ *수식2번* 별도의 수식 부탁드립니다. 큰 변동률 지그재그차트를 참조하고 싶습니다. 큰변동률 차트가 상승중일때 이를 참조하여 작은 변동률 차트에서 위에 부탁드린 수식 실행 큰변동률 차트가 하락중일때 이를 참조하여 작은 변동률 차트에서 위에 부탁드린 수식 실행 모든수식은 순서에 상관없이 모든 조건이 일치하면 진입 입니다. 작은 변동률 차트의 종가가 전고를 갱신하고 난 후에 큰변동률 차트가 상승으로 전환 되어도 매수진입.. 큰 변동률 차트가 상승중이고 작은 변동률 차트의 종가가 전고를 갱신 해도 매수진입 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-05-31 10:39:11

안녕하세요 예스스탁입니다. 1 Input : 변동률(3); Var:j(0),상승(100),하락(-100),추세(0), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = C; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = C; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준저[1] * (1 + (변동률/100)) > C[1] && 기준저[1] * (1 + (변동률/100)) <= C Then 추세 = 상승; Else If 기준고[1] * (1 - (변동률/100)) < C[1] && 기준고[1] * (1 - (변동률/100)) >= C Then 추세 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; } Else if 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; } Else If 추세[1] == 하락 && 추세 == 하락 Then { If 기준고[1] * (1 - (변동률/100)) <= C[1] && 기준고[1] * (1 - (변동률/100)) > C && 고[1] < 기준고 Then { 고[1] = 기준고; 고Bar[1] = 기준고Bar; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; } } Else If 추세[1] == 상승 && 추세 == 상승 Then { If 기준저[1] * (1 + (변동률/100)) >= C[1] && 기준저[1] * (1 + (변동률/100)) < C && 저[1] > 기준저 Then { 저[1] = 기준저; 저Bar[1] = 기준저Bar; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; } } if 추세 == 상승 and 추세 != 추세[1] Then Condition1 = False; if 추세 == 하락 and 추세 != 추세[1] Then Condition2 = False; if MarketPosition <= 0 and Condition1 == False and C > 고[1] Then { Condition1 = true; Buy("b1",AtMarket); } if MarketPosition == 1 Then { var1 = 기준저[BarsSinceEntry]+(고[1][BarsSinceEntry]-기준저[BarsSinceEntry])*0.6; var2 = 기준저[BarsSinceEntry]+(고[1][BarsSinceEntry]-기준저[BarsSinceEntry])*1.2; var3 = 기준저[BarsSinceEntry]; if MaxEntries == 1 and CrossDown(c,var1) Then Buy("b2"); if CrossUp(c,var2) Then ExitLong("bp",OnClose,DEF,"b1"); if CrossDown(c,var3) Then ExitLong("bl"); } if MarketPosition >= 0 and Condition2 == False and C < 저[1] Then { Condition2 = true; Sell("s1",AtMarket); } if MarketPosition == -1 Then { var1 = 기준고[BarsSinceEntry]-(기준고[BarsSinceEntry]-저[1][BarsSinceEntry])*0.6; var2 = 기준고[BarsSinceEntry]-(기준고[BarsSinceEntry]-저[1][BarsSinceEntry])*1.2; var3 = 기준고[BarsSinceEntry]; if MaxEntries == 1 and CrossUp(c,var1) Then Sell("s2"); if CrossDown(c,var2) Then ExitShort("sp",OnClose,DEF,"s1"); if CrossUp(c,var3) Then ExitShort("sl"); } 2 Input : 변동률(3); Input : 상위변동률(5); Var:j(0),상승(100),하락(-100),추세(0), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); Var:상승1(100),하락1(-100),추세1(0), 기준고1(0),기준저1(0),기준고Bar1(0),기준저Bar1(0),zz1(0); Array:고1[20](0),저1[20](0),고Bar1[20](0),저Bar1[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 고Bar1[j] = 고Bar1[j] + 1; 저Bar1[j] = 저Bar1[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고1 <= C || 기준고1 == 0 || IsNaN(기준고1) == True Then { 기준고1 = C; 기준고Bar1 = 0; } Else 기준고Bar1 = 기준고Bar1 + 1; If 기준저1 >= C || 기준저1 == 0 || IsNaN(기준저1) == True Then { 기준저1 = C; 기준저Bar1 = 0; } Else 기준저Bar1 = 기준저Bar1 + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준저1[1] * (1 + (상위변동률/100)) > C[1] && 기준저1[1] * (1 + (상위변동률/100)) <= C Then 추세1 = 상승1; Else If 기준고1[1] * (1 - (상위변동률/100)) < C[1] && 기준고1[1] * (1 - (상위변동률/100)) >= C Then 추세1 = 하락1; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세1[1] == 상승1 && 추세1 == 하락1 Then { For j = 18 DownTo 1 { 고1[j+1] = 고1[j]; } 고1[1] = 기준고1; 고Bar1[1] = 기준고Bar1; ZZ1 = 기준고1; 기준고1 = C; 기준고Bar1 = 0; 기준저1 = C; 기준저Bar1 = 0; } Else if 추세1[1] == 하락1 && 추세1 == 상승1 Then { For j = 18 DownTo 1 { 저1[j+1] = 저1[j]; } 저1[1] = 기준저1; 저Bar1[1] = 기준저Bar1; ZZ1 = 기준저1; 기준저1 = C; 기준저Bar1 = 0; 기준고1 = C; 기준고Bar1 = 0; } Else If 추세1[1] == 하락1 && 추세1 == 하락1 Then { If 기준고1[1] * (1 - (상위변동률/100)) <= C[1] && 기준고1[1] * (1 - (상위변동률/100)) > C && 고1[1] < 기준고1 Then { 고1[1] = 기준고1; 고Bar1[1] = 기준고Bar1; ZZ1 = 기준고1; 기준고1 = C; 기준고Bar1 = 0; } } Else If 추세1[1] == 상승1 && 추세1 == 상승1 Then { If 기준저1[1] * (1 + (상위변동률/100)) >= C[1] && 기준저1[1] * (1 + (상위변동률/100)) < C && 저1[1] > 기준저1 Then { 저1[1] = 기준저1; 저Bar1[1] = 기준저Bar1; ZZ1 = 기준저1; 기준저1 = C; 기준저Bar1 = 0; } } #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = C; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = C; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준저[1] * (1 + (변동률/100)) > C[1] && 기준저[1] * (1 + (변동률/100)) <= C Then 추세 = 상승; Else If 기준고[1] * (1 - (변동률/100)) < C[1] && 기준고[1] * (1 - (변동률/100)) >= C Then 추세 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; } Else if 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; } Else If 추세[1] == 하락 && 추세 == 하락 Then { If 기준고[1] * (1 - (변동률/100)) <= C[1] && 기준고[1] * (1 - (변동률/100)) > C && 고[1] < 기준고 Then { 고[1] = 기준고; 고Bar[1] = 기준고Bar; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; } } Else If 추세[1] == 상승 && 추세 == 상승 Then { If 기준저[1] * (1 + (변동률/100)) >= C[1] && 기준저[1] * (1 + (변동률/100)) < C && 저[1] > 기준저 Then { 저[1] = 기준저; 저Bar[1] = 기준저Bar; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; } } if 추세 == 상승 and 추세 != 추세[1] Then Condition1 = False; if 추세 == 하락 and 추세 != 추세[1] Then Condition2 = False; if MarketPosition <= 0 and Condition1 == False and C > 고[1] and 추세1 == 상승 Then { Condition1 = true; Buy("b1",AtMarket); } if MarketPosition == 1 Then { var1 = 기준저[BarsSinceEntry]+(고[1][BarsSinceEntry]-기준저[BarsSinceEntry])*0.6; var2 = 기준저[BarsSinceEntry]+(고[1][BarsSinceEntry]-기준저[BarsSinceEntry])*1.2; var3 = 기준저[BarsSinceEntry]; if MaxEntries == 1 and CrossDown(c,var1) Then Buy("b2"); if CrossUp(c,var2) Then ExitLong("bp",OnClose,DEF,"b1"); if CrossDown(c,var3) Then ExitLong("bl"); } if MarketPosition >= 0 and Condition2 == False and C < 저[1] and 추세1 == 하락 Then { Condition2 = true; Sell("s1",AtMarket); } if MarketPosition == -1 Then { var1 = 기준고[BarsSinceEntry]-(기준고[BarsSinceEntry]-저[1][BarsSinceEntry])*0.6; var2 = 기준고[BarsSinceEntry]-(기준고[BarsSinceEntry]-저[1][BarsSinceEntry])*1.2; var3 = 기준고[BarsSinceEntry]; if MaxEntries == 1 and CrossUp(c,var1) Then Sell("s2"); if CrossDown(c,var2) Then ExitShort("sp",OnClose,DEF,"s1"); if CrossUp(c,var3) Then ExitShort("sl"); } 즐거운 하루되세요 > 전진트마 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다. > #==========================================# # 지표명 : 지그재그차트 # 작성자 : 수식지왕 # 블로그 : http://yahoosir.blog.me #==========================================# Input:변동률(3); Var:j(0),상승(100),하락(-100),추세(0), 기준고(0),기준저(0),기준고Bar(0),기준저Bar(0),zz(0); Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0); #==========================================# # 전고점,전저점 index 증가 #==========================================# For j = 1 To 19 { 고Bar[j] = 고Bar[j] + 1; 저Bar[j] = 저Bar[j] + 1; } #==========================================# # 최근 고,저 갱신 #==========================================# If 기준고 <= C || 기준고 == 0 || IsNaN(기준고) == True Then { 기준고 = C; 기준고Bar = 0; } Else 기준고Bar = 기준고Bar + 1; If 기준저 >= C || 기준저 == 0 || IsNaN(기준저) == True Then { 기준저 = C; 기준저Bar = 0; } Else 기준저Bar = 기준저Bar + 1; #==========================================# # 추세방향 결정 #==========================================# If 기준저[1] * (1 + (변동률/100)) > C[1] && 기준저[1] * (1 + (변동률/100)) <= C Then 추세 = 상승; Else If 기준고[1] * (1 - (변동률/100)) < C[1] && 기준고[1] * (1 - (변동률/100)) >= C Then 추세 = 하락; #==========================================# # 추세변화에 따른 변곡점 처리 #==========================================# If 추세[1] == 상승 && 추세 == 하락 Then { For j = 18 DownTo 1 { 고[j+1] = 고[j]; } 고[1] = 기준고; 고Bar[1] = 기준고Bar; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; 기준저 = C; 기준저Bar = 0; } Else if 추세[1] == 하락 && 추세 == 상승 Then { For j = 18 DownTo 1 { 저[j+1] = 저[j]; } 저[1] = 기준저; 저Bar[1] = 기준저Bar; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; 기준고 = C; 기준고Bar = 0; } Else If 추세[1] == 하락 && 추세 == 하락 Then { If 기준고[1] * (1 - (변동률/100)) <= C[1] && 기준고[1] * (1 - (변동률/100)) > C && 고[1] < 기준고 Then { 고[1] = 기준고; 고Bar[1] = 기준고Bar; ZZ = 기준고; 기준고 = C; 기준고Bar = 0; } } Else If 추세[1] == 상승 && 추세 == 상승 Then { If 기준저[1] * (1 + (변동률/100)) >= C[1] && 기준저[1] * (1 + (변동률/100)) < C && 저[1] > 기준저 Then { 저[1] = 기준저; 저Bar[1] = 기준저Bar; ZZ = 기준저; 기준저 = C; 기준저Bar = 0; } } #==========================================# # 지표식 출력 #==========================================# If ZZ[1] != ZZ Then{ if ZZ < ZZ[1] Then buy(); if ZZ > ZZ[1] Then sell(); } ============================================================================== 안녕하세요. 수식 부탁 드립니다. *수식1번* 지표식출력 부분 변경 추가 매수 와 청산식 추가 부탁 드립니다. 매수 : 종가가 전고 갱신시 다음봉시가 매수 매수1 : 고가가 전고 갱신후 되돌림 60%(전저와돌파고점*0.6) 자리 익절청산 : 전고 120% (전저와 전고 *1.2)자리, 절반청산 손절청산 : 전저 이탈시 올청 매도는 반대 입니다... 작은 변동률 차트 ============================================================================ *수식2번* 별도의 수식 부탁드립니다. 큰 변동률 지그재그차트를 참조하고 싶습니다. 큰변동률 차트가 상승중일때 이를 참조하여 작은 변동률 차트에서 위에 부탁드린 수식 실행 큰변동률 차트가 하락중일때 이를 참조하여 작은 변동률 차트에서 위에 부탁드린 수식 실행 모든수식은 순서에 상관없이 모든 조건이 일치하면 진입 입니다. 작은 변동률 차트의 종가가 전고를 갱신하고 난 후에 큰변동률 차트가 상승으로 전환 되어도 매수진입.. 큰 변동률 차트가 상승중이고 작은 변동률 차트의 종가가 전고를 갱신 해도 매수진입 감사합니다.