커뮤니티
시스템식 검토 부탁드립니다.
2016-10-11 23:06:21
128
글번호 102828
항상 도움 주셔서 감사합니다.
문1) 아래 시스템식은 예스스탁에서 작성해 주신것인데요.
추세선 그린 이후부터 매매가 되게 부탁드렸는데
여전히 추세선 그리기 전에도 매매가 됩니다.
다시 한번 검토 부탁드립니다.
input : N(0);
var : cnt(0),TL(0);
Array : HH[20](0),HD[20](0),HT[20](0);
Array : LL[20](0),LD[20](0),LT[20](0);
if bdate != bdate[1] Then{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if N >= 1 then{
TL_Delete(TL);
TL = TL_New(LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
TL_SetExtRight(TL,true);
MessageLog("%.2f %.2f %.2f %.2f %.2f %.2f",LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
}
}
if H > HH[0] Then{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
}
if L < LL[0] Then{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
}
if N == 0 then{
TL_Delete(TL);
TL = TL_New(LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
TL_SetExtRight(TL,true);
}
if C >= TL_GetValue(TL,sdate,stime) and C[1] < TL_GetValue(TL,sdate[1],stime[1]) Then
Buy("B");
if C <= TL_GetValue(TL,sdate,stime) and C[1] > TL_GetValue(TL,sdate[1],stime[1]) Then
Sell("S");
문2) 아래식도 예스스탁에서 작성해 주신것입니다.
시스템을 적용해 보니 매매가 안됩니다.
다시 한번 검토 부탁드립니다.
input : 시작일(20161004),종료일(20161007);
var : TL(0),Tcond(false);
var : HH(0),HD(0),HT(0);
var : LL(0),LD(0),LT(0);
if bdate != bdate[1] and Bdate == 시작일 Then{
Tcond = true;
HH = H;
HD = sdate;
HT = stime;
LL = L;
LD = sdate;
LT = stime;
}
if 종료일 > 0 and Bdate > 종료일 Then{
Tcond = false;
}
if Tcond == true then{
if H > HH Then{
HH = H;
HD = sdate;
HT = stime;
TL_Delete(TL);
TL = TL_New(LD,LT,LL,HD,HT,HH);
}
if L < LL Then{
LL = L;
LD = sdate;
LT = stime;
TL_Delete(TL);
TL = TL_New(LD,LT,LL,HD,HT,HH);
}
}
if Bdate > 종료일 and C >= TL_GetValue(TL,sdate,stime) and C[1] < TL_GetValue(TL,sdate[1],stime[1]) Then
Buy("B");
if Bdate > 종료일 and C <= TL_GetValue(TL,sdate,stime) and C[1] > TL_GetValue(TL,sdate[1],stime[1]) Then
Sell("S");
답변 1
예스스탁 예스스탁 답변
2016-10-12 10:16:53
안녕하세요
예스스탁입니다.
1번식은 당일차트에만 신호가 발생하게
2번식은 연장선을 추가했습니다.
1.
input : N(0);
var : cnt(0),TL(0);
Array : HH[20](0),HD[20](0),HT[20](0);
Array : LL[20](0),LD[20](0),LT[20](0);
if bdate != bdate[1] Then{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if N >= 1 then{
TL_Delete(TL);
TL = TL_New(LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
TL_SetExtRight(TL,true);
MessageLog("%.2f %.2f %.2f %.2f %.2f %.2f",LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
}
}
if H > HH[0] Then{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
}
if L < LL[0] Then{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
}
if N == 0 then{
TL_Delete(TL);
TL = TL_New(LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
TL_SetExtRight(TL,true);
}
if CurrentDate == sdate then{
if C >= TL_GetValue(TL,sdate,stime) and C[1] < TL_GetValue(TL,sdate[1],stime[1]) Then
Buy("B");
if C <= TL_GetValue(TL,sdate,stime) and C[1] > TL_GetValue(TL,sdate[1],stime[1]) Then
Sell("S");
}
2
input : 시작일(20161004),종료일(20161007);
var : TL(0),Tcond(false);
var : HH(0),HD(0),HT(0);
var : LL(0),LD(0),LT(0);
if bdate != bdate[1] and Bdate == 시작일 Then{
Tcond = true;
HH = H;
HD = sdate;
HT = stime;
LL = L;
LD = sdate;
LT = stime;
}
if 종료일 > 0 and Bdate > 종료일 Then{
Tcond = false;
}
if Tcond == true then{
if H > HH Then{
HH = H;
HD = sdate;
HT = stime;
TL_Delete(TL);
TL = TL_New(LD,LT,LL,HD,HT,HH);
TL_SetExtRight(TL,true);
}
if L < LL Then{
LL = L;
LD = sdate;
LT = stime;
TL_Delete(TL);
TL = TL_New(LD,LT,LL,HD,HT,HH);
TL_SetExtRight(TL,true);
}
}
if Bdate > 종료일 and C >= TL_GetValue(TL,sdate,stime) and C[1] < TL_GetValue(TL,sdate[1],stime[1]) Then
Buy("B");
if Bdate > 종료일 and C <= TL_GetValue(TL,sdate,stime) and C[1] > TL_GetValue(TL,sdate[1],stime[1]) Then
Sell("S");
즐거운 하루되세요
> 양치기 님이 쓴 글입니다.
> 제목 : 시스템식 검토 부탁드립니다.
> 항상 도움 주셔서 감사합니다.
문1) 아래 시스템식은 예스스탁에서 작성해 주신것인데요.
추세선 그린 이후부터 매매가 되게 부탁드렸는데
여전히 추세선 그리기 전에도 매매가 됩니다.
다시 한번 검토 부탁드립니다.
input : N(0);
var : cnt(0),TL(0);
Array : HH[20](0),HD[20](0),HT[20](0);
Array : LL[20](0),LD[20](0),LT[20](0);
if bdate != bdate[1] Then{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if N >= 1 then{
TL_Delete(TL);
TL = TL_New(LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
TL_SetExtRight(TL,true);
MessageLog("%.2f %.2f %.2f %.2f %.2f %.2f",LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
}
}
if H > HH[0] Then{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
}
if L < LL[0] Then{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
}
if N == 0 then{
TL_Delete(TL);
TL = TL_New(LD[N],LT[N],LL[N],HD[N],HT[N],HH[N]);
TL_SetExtRight(TL,true);
}
if C >= TL_GetValue(TL,sdate,stime) and C[1] < TL_GetValue(TL,sdate[1],stime[1]) Then
Buy("B");
if C <= TL_GetValue(TL,sdate,stime) and C[1] > TL_GetValue(TL,sdate[1],stime[1]) Then
Sell("S");
문2) 아래식도 예스스탁에서 작성해 주신것입니다.
시스템을 적용해 보니 매매가 안됩니다.
다시 한번 검토 부탁드립니다.
input : 시작일(20161004),종료일(20161007);
var : TL(0),Tcond(false);
var : HH(0),HD(0),HT(0);
var : LL(0),LD(0),LT(0);
if bdate != bdate[1] and Bdate == 시작일 Then{
Tcond = true;
HH = H;
HD = sdate;
HT = stime;
LL = L;
LD = sdate;
LT = stime;
}
if 종료일 > 0 and Bdate > 종료일 Then{
Tcond = false;
}
if Tcond == true then{
if H > HH Then{
HH = H;
HD = sdate;
HT = stime;
TL_Delete(TL);
TL = TL_New(LD,LT,LL,HD,HT,HH);
}
if L < LL Then{
LL = L;
LD = sdate;
LT = stime;
TL_Delete(TL);
TL = TL_New(LD,LT,LL,HD,HT,HH);
}
}
if Bdate > 종료일 and C >= TL_GetValue(TL,sdate,stime) and C[1] < TL_GetValue(TL,sdate[1],stime[1]) Then
Buy("B");
if Bdate > 종료일 and C <= TL_GetValue(TL,sdate,stime) and C[1] > TL_GetValue(TL,sdate[1],stime[1]) Then
Sell("S");
다음글
이전글