커뮤니티
시스템식 부탁드립니다.
2016-10-11 22:49:05
122
글번호 102775
항상 도움 주셔서 감사합니다.
문1) TL_New 함수를 이용하여 추세선을 그린후(연장 추세선을 그림)
추세선 그린 이후(즉 추세선 종료시점 이후 연장 추세선을 기준으로 매매)
현재가가 연장 추세선을 상승 돌파하면 매수
현재가가 연장 추세선을 하락 돌파하면 매도 하는 시스템식을 만들고 싶습니다.
예문) 아래 예문은 추세선 사이(시작과 종료) 사이에 매매가 됨
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]);
}
}
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]);
}
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 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");
답변 1
예스스탁 예스스탁 답변
2016-10-11 10:53:20
안녕하세요
예스스탁입니다.
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) TL_New 함수를 이용하여 추세선을 그린후(연장 추세선을 그림)
추세선 그린 이후(즉 추세선 종료시점 이후 연장 추세선을 기준으로 매매)
현재가가 연장 추세선을 상승 돌파하면 매수
현재가가 연장 추세선을 하락 돌파하면 매도 하는 시스템식을 만들고 싶습니다.
예문) 아래 예문은 추세선 사이(시작과 종료) 사이에 매매가 됨
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]);
}
}
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]);
}
예문2) 이것도 추세선 종료시점 이후 매매가 되도록 수정 부탁드립니다.
input : 시작일(20161004),종료일(20161007);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");
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 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");
다음글
이전글