커뮤니티
문의드립니다
2019-03-25 22:05:11
374
글번호 127376
아래 추세선 수식에서 추세선이 상방추세선 하방추세선 각각 1개씩만 나와서 실제 활용하기엔 너무 부족하고요,
TL_Delete(TL1); TL_Delete(TL2); 를 삭제하면 추세선이 과거 것이 전부다 나와서 너무 복잡해서 볼 수가 없네요.
이를 예를들어 상방하방 각각 6개씩만 나오도록 수식수정을 부탁드립니다.
input :len1(9);
var : cnt(0),TL1(0),TL2(0);
var : HHv(0),HDv(0),HTv(0);
var : LLv(0),LDv(0),LTv(0);
Array : HH[10](0),HD[10](0),HT[10](0);
Array : LL[10](0),LD[10](0),LT[10](0);
If SwingHighBar(1,high,len1,len1,len1+len1+1) != -1 Then{
HH[0] = H[Len1];
HD[0] = sdate[Len1];
HT[0] = stime[Len1];
For cnt = 1 To 9{
HH[cnt] = HH[cnt-1][1];
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
}
Condition1 = false;
For cnt = 1 To 9{
if Condition1 == false and HH[cnt] > HH[0] and HH[cnt] > 0 Then{
Condition1 = true;
HHv = HH[cnt];
HDv = HD[cnt];
HTv = HT[cnt];
}
}
#이전 9개의 고점 중 현재 고점보다 높은 고점이 있으면
#고점연결선 출력
if Condition1 == true then{
TL_Delete(TL1);
TL1 = TL_New(HDv,HTv,HHv,HD[0],HT[0],HH[0]);
TL_SetColor(TL1,MAGENTA);
TL_SetExtRight(TL1,true);
TL_SetSize(TL1,0);
}
}
If SwingLow(1,L,len1,len1,len1+len1+1) != -1 Then{
LL[0] = L[Len1];
LD[0] = sdate[Len1];
LT[0] = stime[Len1];
For cnt = 1 To 9{
LL[cnt] = LL[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
}
Condition2 = false;
For cnt = 1 To 9{
if Condition2 == false and LL[cnt] < LL[0] and LL[cnt] > 0 Then{
Condition2 = true;
LLv = LL[cnt];
LDv = LD[cnt];
LTv = LT[cnt];
}
}
#이전 9개의 저점 중 현재 저점보다 낮은 저점이 있으면
#저점 연결선 출력
if Condition2 == true then{
TL_Delete(TL2);
TL2 = TL_New(LDv,LTv,LLv,LD[0],LT[0],LL[0]);
TL_SetColor(TL2,blue);
TL_SetExtRight(TL2,true);
TL_SetSize(TL2,0);
}
}
답변 1
예스스탁 예스스탁 답변
2019-03-26 08:59:42
안녕하세요
예스스탁입니다.
input :len1(9),n(6);
var : cnt(0);
var : HHv(0),HDv(0),HTv(0);
var : LLv(0),LDv(0),LTv(0);
Array : HH[10](0),HD[10](0),HT[10](0),TL1[10](0);
Array : LL[10](0),LD[10](0),LT[10](0),TL2[10](0);
If SwingHighBar(1,high,len1,len1,len1+len1+1) != -1 Then
{
HH[0] = H[Len1];
HD[0] = sdate[Len1];
HT[0] = stime[Len1];
For cnt = 1 To 9
{
HH[cnt] = HH[cnt-1][1];
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
}
Condition1 = false;
For cnt = 1 To 9
{
if Condition1 == false and HH[cnt] > HH[0] and HH[cnt] > 0 Then{
Condition1 = true;
HHv = HH[cnt];
HDv = HD[cnt];
HTv = HT[cnt];
}
}
#이전 9개의 고점 중 현재 고점보다 높은 고점이 있으면
#고점연결선 출력
if Condition1 == true then
{
TL1[0] = TL_New(HDv,HTv,HHv,HD[0],HT[0],HH[0]);
TL_SetColor(TL1[0],MAGENTA);
TL_SetExtRight(TL1[0],true);
TL_SetSize(TL1[0],0);
for cnt = 1 to 9
{
TL1[cnt] = TL1[cnt-1][1];
}
TL_Delete(TL1[n]);
}
}
If SwingLow(1,L,len1,len1,len1+len1+1) != -1 Then{
LL[0] = L[Len1];
LD[0] = sdate[Len1];
LT[0] = stime[Len1];
For cnt = 1 To 9{
LL[cnt] = LL[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
}
Condition2 = false;
For cnt = 1 To 9
{
if Condition2 == false and LL[cnt] < LL[0] and LL[cnt] > 0 Then{
Condition2 = true;
LLv = LL[cnt];
LDv = LD[cnt];
LTv = LT[cnt];
}
}
#이전 9개의 저점 중 현재 저점보다 낮은 저점이 있으면
#저점 연결선 출력
if Condition2 == true then
{
TL2[0] = TL_New(LDv,LTv,LLv,LD[0],LT[0],LL[0]);
TL_SetColor(TL2[0],blue);
TL_SetExtRight(TL2[0],true);
TL_SetSize(TL2[0],0);
for cnt = 1 to 9
{
TL2[cnt] = TL2[cnt-1][1];
}
TL_Delete(TL2[n]);
}
}
즐거운 하루되세요
> 부엉이 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 아래 추세선 수식에서 추세선이 상방추세선 하방추세선 각각 1개씩만 나와서 실제 활용하기엔 너무 부족하고요,
TL_Delete(TL1); TL_Delete(TL2); 를 삭제하면 추세선이 과거 것이 전부다 나와서 너무 복잡해서 볼 수가 없네요.
이를 예를들어 상방하방 각각 6개씩만 나오도록 수식수정을 부탁드립니다.
input :len1(9);
var : cnt(0),TL1(0),TL2(0);
var : HHv(0),HDv(0),HTv(0);
var : LLv(0),LDv(0),LTv(0);
Array : HH[10](0),HD[10](0),HT[10](0);
Array : LL[10](0),LD[10](0),LT[10](0);
If SwingHighBar(1,high,len1,len1,len1+len1+1) != -1 Then{
HH[0] = H[Len1];
HD[0] = sdate[Len1];
HT[0] = stime[Len1];
For cnt = 1 To 9{
HH[cnt] = HH[cnt-1][1];
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
}
Condition1 = false;
For cnt = 1 To 9{
if Condition1 == false and HH[cnt] > HH[0] and HH[cnt] > 0 Then{
Condition1 = true;
HHv = HH[cnt];
HDv = HD[cnt];
HTv = HT[cnt];
}
}
#이전 9개의 고점 중 현재 고점보다 높은 고점이 있으면
#고점연결선 출력
if Condition1 == true then{
TL_Delete(TL1);
TL1 = TL_New(HDv,HTv,HHv,HD[0],HT[0],HH[0]);
TL_SetColor(TL1,MAGENTA);
TL_SetExtRight(TL1,true);
TL_SetSize(TL1,0);
}
}
If SwingLow(1,L,len1,len1,len1+len1+1) != -1 Then{
LL[0] = L[Len1];
LD[0] = sdate[Len1];
LT[0] = stime[Len1];
For cnt = 1 To 9{
LL[cnt] = LL[cnt-1][1];
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
}
Condition2 = false;
For cnt = 1 To 9{
if Condition2 == false and LL[cnt] < LL[0] and LL[cnt] > 0 Then{
Condition2 = true;
LLv = LL[cnt];
LDv = LD[cnt];
LTv = LT[cnt];
}
}
#이전 9개의 저점 중 현재 저점보다 낮은 저점이 있으면
#저점 연결선 출력
if Condition2 == true then{
TL_Delete(TL2);
TL2 = TL_New(LDv,LTv,LLv,LD[0],LT[0],LL[0]);
TL_SetColor(TL2,blue);
TL_SetExtRight(TL2,true);
TL_SetSize(TL2,0);
}
}