커뮤니티

수식작성 좀 요청드립니다.

프로필 이미지
전략도사
2016-05-24 18:05:32
107
글번호 98432
답변완료
안녕하세요!! 수고가 많으십니다. 1. 아래에서 ATR 계산 시 일봉을 기준으로 작성해야 되는데요. 차트를 1분봉에 해놓으니 바로 청산 되더라구요^^ 일봉기준으로 ATR 계산한 후 적용은 1분봉으로 되는 코드 좀 부탁드립니다. 2. 그리고, 당일 현재가 > 시가+ 전일의 a*승수 --> 매수 당일 현재가 < 시가 - 전일의 a*승수 --> 매도 위의 상한선, 하한선을 차트에 표시하려고 하는데 작성 코드 좀 부탁드려용^^ 매일 매일 상한선, 하한선이 업데이트 되고, 장중에는 동일하게 유지 되야 되요 주문 나가는 선을 엑셀의 값이랑 확인하려고 합니다. 감사합니다. ------------------------------------------------------------ 안녕하세요 예스스탁입니다. input : n(10),승수(1),P(10),X(1); var : sum(0),avgv(0),cnt(0),atrv(0); sum = 0; for cnt = 1 to n{ sum = sum + (dayhigh(cnt)-daylow(cnt)); } avgv = sum/n; atrv = atr(P); if crossup(c,dayopen+avgv*승수) Then buy(); if CrossDown(c,dayopen+avgv*승수) Then sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-atrv*x); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+atrv*x); SetStopLoss(1,PercentStop); 즐거운 하루되세요 > 전략도사 님이 쓴 글입니다. > 제목 : 수식 좀 부탁드립니다^^ > 1. 과거 n일간의 고가-저가 차이를 평균(a)한다. 2. 당일 현재가 > 시가+ 전일의 a*승수 --> 매수 당일 현재가 < 시가 - 전일의 a*승수 --> 매도 3. 전체 투자금액의 1% 손실 시 손절 ATR 기준 트레일링 스탑 a를 계산할 때는 일봉 기준으로 해야 되는데, 매매는 1분봉으로 할 생각입니다^^ 코드 작성 좀 부탁드립니다^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-05-25 09:41:09

안녕하세요 예스스탁입니다. 1. input : n(10),승수(1),P(10),X(1); var : sum(0),avgv(0),cnt(0),atrv(0); var : TH(0),TL(0),Sum1(0),TR(0),DayATR(0); sum = 0; for cnt = 1 to n{ sum = sum + (dayhigh(cnt)-daylow(cnt)); } avgv = sum/n; sum1 = 0; for cnt = 0 to P-1{ If DayClose(cnt+1) > dayhigh(cnt) then TH = DayClose(cnt+1); else TH = dayhigh(cnt); If DayClose(cnt+1) < DayLow(cnt) then TL = DayClose(cnt+1); else TL = daylow(cnt); TR = TH-TL; Sum1 = Sum1+TR; } DayATR = Sum1/P; if crossup(c,dayopen+avgv*승수) Then buy(); if CrossDown(c,dayopen-avgv*승수) Then sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-DayATR*x); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+DayATR*x); SetStopLoss(1,PercentStop); 2 전일이면 n을 1로 설정하시면 됩니다. input : n(10),승수(1); var : sum(0),avgv(0),cnt(0); sum = 0; for cnt = 1 to n{ sum = sum + (dayhigh(cnt)-daylow(cnt)); } avgv = sum/n; plot1(dayopen+avgv*승수); plot2(dayopen-avgv*승수); 즐거운 하루되세요 > 전략도사 님이 쓴 글입니다. > 제목 : 수식작성 좀 요청드립니다. > 안녕하세요!! 수고가 많으십니다. 1. 아래에서 ATR 계산 시 일봉을 기준으로 작성해야 되는데요. 차트를 1분봉에 해놓으니 바로 청산 되더라구요^^ 일봉기준으로 ATR 계산한 후 적용은 1분봉으로 되는 코드 좀 부탁드립니다. 2. 그리고, 당일 현재가 > 시가+ 전일의 a*승수 --> 매수 당일 현재가 < 시가 - 전일의 a*승수 --> 매도 위의 상한선, 하한선을 차트에 표시하려고 하는데 작성 코드 좀 부탁드려용^^ 매일 매일 상한선, 하한선이 업데이트 되고, 장중에는 동일하게 유지 되야 되요 주문 나가는 선을 엑셀의 값이랑 확인하려고 합니다. 감사합니다. ------------------------------------------------------------ 안녕하세요 예스스탁입니다. input : n(10),승수(1),P(10),X(1); var : sum(0),avgv(0),cnt(0),atrv(0); sum = 0; for cnt = 1 to n{ sum = sum + (dayhigh(cnt)-daylow(cnt)); } avgv = sum/n; atrv = atr(P); if crossup(c,dayopen+avgv*승수) Then buy(); if CrossDown(c,dayopen+avgv*승수) Then sell(); if MarketPosition == 1 Then ExitLong("bx",AtStop,highest(H,BarsSinceEntry)-atrv*x); if MarketPosition == -1 Then ExitShort("sx",AtStop,Lowest(L,BarsSinceEntry)+atrv*x); SetStopLoss(1,PercentStop); 즐거운 하루되세요 > 전략도사 님이 쓴 글입니다. > 제목 : 수식 좀 부탁드립니다^^ > 1. 과거 n일간의 고가-저가 차이를 평균(a)한다. 2. 당일 현재가 > 시가+ 전일의 a*승수 --> 매수 당일 현재가 < 시가 - 전일의 a*승수 --> 매도 3. 전체 투자금액의 1% 손실 시 손절 ATR 기준 트레일링 스탑 a를 계산할 때는 일봉 기준으로 해야 되는데, 매매는 1분봉으로 할 생각입니다^^ 코드 작성 좀 부탁드립니다^^