커뮤니티
수정부탁드려요..
2015-12-22 00:23:20
116
글번호 93671
아래의 전략은 일봉 국내선물기준으로 되어있는데요. 이걸 주봉 해외선물기준으로 수정해주세요..
주봉은 data2를 참조해서 할건데요
day!##%^$#(1) 부분들과
sdate==exitdate(1) 부분
stime<150000 부분
dayOpen 부분
atr(20) 등을 주봉 해외선물기준으로
Atstop을 Atmarket으로 바꿔주세요^^
////////////////////////////////////////////
input : s1(0.48), s2(2.7);
Var1=dayhigh(1);
Var2=dayclose(1);
Var3=dayLow(1);
Var4=dayclose(1);
//패턴설정
If abs(Var1-var4)>=abs(Var2-var3) then //전일고가와 종가폭이 전일저가와 종가폭보다 크면
Var10=abs(Var1-var4);
Else
Var10=abs(Var2-var3);
condition1= sdate==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수
condition2= sdate==exitdate(1) And marketposition(1)==-1;//최근청산날짜가 금일이고 직전이 매도
If stime<150000 then {
If condition1==False and MarketPosition <> 1 then {
buy("매수",Atstop,dayOpen+var10*S1);//지정가 상향돌파시 매수
}
If condition2==False and MarketPosition <> -1 then {
sell("매도",Atstop,dayOpen-var10*S1);//지정가 하향돌파시 매도
}
}
//청산
If marketposition<>0 then {
exitlong("매수청산",Atstop,highest(high,BarsSinceEntry+1)-atr(20)*s2);
exitshort("매도청산",Atstop,lowest(low,BarsSinceEntry+1)+atr(20)*s2);
답변 1
예스스탁 예스스탁 답변
2015-12-22 13:39:34
안녕하세요
예스스탁입니다.
해당식 data2 참조데이터를 이용해
주간시고저종가를 이용하게 변경했습니다.
시간관련해서는 사용자분이 끝시간을 지정하셔야 합니다.
원본식도 단순 15시까지 진입한다는 내용입니다.
외부변수로 추리해 드립니다.
input : s1(0.48), s2(2.7),끝시간(050000);
var : HH(0,data2),LL(0,data2),CC(0,data2),OO(0,data2);
var : H1(0,data2),L1(0,data2),C1(0,data2),O1(0,data2);
var : V1(0,data2),V2(0,data2),V3(0,data2),V4(0,data2),V10(0,data2);
var : ATRV(0,data2),X(0,data1),Cond1(false,data1),cond2(false,data1);
var : H2(0,data1),L2(0,data1),Tcond(false,data1);
if data2(DayOfWeek(sdate)< DayOfWeek(sdate[1])) Then{
OO = data2(O);
HH = data2(H);
LL = data2(L);
O1 = OO[1];
H1 = HH[1];
L1 = LL[1];
C1 = CC[1];
X = 0;
}
if data2(H) > HH Then
HH = data2(H);
if data2(L) < LL Then
LL = data2(L);
CC = data2(C);
V1 = H1;
V2 = C1;
V3 = L1;
V4 = C1;
ATRV = data2(ATR(20));
//패턴설정
If abs(V1-v4)>=abs(V2-v3) then //전일고가와 종가폭이 전일저가와 종가폭보다 크면
V10=abs(V1-v4);
Else
V10=abs(V2-v3);
if TotalTrades > TotalTrades[1] and MarketPosition(1) == 1 Then
X = 1;
if TotalTrades > TotalTrades[1] and MarketPosition(1) == -1 Then
X = -1;
cond1 = X == 1 ;
cond2 = X == -1 ;
if Bdate != Bdate[1] Then
Tcond = true;
if stime == 끝시간 or (stime > 끝시간 and stime[1] < 끝시간) Then
Tcond = false;
If Tcond == true then {
If cond1 == False and MarketPosition <> 1 and
data2(C) >= OO+V10*S1 then {
buy("매수",AtMarket);//지정가 상향돌파시 매수
}
If cond2 == False and MarketPosition <> -1 and
data2(C) <= OO-V10*S1 then {
sell("매도",AtMarket);//지정가 하향돌파시 매도
}
}
H2 = data2(H);
L2 = data2(L);
//청산
If marketposition<>0 then {
if data2(c) <= highest(H2,BarsSinceEntry+1)-atrv*s2 Then
exitlong("매수청산",AtMarket);
if data2(c) >= Lowest(L2,BarsSinceEntry+1)+atrv*s2 Then
exitshort("매도청산",AtMarket);
}
즐거운 하루되세요
> 팽구 님이 쓴 글입니다.
> 제목 : 수정부탁드려요..
> 아래의 전략은 일봉 국내선물기준으로 되어있는데요. 이걸 주봉 해외선물기준으로 수정해주세요..
주봉은 data2를 참조해서 할건데요
day!##%^$#(1) 부분들과
sdate==exitdate(1) 부분
stime<150000 부분
dayOpen 부분
atr(20) 등을 주봉 해외선물기준으로
Atstop을 Atmarket으로 바꿔주세요^^
////////////////////////////////////////////
input : s1(0.48), s2(2.7);
Var1=dayhigh(1);
Var2=dayclose(1);
Var3=dayLow(1);
Var4=dayclose(1);
//패턴설정
If abs(Var1-var4)>=abs(Var2-var3) then //전일고가와 종가폭이 전일저가와 종가폭보다 크면
Var10=abs(Var1-var4);
Else
Var10=abs(Var2-var3);
condition1= sdate==exitdate(1) And marketposition(1)==1; //최근청산날짜가 금일이고 직전이 매수
condition2= sdate==exitdate(1) And marketposition(1)==-1;//최근청산날짜가 금일이고 직전이 매도
If stime<150000 then {
If condition1==False and MarketPosition <> 1 then {
buy("매수",Atstop,dayOpen+var10*S1);//지정가 상향돌파시 매수
}
If condition2==False and MarketPosition <> -1 then {
sell("매도",Atstop,dayOpen-var10*S1);//지정가 하향돌파시 매도
}
}
//청산
If marketposition<>0 then {
exitlong("매수청산",Atstop,highest(high,BarsSinceEntry+1)-atr(20)*s2);
exitshort("매도청산",Atstop,lowest(low,BarsSinceEntry+1)+atr(20)*s2);