커뮤니티

시스템식 수정 부탁드립니다

프로필 이미지
사자동굴
2012-06-05 17:23:24
373
글번호 51699
답변완료
input: 전환가격(300); var: j(0), 꺾은선(0), 기준고(0), 기준저(0), 방향(0), 상승(100), 하락(-100), 색깔(0), 파랑(-1), 빨강(1), 전환(0), 확인(0), 확인표시(0), 전환표시(0), 천장(-10), 바닥(10), E(0), UB(0), E표시(0), UB표시(0), 대중소(0), 소중대(0), 대중소색깔(0), 진입(0), 청산(0), a25(0), a40(0), a50(0), a60(0), a75(0), b(0), 상상(0), 상(0), 중(0), 하(0), 하하(0), 등락폭(0), w(0), w표시(0), 주기준고(0), 주기준저(0), 주색깔(0), 매수마크(0), 매도마크(0); Array: 고[10](0), 저[10](0), wo[10](0), wh[10](0), wl[10](0), wc[10](0), 주방향[2](0), 주고[2](0), 주저[2](0); E표시 = 0; UB표시 = 0; w표시 = 0; 전환표시 = 0; 확인표시 = 0; 대중소 = 0; 소중대 = 0; 진입 = 0; 청산 = 0; 매수마크 = 0; 매도마크 = 0; if date[1] < date and dayofweek(date[1]) >= dayofweek(date) then { if 주기준고 <= wc[0] or 주기준고 == 0 then 주기준고 = wc[0]; if 주기준저 >= wc[0] or 주기준저 == 0 then 주기준저 = wc[0]; 주방향[1] = 주방향[0]; if 주기준저[1] + 전환가격 > wc[1] and 주기준저[1] + 전환가격 <= wc[0] Then 주방향[0] = 상승; if 주기준고[1] - 전환가격 < wc[1] and 주기준고[1] - 전환가격 >= wc[0] Then 주방향[0] = 하락; if 주방향[0] == 상승 and 주고[0] < wc[0] then 주색깔 = 빨강; if 주방향[0] == 하락 and 주저[0] > wc[0] then 주색깔 = 파랑; if 주방향[1] == 하락 and 주방향[0] == 상승 then { 주저[1] = 주저[0]; 주저[0] = 주기준저; 주기준저 = wc[0]; 주기준고 = wc[0]; if 주저[1] > 주저[0] then 주색깔 = 파랑; } if 주방향[1] == 상승 and 주방향[0] == 하락 then { 주고[1] = 주고[0]; 주고[0] = 주기준고; 주기준저 = wc[0]; 주기준고 = wc[0]; if 주고[1] < 주고[0] then 주색깔 = 빨강; } w = 주방향[0]; for j = 8 downto 0 { wo[j+1] = wo[j]; wh[j+1] = wh[j]; wl[j+1] = wl[j]; wc[j+1] = wc[j]; } wo[0] = o; wh[0] = h; wl[0] = l; } if wh[0] < h then wh[0] = h; if wl[0] > L or wl[0] == o then wl[0] = l; wc[0] = c; if 기준고 <=C or 기준고 == 0 then 기준고 =c; if 기준저 >=C or 기준저 == 0 then 기준저 =c; if C[1] + 전환가격/3 <= C then E = 상승; if C[1] - 전환가격/3 >= C then E = 하락; if ma(v,40)/2.5 >= v then ub = 바닥; if ma(v,40)*2.5 <= v then ub = 천장; if 기준저[1] + 전환가격 > c[1] and 기준저[1] + 전환가격 <=c then 방향 = 상승; if 기준고[1] - 전환가격 < c[1] and 기준고[1] - 전환가격 >= c then 방향 = 하락; if 방향[1] == 하락 and 방향 == 상승 then { for j = 8 downto 0 { 저[j+1] = 저[j]; } 저[0] = 기준저; 꺾은선 = 기준저; 기준저 = c; 기준고 = c; if E == 상승 then {E표시 = 꺾은선 - 전환가격; 매수마크 = 매수마크 + 1; } if UB == 바닥 then {UB표시 = 꺾은선 - 2*전환가격; 매수마크 = 매수마크 + 1; } if w == 상승 then { w표시 = 꺾은선 - 3*전환가격; 매수마크 = 매수마크 + 1; } E = 0; UB = 0; w = 0; if 저[1] > 저[0] then 색깔 = 파랑; if 색깔[1] !=색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0; if 저[1] < 저[0] then { if 저[2] >= 저[1] then 확인 = 바닥; else 확인 = 0; } if 확인 == 바닥 and 확인[1] < 확인 then 확인표시 = 꺾은선 -4*전환가격; if 색깔[1] !=색깔 then 전환 = 0; if 저[1] < 저[0] and 고[1] < 고[0] then 전환 = 상승; if 전환 == 상승 and 전환[1] < 전환 then { 전환표시 = 꺾은선 - 5*전환가격; 진입 = 1; } if 고[1]-저[1] > 고[0]-저[1] and 고[0]-저[1] > 고[0]-저[0] then { 대중소 = 꺾은선 - 6*전환가격; 대중소색깔 = 빨강; } if 고[1]-저[1] < 고[0]-저[1] and 고[0]-저[1] < 고[0]-저[0] then { 소중대 = 꺾은선 -6*전환가격; 대중소색깔 = 파랑; } } a75 = ((고[0]-저[1])-(고[0]-저[0])*0.25)/((고[0]-저[1])+(고[0]-저[0])*0.25); a60 = ((고[0]-저[1])-(고[0]-저[0])*0.4)/((고[0]-저[1])+(고[0]-저[0])*0.4); a50 = ((고[0]-저[1])-(고[0]-저[0])*0.5)/((고[0]-저[1])+(고[0]-저[0])*0.5); a40 = ((고[0]-저[1])-(고[0]-저[0])*0.6)/((고[0]-저[1])+(고[0]-저[0])*0.6); a25 = ((고[0]-저[1])-(고[0]-저[0])*0.75)/((고[0]-저[1])+(고[0]-저[0])*0.75); b = 저[1]-(고[0]-저[0])*2; 상상 = (저[1]-a75+b)/(1-a75); 상 = (저[1]-a60+b)/(1-a60); 중 = (저[1]-a50+b)/(1-a50); 하 = (저[1]-a40+b)/(1-a40); 하하 = (저[1]-a25+b)/(1-a25); if 등락폭[1] == -1 or 등락폭[1] == -2 Then 매수마크 = 매수마크 + 1; if 방향[1] == 상승 and 방향 == 하락 then { for j = 8 downto 0 { 고[j+1] = 고[j]; } 고[0] = 기준고; 꺾은선 = 기준고; 기준고 = c; 기준저 = c; if E == 하락 then {E표시 = 꺾은선 + 전환가격; 매도마크 = 매도마크 + 1;} if UB == 천장 then { UB표시 = 꺾은선 + 2*전환가격; 매도마크 = 매도마크 +1;} if w == 하락 then {w표시 = 꺾은선 +3*전환가격; 매도마크 = 매도마크 +1;} E = 0; UB = 0; W = 0; if 고[1] < 고[0] then 색깔 = 빨강; if 색깔[1] !=색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0; if 고[1] > 고[0] then { if 고[2] <= 고[1] then 확인 = 천장; else 확인 = 0; } if 확인 == 천장 and 확인[1] > 확인 then 확인표시 = 꺾은선 + 4*전환가격; if 색깔[1] !=색깔 then 전환 = 0; if 고[1] > 고[0] and 저[1] > 저[0] then 전환=하락; if 전환 == 하락 and 전환[1] > 전환 then 전환표시 = 꺾은선 + 5*전환가격; if 고[1]-저[1] > 고[1]-저[0] and 고[1]-저[0] > 고[0]-저[0] then { 대중소 = 꺾은선 + 5*전환가격; 대중소색깔 = 파랑; 청산 = 1; } if 고[1]-저[1] < 고[1]-저[0] and 고[1]-저[0] < 고[0]-저[0] then { 소중대 = 꺾은선 + 5*전환가격; 대중소색깔 = 빨강; } if 고[2]-저[1] < 고[1]-저[1] and 고[1]-저[1] < 고[1]-저[0] then 청산 = 2; } a25 = (-(고[1]-저[0])+(고[0]-저[0])*0.75)/((고[1]-저[0])+(고[0]-저[0])*0.75); a40 = (-(고[1]-저[0])+(고[0]-저[0])*0.6)/((고[1]-저[0])+(고[0]-저[0])*0.6); a50 = (-(고[1]-저[0])+(고[0]-저[0])*0.5)/((고[1]-저[0])+(고[0]-저[0])*0.5); a60 = (-(고[1]-저[0])+(고[0]-저[0])*0.4)/((고[1]-저[0])+(고[0]-저[0])*0.4); a75 = (-(고[1]-저[0])+(고[0]-저[0])*0.25)/((고[1]-저[0])+(고[0]-저[0])*0.25); b = 고[1] + (고[0]-저[0])+2; 상상 = (고[1]+a25+b)/(1+a25); 상 = (고[1]+a40+b)/(1+a40); 중 = (고[1]+a50+b)/(1+a50); 하 = (고[1]+a60+b)/(1+a60); 하하 = (고[1]+a75+b)/(1+a75); if 등락폭[1] == 0 or 등락폭[1] == 1 or 등락폭[1] ==2 Then 매도마크 = 매도마크 + 1; if iff(방향=상승, 기준고, 기준저) >= (상상+상)/2 then 등락폭 = 2; else if iff(방향=상승, 기준고, 기준저) >= (상+중)/2 then 등락폭 = 1; else if iff(방향=상승, 기준고, 기준저) > (중+하)/2 then 등락폭 = 0; else if iff(방향=상승, 기준고, 기준저) > (하+하하)/2 then 등락폭 = -1; else 등락폭 = -2; if MarketPosition()==0 then { if 진입 == 1 then buy("눌림목매수"); } if MarketPosition() == 1 then { if 청산 == 1 then ExitLong("대중소"); if 청산 == 2 then ExitLong("소중대"); if 저[0] > C then ExitLong("손절매"); if 고[1]>고[0] then ExitLong("전고점갱신실패"); if 매도마크 >= 3 then exitlong("매도마크"); } ---------------------------------------------------------- 매수신호가 발생하질않네요 어디가 문제일까요 손봐주시면 감사하겠습니다 고생하십시요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-06-07 11:08:11

안녕하세요 예스스탁입니다. 올려주신 내용은 저희쪽에서 수정해 드릴수가 없습니다. 수식에서 사용되는 값들에 어떤 값도 현재 할당되지 않는 상태인데 모두 0 혹은 변수선언시 지정한 값만 발생합니다 식상 모든 if조건을 직접 다시 점검해 보셔야 합니다. 즐거운 하루되세요 > 사자동굴 님이 쓴 글입니다. > 제목 : 시스템식 수정 부탁드립니다 > input: 전환가격(300); var: j(0), 꺾은선(0), 기준고(0), 기준저(0), 방향(0), 상승(100), 하락(-100), 색깔(0), 파랑(-1), 빨강(1), 전환(0), 확인(0), 확인표시(0), 전환표시(0), 천장(-10), 바닥(10), E(0), UB(0), E표시(0), UB표시(0), 대중소(0), 소중대(0), 대중소색깔(0), 진입(0), 청산(0), a25(0), a40(0), a50(0), a60(0), a75(0), b(0), 상상(0), 상(0), 중(0), 하(0), 하하(0), 등락폭(0), w(0), w표시(0), 주기준고(0), 주기준저(0), 주색깔(0), 매수마크(0), 매도마크(0); Array: 고[10](0), 저[10](0), wo[10](0), wh[10](0), wl[10](0), wc[10](0), 주방향[2](0), 주고[2](0), 주저[2](0); E표시 = 0; UB표시 = 0; w표시 = 0; 전환표시 = 0; 확인표시 = 0; 대중소 = 0; 소중대 = 0; 진입 = 0; 청산 = 0; 매수마크 = 0; 매도마크 = 0; if date[1] < date and dayofweek(date[1]) >= dayofweek(date) then { if 주기준고 <= wc[0] or 주기준고 == 0 then 주기준고 = wc[0]; if 주기준저 >= wc[0] or 주기준저 == 0 then 주기준저 = wc[0]; 주방향[1] = 주방향[0]; if 주기준저[1] + 전환가격 > wc[1] and 주기준저[1] + 전환가격 <= wc[0] Then 주방향[0] = 상승; if 주기준고[1] - 전환가격 < wc[1] and 주기준고[1] - 전환가격 >= wc[0] Then 주방향[0] = 하락; if 주방향[0] == 상승 and 주고[0] < wc[0] then 주색깔 = 빨강; if 주방향[0] == 하락 and 주저[0] > wc[0] then 주색깔 = 파랑; if 주방향[1] == 하락 and 주방향[0] == 상승 then { 주저[1] = 주저[0]; 주저[0] = 주기준저; 주기준저 = wc[0]; 주기준고 = wc[0]; if 주저[1] > 주저[0] then 주색깔 = 파랑; } if 주방향[1] == 상승 and 주방향[0] == 하락 then { 주고[1] = 주고[0]; 주고[0] = 주기준고; 주기준저 = wc[0]; 주기준고 = wc[0]; if 주고[1] < 주고[0] then 주색깔 = 빨강; } w = 주방향[0]; for j = 8 downto 0 { wo[j+1] = wo[j]; wh[j+1] = wh[j]; wl[j+1] = wl[j]; wc[j+1] = wc[j]; } wo[0] = o; wh[0] = h; wl[0] = l; } if wh[0] < h then wh[0] = h; if wl[0] > L or wl[0] == o then wl[0] = l; wc[0] = c; if 기준고 <=C or 기준고 == 0 then 기준고 =c; if 기준저 >=C or 기준저 == 0 then 기준저 =c; if C[1] + 전환가격/3 <= C then E = 상승; if C[1] - 전환가격/3 >= C then E = 하락; if ma(v,40)/2.5 >= v then ub = 바닥; if ma(v,40)*2.5 <= v then ub = 천장; if 기준저[1] + 전환가격 > c[1] and 기준저[1] + 전환가격 <=c then 방향 = 상승; if 기준고[1] - 전환가격 < c[1] and 기준고[1] - 전환가격 >= c then 방향 = 하락; if 방향[1] == 하락 and 방향 == 상승 then { for j = 8 downto 0 { 저[j+1] = 저[j]; } 저[0] = 기준저; 꺾은선 = 기준저; 기준저 = c; 기준고 = c; if E == 상승 then {E표시 = 꺾은선 - 전환가격; 매수마크 = 매수마크 + 1; } if UB == 바닥 then {UB표시 = 꺾은선 - 2*전환가격; 매수마크 = 매수마크 + 1; } if w == 상승 then { w표시 = 꺾은선 - 3*전환가격; 매수마크 = 매수마크 + 1; } E = 0; UB = 0; w = 0; if 저[1] > 저[0] then 색깔 = 파랑; if 색깔[1] !=색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0; if 저[1] < 저[0] then { if 저[2] >= 저[1] then 확인 = 바닥; else 확인 = 0; } if 확인 == 바닥 and 확인[1] < 확인 then 확인표시 = 꺾은선 -4*전환가격; if 색깔[1] !=색깔 then 전환 = 0; if 저[1] < 저[0] and 고[1] < 고[0] then 전환 = 상승; if 전환 == 상승 and 전환[1] < 전환 then { 전환표시 = 꺾은선 - 5*전환가격; 진입 = 1; } if 고[1]-저[1] > 고[0]-저[1] and 고[0]-저[1] > 고[0]-저[0] then { 대중소 = 꺾은선 - 6*전환가격; 대중소색깔 = 빨강; } if 고[1]-저[1] < 고[0]-저[1] and 고[0]-저[1] < 고[0]-저[0] then { 소중대 = 꺾은선 -6*전환가격; 대중소색깔 = 파랑; } } a75 = ((고[0]-저[1])-(고[0]-저[0])*0.25)/((고[0]-저[1])+(고[0]-저[0])*0.25); a60 = ((고[0]-저[1])-(고[0]-저[0])*0.4)/((고[0]-저[1])+(고[0]-저[0])*0.4); a50 = ((고[0]-저[1])-(고[0]-저[0])*0.5)/((고[0]-저[1])+(고[0]-저[0])*0.5); a40 = ((고[0]-저[1])-(고[0]-저[0])*0.6)/((고[0]-저[1])+(고[0]-저[0])*0.6); a25 = ((고[0]-저[1])-(고[0]-저[0])*0.75)/((고[0]-저[1])+(고[0]-저[0])*0.75); b = 저[1]-(고[0]-저[0])*2; 상상 = (저[1]-a75+b)/(1-a75); 상 = (저[1]-a60+b)/(1-a60); 중 = (저[1]-a50+b)/(1-a50); 하 = (저[1]-a40+b)/(1-a40); 하하 = (저[1]-a25+b)/(1-a25); if 등락폭[1] == -1 or 등락폭[1] == -2 Then 매수마크 = 매수마크 + 1; if 방향[1] == 상승 and 방향 == 하락 then { for j = 8 downto 0 { 고[j+1] = 고[j]; } 고[0] = 기준고; 꺾은선 = 기준고; 기준고 = c; 기준저 = c; if E == 하락 then {E표시 = 꺾은선 + 전환가격; 매도마크 = 매도마크 + 1;} if UB == 천장 then { UB표시 = 꺾은선 + 2*전환가격; 매도마크 = 매도마크 +1;} if w == 하락 then {w표시 = 꺾은선 +3*전환가격; 매도마크 = 매도마크 +1;} E = 0; UB = 0; W = 0; if 고[1] < 고[0] then 색깔 = 빨강; if 색깔[1] !=색깔 and 고[1] < 고[0] and 저[1] > 저[0] then 확인 = 0; if 고[1] > 고[0] then { if 고[2] <= 고[1] then 확인 = 천장; else 확인 = 0; } if 확인 == 천장 and 확인[1] > 확인 then 확인표시 = 꺾은선 + 4*전환가격; if 색깔[1] !=색깔 then 전환 = 0; if 고[1] > 고[0] and 저[1] > 저[0] then 전환=하락; if 전환 == 하락 and 전환[1] > 전환 then 전환표시 = 꺾은선 + 5*전환가격; if 고[1]-저[1] > 고[1]-저[0] and 고[1]-저[0] > 고[0]-저[0] then { 대중소 = 꺾은선 + 5*전환가격; 대중소색깔 = 파랑; 청산 = 1; } if 고[1]-저[1] < 고[1]-저[0] and 고[1]-저[0] < 고[0]-저[0] then { 소중대 = 꺾은선 + 5*전환가격; 대중소색깔 = 빨강; } if 고[2]-저[1] < 고[1]-저[1] and 고[1]-저[1] < 고[1]-저[0] then 청산 = 2; } a25 = (-(고[1]-저[0])+(고[0]-저[0])*0.75)/((고[1]-저[0])+(고[0]-저[0])*0.75); a40 = (-(고[1]-저[0])+(고[0]-저[0])*0.6)/((고[1]-저[0])+(고[0]-저[0])*0.6); a50 = (-(고[1]-저[0])+(고[0]-저[0])*0.5)/((고[1]-저[0])+(고[0]-저[0])*0.5); a60 = (-(고[1]-저[0])+(고[0]-저[0])*0.4)/((고[1]-저[0])+(고[0]-저[0])*0.4); a75 = (-(고[1]-저[0])+(고[0]-저[0])*0.25)/((고[1]-저[0])+(고[0]-저[0])*0.25); b = 고[1] + (고[0]-저[0])+2; 상상 = (고[1]+a25+b)/(1+a25); 상 = (고[1]+a40+b)/(1+a40); 중 = (고[1]+a50+b)/(1+a50); 하 = (고[1]+a60+b)/(1+a60); 하하 = (고[1]+a75+b)/(1+a75); if 등락폭[1] == 0 or 등락폭[1] == 1 or 등락폭[1] ==2 Then 매도마크 = 매도마크 + 1; if iff(방향=상승, 기준고, 기준저) >= (상상+상)/2 then 등락폭 = 2; else if iff(방향=상승, 기준고, 기준저) >= (상+중)/2 then 등락폭 = 1; else if iff(방향=상승, 기준고, 기준저) > (중+하)/2 then 등락폭 = 0; else if iff(방향=상승, 기준고, 기준저) > (하+하하)/2 then 등락폭 = -1; else 등락폭 = -2; if MarketPosition()==0 then { if 진입 == 1 then buy("눌림목매수"); } if MarketPosition() == 1 then { if 청산 == 1 then ExitLong("대중소"); if 청산 == 2 then ExitLong("소중대"); if 저[0] > C then ExitLong("손절매"); if 고[1]>고[0] then ExitLong("전고점갱신실패"); if 매도마크 >= 3 then exitlong("매도마크"); } ---------------------------------------------------------- 매수신호가 발생하질않네요 어디가 문제일까요 손봐주시면 감사하겠습니다 고생하십시요