커뮤니티
추세선 함수에서..
2013-01-06 15:37:13
513
글번호 57849
아래와 같이 지표식을 작성하였는데,
그림처럼 원하는 위치에서 두번째 빨간선이 시작되지 않고,
뒤로 한참 밀려서 시작하는 결과가 나왔습니다.
원하는 위치에서 시작하게 하려면 어찌해야 하는지요..
inputs: left(10),right(5);
vars: hv(0),ht(0),hd(0),prehv(0),prehd(0),preht(0),lv(0),lt(0),ld(0),prelv(0),prelt(0),preld(0);
if SwingHigh(1,H,left,Right,Left+right+1) != -1 Then{
HV = H[right];
HT = stime[right];
HD = sdate[right];
PreHV = HV[1];
preHT = HT[1];
preHD = HD[1];
if Hv < PreHv and preHV > 0 Then Begin
TL_Delete(value1);
value1 = TL_New(preHD,preHT,preHV,HD,HT,HV);
TL_Delete(Value3);
Value3 = TL_New(ld,lt,lv,HD,HT,HV-(TL_GetValue(Value1,ld,lt)-lv));
End
TL_SetExtRight(value1,true);
TL_SetColor(value1,RED);
TL_SetExtRight(Value3,true);
TL_SetColor(Value3,RED);
}
if SwingLow(1,L,left,Right,Left+right+1) != -1 Then{
LV = L[right];
LT = stime[right];
LD = sdate[right];
PreLV = LV[1];
preLT = LT[1];
preLD = LD[1];
if Lv > PreLv and preLV > 0 Then{
TL_Delete(Value2);
value2 = TL_New(preLD,preLT,preLV,LD,LT,LV);
}
TL_SetExtRight(value2,true);
TL_SetColor(value2,blue);
}
- 1. 58237_제목 없음.png (0.03 MB)
답변 1
예스스탁 예스스탁 답변
2013-01-07 17:32:59
안녕하세요
예스스탁입니다.
LV,LT,LD는 swinglow만 만족하면 값이 할당이 되므로
swinglow도 만족하고 if Lv > PreLv and preLV > 0 Then{도
만족하는 시점에 따로 값을 저장해서 사용하셔야 합니다.
inputs: left(10),right(5);
vars: hv(0),ht(0),hd(0),prehv(0),prehd(0),preht(0),lv(0),lt(0),ld(0),prelv(0),prelt(0),preld(0);
vars : X(0),Y(0),Z(0);
if SwingHigh(1,H,left,Right,Left+right+1) != -1 Then{
HV = H[right];
HT = stime[right];
HD = sdate[right];
PreHV = HV[1];
preHT = HT[1];
preHD = HD[1];
if Hv < PreHv and preHV > 0 Then Begin
TL_Delete(value1);
value1 = TL_New(preHD,preHT,preHV,HD,HT,HV);
TL_Delete(Value3);
Value3 = TL_New(X,Y,Z,HD,HT,HV-(TL_GetValue(Value1,X,Y)-Z));
End
TL_SetExtRight(value1,true);
TL_SetColor(value1,RED);
TL_SetExtRight(Value3,true);
TL_SetColor(Value3,MAGENTA);
}
if SwingLow(1,L,left,Right,Left+right+1) != -1 Then{
LV = L[right];
LT = stime[right];
LD = sdate[right];
PreLV = LV[1];
preLT = LT[1];
preLD = LD[1];
if Lv > PreLv and preLV > 0 Then{
TL_Delete(Value2);
value2 = TL_New(preLD,preLT,preLV,LD,LT,LV);
X = LD;
Y = LT;
Z = LV;
}
TL_SetExtRight(value2,true);
TL_SetColor(value2,blue);
}
즐거운 하루되세요
> ullala 님이 쓴 글입니다.
> 제목 : 추세선 함수에서..
> 아래와 같이 지표식을 작성하였는데,
그림처럼 원하는 위치에서 두번째 빨간선이 시작되지 않고,
뒤로 한참 밀려서 시작하는 결과가 나왔습니다.
원하는 위치에서 시작하게 하려면 어찌해야 하는지요..
inputs: left(10),right(5);
vars: hv(0),ht(0),hd(0),prehv(0),prehd(0),preht(0),lv(0),lt(0),ld(0),prelv(0),prelt(0),preld(0);
if SwingHigh(1,H,left,Right,Left+right+1) != -1 Then{
HV = H[right];
HT = stime[right];
HD = sdate[right];
PreHV = HV[1];
preHT = HT[1];
preHD = HD[1];
if Hv < PreHv and preHV > 0 Then Begin
TL_Delete(value1);
value1 = TL_New(preHD,preHT,preHV,HD,HT,HV);
TL_Delete(Value3);
Value3 = TL_New(ld,lt,lv,HD,HT,HV-(TL_GetValue(Value1,ld,lt)-lv));
End
TL_SetExtRight(value1,true);
TL_SetColor(value1,RED);
TL_SetExtRight(Value3,true);
TL_SetColor(Value3,RED);
}
if SwingLow(1,L,left,Right,Left+right+1) != -1 Then{
LV = L[right];
LT = stime[right];
LD = sdate[right];
PreLV = LV[1];
preLT = LT[1];
preLD = LD[1];
if Lv > PreLv and preLV > 0 Then{
TL_Delete(Value2);
value2 = TL_New(preLD,preLT,preLV,LD,LT,LV);
}
TL_SetExtRight(value2,true);
TL_SetColor(value2,blue);
}
다음글