커뮤니티
수식작성 좀 요청드립니다.
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분봉으로 할 생각입니다^^
코드 작성 좀 부탁드립니다^^
이전글