커뮤니티
작동하지 않아요 --
2015-12-22 14:40:15
117
글번호 93699
data1은 20분봉 data2는 주봉으로 유달 1년치 설정해보니 작동하지 않습니다.(거래0회)
여기에서 끝시간은 1주일단위로 마지막시간인 토요일 새벽 5시까지로 되어야함다.
/////////////////////////////////////////////
안녕하세요
예스스탁입니다.
해당식 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);
}
즐거운 하루되세요
답변 1
예스스탁 예스스탁 답변
2015-12-23 09:43:02
안녕하세요
예스스탁입니다.
식을 수정했습니다.
내용을 잘못파악했습니다.
매수선과 매도선 보실수 있는
지표식도 같이 올려드립니다.
1. 시스템
input : s1(0.48), s2(2.7),끝시간(050000);
var : V1(0,data2),V2(0,data2),V3(0,data2),V4(0,data2),V10(0,data2);
var : H2(0,data1),L2(0,data1),Tcond(false),OO(0,data1);
var : ATRV(0,data2),X(0,data1),Cond1(false,data1),cond2(false,data1);
if data1(DayOfWeek(bdate) < DayOfWeek(bdate[1])) Then{
OO = O;
Tcond = true;
X = 0;
}
if data1(DayOfWeek(bdate) == 5 and (stime == 050000 or (stime > 050000 and stime[1] < 050000))) Then{
Tcond = false;
ExitLong("bx");
ExitShort("sx");
}
V1 = data2(H);
V2 = data2(C);
V3 = data2(L);
V4 = data2(C);
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 Tcond == true then {
If cond1 == False and MarketPosition <> 1 and
C >= OO+V10*S1 then {
buy("매수",AtMarket);//지정가 상향돌파시 매수
}
If cond2 == False and MarketPosition <> -1 and
C <= OO-V10*S1 then {
sell("매도",AtMarket);//지정가 하향돌파시 매도
}
}
H2 = data2(H);
L2 = data2(L);
//청산
If marketposition<>0 then {
if data2(c) <= data1(highest(H2,BarsSinceEntry+1))-atrv*s2 Then
exitlong("매수청산",AtMarket);
if data2(c) >= data1(Lowest(L2,BarsSinceEntry+1))+atrv*s2 Then
exitshort("매도청산",AtMarket);
}
2 지표
input : s1(0.48), s2(2.7),끝시간(050000);
var : V1(0,data2),V2(0,data2),V3(0,data2),V4(0,data2),V10(0,data2);
var : H2(0,data1),L2(0,data1),Tcond(false),OO(0,data1);
var : ATRV(0,data2),X(0,data1),Cond1(false,data1),cond2(false,data1);
if data1(DayOfWeek(bdate) < DayOfWeek(bdate[1])) Then{
OO = data1(O);
Tcond = true;
X = 0;
}
if data1(DayOfWeek(bdate) == 5 and (stime == 050000 or (stime > 050000 and stime[1] < 050000))) Then{
Tcond = false;
}
V1 = data2(H);
V2 = data2(C);
V3 = data2(L);
V4 = data2(C);
ATRV = data2(ATR(20));
//패턴설정
If abs(V1-v4)>=abs(V2-v3) then //전일고가와 종가폭이 전일저가와 종가폭보다 크면
V10=abs(V1-v4);
Else
V10=abs(V2-v3);
plot1(OO+V10*S1,"매수선");
plot2(OO-V10*S1,"매도선");
즐거운 하루되세요
> 팽구 님이 쓴 글입니다.
> 제목 : 작동하지 않아요 --
> data1은 20분봉 data2는 주봉으로 유달 1년치 설정해보니 작동하지 않습니다.(거래0회)
여기에서 끝시간은 1주일단위로 마지막시간인 토요일 새벽 5시까지로 되어야함다.
/////////////////////////////////////////////
안녕하세요
예스스탁입니다.
해당식 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);
}
즐거운 하루되세요