커뮤니티

시스템식 수정요청

프로필 이미지
황금의성
2014-03-02 18:41:28
172
글번호 73094
답변완료

첨부 이미지

국선 거래에 있어, 갭이 많이 발생되기 때문에 안정성을 위하여 '당일청산'을 강제청산조건으로 주고 있습니다. 그런데, 위의 그림들과 같은 경우, 새로운 거래일이 시작되어 하염없이 내려(올라)가도 렌코는 중간에 반등(반락)을 주지 않는 한 진입신호가 주어지지 않습니다. 전에 매일 아침 새로이 계산을 시작하도록 고쳐주셨다고 하셨지만, 여전히 이러한 문제점이 있습니다. 그래서 생각한 아이디어는, 아침에 장이 시작되어 시가로부터 단위호가의 2배 내지 2.5배의 가격 움직임(하향이든 상향이든)이 있으면 그 방향으로 진입하도록 조치하여 주시면 대단히 감사하겠습니다. 기존의 수식은 다음과 같습니다. input:단위호가(5),Profit(20),loss(20); var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1); array:고[10](0),저[10](0); if index == 0 or dayindex == 0 then { 벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수 고[0] = C; 저[0] = C; 방향 = 0; } if 방향 == 0 then { if 저[0] - 벽돌크기 >= C then { 저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기; 방향 = 하락; } else if 고[0] + 벽돌크기 <= C then { 고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기; 방향 = 상승; } } else if 방향 == 하락 then { if 저[0] - 벽돌크기 >= C then 저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기; if 저[0] + 2*벽돌크기 <= C then { for j = 8 downto 0 { 고[j+1] = 고[j]; } 방향 = 상승; 고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기; } } else if 방향 == 상승 then { if 고[0] + 벽돌크기 <= C then 고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기; if 고[0] - 2*벽돌크기 >= C then { for j = 8 downto 0 { 저[j+1] = 저[j]; } 방향 = 하락; 저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기; } } if 방향[1]==하락 and 방향==상승 then Buy("상승"); if 방향[1]==상승 and 방향==하락 then Sell("하락"); SetStopProfittarget(PriceScale*Profit,PointStop); SetStopLoss(PriceScale*loss,PointStop);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-03-03 15:24:29

안녕하세요 예스스탁입니다. 당일 첫진입에 한해서 종가가 시가대비 +N틱 이상이면 매수 종가가 시가대바 -N틱 이하이면 매도하는 식을 추가했습니다. input:단위호가(5),Profit(20),loss(20),N(3); var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1),cnt(0),count(0); array:고[10](0),저[10](0); if index == 0 or dayindex == 0 then { 벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수 고[0] = C; 저[0] = C; 방향 = 0; } if 방향 == 0 then { if 저[0] - 벽돌크기 >= C then { 저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기; 방향 = 하락; } else if 고[0] + 벽돌크기 <= C then { 고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기; 방향 = 상승; } } else if 방향 == 하락 then { if 저[0] - 벽돌크기 >= C then 저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기; if 저[0] + 2*벽돌크기 <= C then { for j = 8 downto 0 { 고[j+1] = 고[j]; } 방향 = 상승; 고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기; } } else if 방향 == 상승 then { if 고[0] + 벽돌크기 <= C then 고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기; if 고[0] - 2*벽돌크기 >= C then { for j = 8 downto 0 { 저[j+1] = 저[j]; } 방향 = 하락; 저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기; } } count = 0; for cnt = 0 to 20{ if EntryDate(cnt) == sdate Then count = count+1; } if count == 0 Then{ if C >= dayopen+PriceScale*N Then buy(); if C <= dayopen-PriceScale*N Then sell(); } if 방향[1]==하락 and 방향==상승 then Buy("상승"); if 방향[1]==상승 and 방향==하락 then Sell("하락"); SetStopProfittarget(PriceScale*Profit,PointStop); SetStopLoss(PriceScale*loss,PointStop); 즐거운 하루되세요 > 황금의성 님이 쓴 글입니다. > 제목 : 시스템식 수정요청 > 국선 거래에 있어, 갭이 많이 발생되기 때문에 안정성을 위하여 '당일청산'을 강제청산조건으로 주고 있습니다. 그런데, 위의 그림들과 같은 경우, 새로운 거래일이 시작되어 하염없이 내려(올라)가도 렌코는 중간에 반등(반락)을 주지 않는 한 진입신호가 주어지지 않습니다. 전에 매일 아침 새로이 계산을 시작하도록 고쳐주셨다고 하셨지만, 여전히 이러한 문제점이 있습니다. 그래서 생각한 아이디어는, 아침에 장이 시작되어 시가로부터 단위호가의 2배 내지 2.5배의 가격 움직임(하향이든 상향이든)이 있으면 그 방향으로 진입하도록 조치하여 주시면 대단히 감사하겠습니다. 기존의 수식은 다음과 같습니다. input:단위호가(5),Profit(20),loss(20); var:j(0),벽돌크기(0),방향(0),상승(1),하락(-1); array:고[10](0),저[10](0); if index == 0 or dayindex == 0 then { 벽돌크기 = PriceScale * 단위호가; //_TickValue()는 사용자 함수 고[0] = C; 저[0] = C; 방향 = 0; } if 방향 == 0 then { if 저[0] - 벽돌크기 >= C then { 저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기; 방향 = 하락; } else if 고[0] + 벽돌크기 <= C then { 고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기; 방향 = 상승; } } else if 방향 == 하락 then { if 저[0] - 벽돌크기 >= C then 저[0] = 저[0] - int((저[0]-C)/벽돌크기)*벽돌크기; if 저[0] + 2*벽돌크기 <= C then { for j = 8 downto 0 { 고[j+1] = 고[j]; } 방향 = 상승; 고[0] = 저[0] + int((C-저[0])/벽돌크기)*벽돌크기; } } else if 방향 == 상승 then { if 고[0] + 벽돌크기 <= C then 고[0] = 고[0] + int((C-고[0])/벽돌크기)*벽돌크기; if 고[0] - 2*벽돌크기 >= C then { for j = 8 downto 0 { 저[j+1] = 저[j]; } 방향 = 하락; 저[0] = 고[0] - int((고[0]-C)/벽돌크기)*벽돌크기; } } if 방향[1]==하락 and 방향==상승 then Buy("상승"); if 방향[1]==상승 and 방향==하락 then Sell("하락"); SetStopProfittarget(PriceScale*Profit,PointStop); SetStopLoss(PriceScale*loss,PointStop);