커뮤니티

직전저점고점의목표치를 계산하고싶습니다

프로필 이미지
hisuje
2015-08-06 15:13:28
231
글번호 89253
답변완료
아래수식을 이용한 직전고점저점을 이용하여 위아래방향에 목표점을 내고자 합니다 감사합니다 또전에 올려주신 시스템수식은 아무런 신호가 나오지 않았읍니다 검토한번 부탁드립니다 더운 날씨에 감사합니다 input : 시작시간(174000),종료시간(030000); input : 지표출력시작시간(100000),지표출력종료시간(170000); var : HH(0),LL(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ HH = H; LL = L; } if 시작시간 > 종료시간 then{ if stime >= 시작시간 or stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if 시작시간 < 종료시간 then{ if stime >= 시작시간 and stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if stime >= 지표출력시작시간 and stime < 지표출력종료시간 and HH > 0 and LL > 0 then{ var1 = HH+(HH-LL)*1.618; var2 = HH+(HH-LL)*2.000; var3 = HH+(HH-LL)*2.618; var4 = HH+(HH-LL)*3.000; var5 = LL-(HH-LL)*1.618; var6 = LL-(HH-LL)*2.000; var7 = LL-(HH-LL)*2.618; var8 = LL-(HH-LL)*3.000; plot1(var1,"+1.618"); plot2(var2,"+2.000"); plot3(var3,"+2.618"); plot4(var4,"+3.000"); plot5(var5,"-1.618"); plot6(var6,"-2.000"); plot7(var7,"-2.618"); plot8(var8,"-3.000"); } 이런식으로 위아래 양방향으로 내고 싶습니다 시스템식~ input : 시작시간(174000),종료시간(030000); input : 지표출력시작시간(100000),지표출력종료시간(170000); var : HH(0),LL(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ HH = H; LL = L; } if 시작시간 > 종료시간 then{ if stime >= 시작시간 or stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if 시작시간 < 종료시간 then{ if stime >= 시작시간 and stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if stime >= 지표출력시작시간 and stime < 지표출력종료시간 and HH > 0 and LL > 0 then{ var1 = HH+(HH-LL)*1.618; var2 = HH+(HH-LL)*2.000; var3 = HH+(HH-LL)*2.618; var4 = HH+(HH-LL)*3.000; var5 = LL-(HH-LL)*1.618; var6 = LL-(HH-LL)*2.000; var7 = LL-(HH-LL)*2.618; var8 = LL-(HH-LL)*3.000; if crossdown(c,var1) Then buy(); if Crossup(c,var5) Then sell(); 고점저점의예식) input:left(5),right(5),구분(1); var:j(0),prehv(0),prelv(0),prehb(0),prelb(0),tmpv(0),tmpb(0), ovr(0),반등(1),반락(-1); array:hv[10](0),lv[10](0),hb[10](0),lb[10](0), r[8](0),fr[8](0); r[0] = 0; r[1] = 0.236; r[2] = 0.382; r[3] = 0.50; r[4] = 0.618; r[5] = 0.764; r[6] = 1; r[7] = 1.618; #==============================================================================# # 변곡점 계산 #==============================================================================# //파동선 작성 설명은 자주 했으므로 생략 if highest(h[1],left) <= h then { prehv = h; prehb = 0; } else prehb = prehb + 1; if lowest(l[1],left) >= l then { prelv = l; prelb = 0; } else prelb = prelb + 1; for j = 1 to 9 begin hb[j] = hb[j] + 1; lb[j] = lb[j] + 1; end; if prehb == right and highest(h,right) <= h[right] then { for j = 9 downto 2 { hv[j] = hv[j-1]; hb[j] = hb[j-1]; } hv[1] = prehv; hb[1] = prehb; if lb[1] > hb[2] then { for j = 9 downto 2 { lv[j] = lv[j-1]; lb[j] = lb[j-1]; } tmpv = 0; for j = hb[1] + 1 to hb[2] - 1 { if tmpv > l[j] or tmpv ==0 then { tmpv = l[j]; tmpb = j; } } lv[1] = tmpv; lb[1] = tmpb; } } if prelb == right and lowest(l,right) >= l[right] then { for j = 9 downto 2 { lv[j] = lv[j-1]; lb[j] = lb[j-1]; } lv[1] = prelv; lb[1] = prelb; if hb[1] > lb[2] then { for j = 9 downto 2 { hv[j] = hv[j-1]; hb[j] = hb[j-1]; } tmpv = 0; for j = lb[1] + 1 to lb[2] - 1 { if tmpv < h[j] or tmpv ==0 then { tmpv = h[j]; tmpb = j; } } hv[1] = tmpv; hb[1] = tmpb; } } #==============================================================================# # Fibonacci Retracements 계산 #==============================================================================# //반등과 반락을 모두 표시하게 되면 복잡해지므로 한 방향만 표시하는 것이 옳음 if 구분 == 반등 then { if crossup(lb[1],hb[1]) then { for j = 0 to 7 begin fr[j] = hv[1] - (hv[1] - lv[1]) * r[j]; end; ovr = 0; } if fr[6]>l then ovr = 1; } if 구분 == 반락 then { if crossup(hb[1],lb[1]) then { for j = 0 to 7 begin fr[j] = lv[1] + (hv[1] - lv[1]) * r[j]; end; ovr = 0; } if fr[6]>l then ovr = 1; } #==============================================================================# # 지표출력 #==============================================================================# if hb[1]==right then plot1(hv[1],"파동선",GREEN); if lb[1]==right then plot1(lv[1],"파동선",GREEN); plot2(fr[0],"0%",BLUE); plot3(fr[1],"23.6%",RED); plot4(fr[2],"38.2%",MAGENTA); plot5(fr[3],"50%",GRAY); plot6(fr[4],"61.8%",LBLUE); plot7(fr[5],"76.4%",LGREEN); plot8(fr[6],"100%",PINK); if ovr then plot9(fr[7],"161.8%",LMAGENTA); //점 그래프로 표시
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-08-06 16:09:13

안녕하세요 예스스탁입니다. 1, 이전 답변 시스템 수정한 식입니다. input : 시작시간(174000),종료시간(030000); input : 지표출력시작시간(100000),지표출력종료시간(170000); var : HH(0),LL(0),idx(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ HH = H; LL = L; } if 시작시간 > 종료시간 then{ if stime >= 시작시간 or stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if 시작시간 < 종료시간 then{ if stime >= 시작시간 and stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if stime == 지표출력시작시간 or (stime > 지표출력시작시간 and stime[1] < 지표출력시작시간) then idx = 0; if stime >= 지표출력시작시간 and stime < 지표출력종료시간 and HH > 0 and LL > 0 then{ idx = idx+1; var1 = HH+(HH-LL)*1.618; var2 = HH+(HH-LL)*2.000; var3 = HH+(HH-LL)*2.618; var4 = HH+(HH-LL)*3.000; var5 = LL-(HH-LL)*1.618; var6 = LL-(HH-LL)*2.000; var7 = LL-(HH-LL)*2.618; var8 = LL-(HH-LL)*3.000; if idx == 1 Then{ if C >= var1 Then buy(); if C <= var5 Then sell(); } if idx > 1 then{ if c >= var1 and C[1] < var1 Then buy(); if c <= var5 and C[1] > var5 Then sell(); } } 2 올려주신식으로 위아래 1.618,2.000,2.618,3.000 선을 그리게 만든 지표식입니다. input:left(5),right(5),구분(1); var:j(0),prehv(0),prelv(0),prehb(0),prelb(0),tmpv(0),tmpb(0), ovr(0),반등(1),반락(-1); array:hv[10](0),lv[10](0),hb[10](0),lb[10](0), r[15](0),ufr[11](0),dfr[8](0); r[0] = 1.618; r[1] = 2.000; r[2] = 2.618; r[3] = 3.000; #==============================================================================# # 변곡점 계산 #==============================================================================# //파동선 작성 설명은 자주 했으므로 생략 if highest(h[1],left) <= h then { prehv = h; prehb = 0; } else prehb = prehb + 1; if lowest(l[1],left) >= l then { prelv = l; prelb = 0; } else prelb = prelb + 1; for j = 1 to 9 begin hb[j] = hb[j] + 1; lb[j] = lb[j] + 1; end; if prehb == right and highest(h,right) <= h[right] then { for j = 9 downto 2 { hv[j] = hv[j-1]; hb[j] = hb[j-1]; } hv[1] = prehv; hb[1] = prehb; if lb[1] > hb[2] then { for j = 9 downto 2 { lv[j] = lv[j-1]; lb[j] = lb[j-1]; } tmpv = 0; for j = hb[1] + 1 to hb[2] - 1 { if tmpv > l[j] or tmpv ==0 then { tmpv = l[j]; tmpb = j; } } lv[1] = tmpv; lb[1] = tmpb; } } if prelb == right and lowest(l,right) >= l[right] then { for j = 9 downto 2 { lv[j] = lv[j-1]; lb[j] = lb[j-1]; } lv[1] = prelv; lb[1] = prelb; if hb[1] > lb[2] then { for j = 9 downto 2 { hv[j] = hv[j-1]; hb[j] = hb[j-1]; } tmpv = 0; for j = lb[1] + 1 to lb[2] - 1 { if tmpv < h[j] or tmpv ==0 then { tmpv = h[j]; tmpb = j; } } hv[1] = tmpv; hb[1] = tmpb; } } #==============================================================================# # Fibonacci Retracements 계산 #==============================================================================# //반등과 반락을 모두 표시하게 되면 복잡해지므로 한 방향만 표시하는 것이 옳음 #if 구분 == 반등 then { if crossup(lb[1],hb[1]) then { for j = 0 to 3 begin ufr[j] = Lv[1] + (hv[1] - lv[1]) * r[j]; Dfr[j] = Hv[1] - (hv[1] - lv[1]) * r[j]; end; ovr = 0; } #if fr[6]>l then ovr = 1; #} # if 구분 == 반락 then { if crossup(hb[1],lb[1]) then { for j = 0 to 3 begin ufr[j] = Lv[1] + (hv[1] - lv[1]) * r[j]; Dfr[j] = Hv[1] - (hv[1] - lv[1]) * r[j]; end; ovr = 0; } #if fr[6]>l then ovr = 1; # } #==============================================================================# # 지표출력 #==============================================================================# if hb[1]==right then plot1(hv[1],"파동선",GREEN); if lb[1]==right then plot1(lv[1],"파동선",GREEN); plot2(ufr[0],"+1.618",RED); plot3(ufr[1],"+2.000",RED); plot4(ufr[2],"+2.618",RED); plot5(ufr[3],"+3.000",RED); plot6(dfr[0],"-1.618",BLUE); plot7(dfr[1],"-2.000",BLUE); plot8(dfr[2],"-2.618",BLUE); plot9(dfr[3],"-3.000",BLUE); 3. 아래는 시스템 식입니다. input:left(5),right(5),구분(1); var:j(0),prehv(0),prelv(0),prehb(0),prelb(0),tmpv(0),tmpb(0), ovr(0),반등(1),반락(-1); array:hv[10](0),lv[10](0),hb[10](0),lb[10](0), r[15](0),ufr[11](0),dfr[8](0); r[0] = 1.618; r[1] = 2.000; r[2] = 2.618; r[3] = 3.000; #==============================================================================# # 변곡점 계산 #==============================================================================# //파동선 작성 설명은 자주 했으므로 생략 if highest(h[1],left) <= h then { prehv = h; prehb = 0; } else prehb = prehb + 1; if lowest(l[1],left) >= l then { prelv = l; prelb = 0; } else prelb = prelb + 1; for j = 1 to 9 begin hb[j] = hb[j] + 1; lb[j] = lb[j] + 1; end; if prehb == right and highest(h,right) <= h[right] then { for j = 9 downto 2 { hv[j] = hv[j-1]; hb[j] = hb[j-1]; } hv[1] = prehv; hb[1] = prehb; if lb[1] > hb[2] then { for j = 9 downto 2 { lv[j] = lv[j-1]; lb[j] = lb[j-1]; } tmpv = 0; for j = hb[1] + 1 to hb[2] - 1 { if tmpv > l[j] or tmpv ==0 then { tmpv = l[j]; tmpb = j; } } lv[1] = tmpv; lb[1] = tmpb; } } if prelb == right and lowest(l,right) >= l[right] then { for j = 9 downto 2 { lv[j] = lv[j-1]; lb[j] = lb[j-1]; } lv[1] = prelv; lb[1] = prelb; if hb[1] > lb[2] then { for j = 9 downto 2 { hv[j] = hv[j-1]; hb[j] = hb[j-1]; } tmpv = 0; for j = lb[1] + 1 to lb[2] - 1 { if tmpv < h[j] or tmpv ==0 then { tmpv = h[j]; tmpb = j; } } hv[1] = tmpv; hb[1] = tmpb; } } #==============================================================================# # Fibonacci Retracements 계산 #==============================================================================# //반등과 반락을 모두 표시하게 되면 복잡해지므로 한 방향만 표시하는 것이 옳음 #if 구분 == 반등 then { if crossup(lb[1],hb[1]) then { for j = 0 to 3 begin ufr[j] = Lv[1] + (hv[1] - lv[1]) * r[j]; Dfr[j] = Hv[1] - (hv[1] - lv[1]) * r[j]; end; ovr = 0; } #if fr[6]>l then ovr = 1; #} # if 구분 == 반락 then { if crossup(hb[1],lb[1]) then { for j = 0 to 3 begin ufr[j] = Lv[1] + (hv[1] - lv[1]) * r[j]; Dfr[j] = Hv[1] - (hv[1] - lv[1]) * r[j]; end; ovr = 0; } #if fr[6]>l then ovr = 1; # } if crossup(c,ufr[0]) Then buy(); if CrossDown(c,dfr[0]) Then sell(); 즐거운 하루되세요 > hisuje 님이 쓴 글입니다. > 제목 : 직전저점고점의목표치를 계산하고싶습니다 > 아래수식을 이용한 직전고점저점을 이용하여 위아래방향에 목표점을 내고자 합니다 감사합니다 또전에 올려주신 시스템수식은 아무런 신호가 나오지 않았읍니다 검토한번 부탁드립니다 더운 날씨에 감사합니다 input : 시작시간(174000),종료시간(030000); input : 지표출력시작시간(100000),지표출력종료시간(170000); var : HH(0),LL(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ HH = H; LL = L; } if 시작시간 > 종료시간 then{ if stime >= 시작시간 or stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if 시작시간 < 종료시간 then{ if stime >= 시작시간 and stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if stime >= 지표출력시작시간 and stime < 지표출력종료시간 and HH > 0 and LL > 0 then{ var1 = HH+(HH-LL)*1.618; var2 = HH+(HH-LL)*2.000; var3 = HH+(HH-LL)*2.618; var4 = HH+(HH-LL)*3.000; var5 = LL-(HH-LL)*1.618; var6 = LL-(HH-LL)*2.000; var7 = LL-(HH-LL)*2.618; var8 = LL-(HH-LL)*3.000; plot1(var1,"+1.618"); plot2(var2,"+2.000"); plot3(var3,"+2.618"); plot4(var4,"+3.000"); plot5(var5,"-1.618"); plot6(var6,"-2.000"); plot7(var7,"-2.618"); plot8(var8,"-3.000"); } 이런식으로 위아래 양방향으로 내고 싶습니다 시스템식~ input : 시작시간(174000),종료시간(030000); input : 지표출력시작시간(100000),지표출력종료시간(170000); var : HH(0),LL(0); if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{ HH = H; LL = L; } if 시작시간 > 종료시간 then{ if stime >= 시작시간 or stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if 시작시간 < 종료시간 then{ if stime >= 시작시간 and stime <= 종료시간 Then{ if H > HH Then HH = H; if L < LL Then LL = L; } } if stime >= 지표출력시작시간 and stime < 지표출력종료시간 and HH > 0 and LL > 0 then{ var1 = HH+(HH-LL)*1.618; var2 = HH+(HH-LL)*2.000; var3 = HH+(HH-LL)*2.618; var4 = HH+(HH-LL)*3.000; var5 = LL-(HH-LL)*1.618; var6 = LL-(HH-LL)*2.000; var7 = LL-(HH-LL)*2.618; var8 = LL-(HH-LL)*3.000; if crossdown(c,var1) Then buy(); if Crossup(c,var5) Then sell(); 고점저점의예식) input:left(5),right(5),구분(1); var:j(0),prehv(0),prelv(0),prehb(0),prelb(0),tmpv(0),tmpb(0), ovr(0),반등(1),반락(-1); array:hv[10](0),lv[10](0),hb[10](0),lb[10](0), r[8](0),fr[8](0); r[0] = 0; r[1] = 0.236; r[2] = 0.382; r[3] = 0.50; r[4] = 0.618; r[5] = 0.764; r[6] = 1; r[7] = 1.618; #==============================================================================# # 변곡점 계산 #==============================================================================# //파동선 작성 설명은 자주 했으므로 생략 if highest(h[1],left) <= h then { prehv = h; prehb = 0; } else prehb = prehb + 1; if lowest(l[1],left) >= l then { prelv = l; prelb = 0; } else prelb = prelb + 1; for j = 1 to 9 begin hb[j] = hb[j] + 1; lb[j] = lb[j] + 1; end; if prehb == right and highest(h,right) <= h[right] then { for j = 9 downto 2 { hv[j] = hv[j-1]; hb[j] = hb[j-1]; } hv[1] = prehv; hb[1] = prehb; if lb[1] > hb[2] then { for j = 9 downto 2 { lv[j] = lv[j-1]; lb[j] = lb[j-1]; } tmpv = 0; for j = hb[1] + 1 to hb[2] - 1 { if tmpv > l[j] or tmpv ==0 then { tmpv = l[j]; tmpb = j; } } lv[1] = tmpv; lb[1] = tmpb; } } if prelb == right and lowest(l,right) >= l[right] then { for j = 9 downto 2 { lv[j] = lv[j-1]; lb[j] = lb[j-1]; } lv[1] = prelv; lb[1] = prelb; if hb[1] > lb[2] then { for j = 9 downto 2 { hv[j] = hv[j-1]; hb[j] = hb[j-1]; } tmpv = 0; for j = lb[1] + 1 to lb[2] - 1 { if tmpv < h[j] or tmpv ==0 then { tmpv = h[j]; tmpb = j; } } hv[1] = tmpv; hb[1] = tmpb; } } #==============================================================================# # Fibonacci Retracements 계산 #==============================================================================# //반등과 반락을 모두 표시하게 되면 복잡해지므로 한 방향만 표시하는 것이 옳음 if 구분 == 반등 then { if crossup(lb[1],hb[1]) then { for j = 0 to 7 begin fr[j] = hv[1] - (hv[1] - lv[1]) * r[j]; end; ovr = 0; } if fr[6]>l then ovr = 1; } if 구분 == 반락 then { if crossup(hb[1],lb[1]) then { for j = 0 to 7 begin fr[j] = lv[1] + (hv[1] - lv[1]) * r[j]; end; ovr = 0; } if fr[6]>l then ovr = 1; } #==============================================================================# # 지표출력 #==============================================================================# if hb[1]==right then plot1(hv[1],"파동선",GREEN); if lb[1]==right then plot1(lv[1],"파동선",GREEN); plot2(fr[0],"0%",BLUE); plot3(fr[1],"23.6%",RED); plot4(fr[2],"38.2%",MAGENTA); plot5(fr[3],"50%",GRAY); plot6(fr[4],"61.8%",LBLUE); plot7(fr[5],"76.4%",LGREEN); plot8(fr[6],"100%",PINK); if ovr then plot9(fr[7],"161.8%",LMAGENTA); //점 그래프로 표시