예스스탁
예스스탁 답변
2021-04-01 13:45:04
안녕하세요
예스스탁입니다.
1
자동추세선은 식작성에 시간이 많이 걸리는 부분입니다.
업무상 시간이 많이 소모되는 내용은 답변을 드리기 어렵습니다.
도움을 드리지 못해 죄송합니다.
2
input : 비교고저점기준(10);
var : cnt(0),BTL(0),STL(0);
Array : HH[20](0),HD[20](0),HT[20](0);
Array : LL[20](0),LD[20](0),LT[20](0);
if SwingHigh(1,H,비교고저점기준,비교고저점기준,비교고저점기준*2+1) != -1 Then{
HH[0] = H[비교고저점기준];
HD[0] = sdate[비교고저점기준];
HT[0] = sTime[비교고저점기준];
Condition1 = false;
for cnt = 1 to 19{
HH[cnt] = HH[cnt-1][1];
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
if Condition1 == false and HH[cnt] > HH[0] and HH[cnt] > 0 Then{
Condition1 = true;
TL_Delete(BTL);
BTL = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
}
}
if SwingLow(1,L,비교고저점기준,비교고저점기준,비교고저점기준*2+1) != -1 Then{
LL[0] = L[비교고저점기준];
LD[0] = sdate[비교고저점기준];
LT[0] = sTime[비교고저점기준];
Condition2 = false;
for cnt = 1 to 19{
LL[cnt] = LL[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
if Condition2 == false and LL[cnt] < LL[0] and LL[cnt] > 0 Then{
Condition2 = true;
TL_Delete(STL);
STL = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetExtRight(STL,true);
TL_SetColor(STL,blue);
}
}
}
if TL_GetValue(BTL,sdate,stime) > TL_GetValue(STL,sdate,stime) Then
{
if C > TL_GetValue(BTL,sdate,stime) and C[1] < TL_GetValue(BTL,sdate[1],stime[1]) Then{
buy("b");
}
if C < TL_GetValue(STL,sdate,stime) and C[1] > TL_GetValue(STL,sdate[1],stime[1]) Then{
sell("s");
}
}
즐거운 하루되세요
> 조민철 님이 쓴 글입니다.
> 제목 : 자동시스템 수정
> 항상 감사드립니다
1. 아래자동시스템 식을 귀사의 보조도구 자동추세선과 유사하게 구현하고 싶습니다
수정부탁드립니다
자동추세선
비교고저점기준 : 5
최근만 적용
자동간격: 단기(10)
2.매수매도 시스템식에서 아래조건을 추가하고 싶습니다
빨간추세선(red) > 파란추세선(blue) 일때 매수매도 신호발생
/**************************************************************************/
input : 비교고저점기준(10);
var : cnt(0),BTL(0),STL(0);
Array : HH[20](0),HD[20](0),HT[20](0);
Array : LL[20](0),LD[20](0),LT[20](0);
if SwingHigh(1,H,비교고저점기준,비교고저점기준,비교고저점기준*2+1) != -1 Then{
HH[0] = H[비교고저점기준];
HD[0] = sdate[비교고저점기준];
HT[0] = sTime[비교고저점기준];
Condition1 = false;
for cnt = 1 to 19{
HH[cnt] = HH[cnt-1][1];
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
if Condition1 == false and HH[cnt] > HH[0] and HH[cnt] > 0 Then{
Condition1 = true;
TL_Delete(BTL);
BTL = TL_New(HD[cnt],HT[cnt],HH[cnt],HD[0],HT[0],HH[0]);
TL_SetExtRight(BTL,true);
TL_SetColor(BTL,RED);
}
}
}
if SwingLow(1,L,비교고저점기준,비교고저점기준,비교고저점기준*2+1) != -1 Then{
LL[0] = L[비교고저점기준];
LD[0] = sdate[비교고저점기준];
LT[0] = sTime[비교고저점기준];
Condition2 = false;
for cnt = 1 to 19{
LL[cnt] = LL[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
if Condition2 == false and LL[cnt] < LL[0] and LL[cnt] > 0 Then{
Condition2 = true;
TL_Delete(STL);
STL = TL_New(LD[cnt],LT[cnt],LL[cnt],LD[0],LT[0],LL[0]);
TL_SetExtRight(STL,true);
TL_SetColor(STL,blue);
}
}
}
if C > TL_GetValue(BTL,sdate,stime) and C[1] < TL_GetValue(BTL,sdate[1],stime[1]) Then{
buy("b");
}
if C < TL_GetValue(STL,sdate,stime) and C[1] > TL_GetValue(STL,sdate[1],stime[1]) Then{
sell("s");
}