커뮤니티
수식 부탁드립니다.
2019-03-03 13:16:24
258
글번호 126674
항상 감사드립니다.
아래 지표에 기능 추가 부탁드립니다.
추세선을 상승 또는 하락 돌파시
1, 상승돌파나 하락돌파 시점 우측에 수평선을 긋고
2, 돌파시점 + (돌파시점 - 파동의 저가)*(1,2,3,4) 4줄을 상단에 수평선 표기(지표포함)
3, 돌파시점 - (파동의 고가 - 돌파시점)*(1,2,3,4) 4줄을 하단에 수평선 표기(지표포함)
input : P1(5),P2(10);
var : mav1(0),mav2(0),T(0),TL1(0),TL2(0);
var : HD(0),HT(0),HH(0),HD1(0),HT1(0),HH1(0);
var : LD(0),LT(0),LL(0),LD1(0),LT1(0),LL1(0);
mav1 = ma(C,P1);
mav2 = ma(c,P2);
if crossup(mav1,mav2) Then{
T = 1;
HD = sdate;
HT = stime;
HH = H;
HD1 = HD[1];
HT1 = HT[1];
HH1 = HH[1];
if LL1 > 0 and LL > LL1 Then{
TL_Delete(TL1);
TL1 = TL_New(LD1,LT1,LL1,LD,LT,LL);
TL_SetColor(TL1,MAGENTA);
TL_SetExtRight(TL1,True);
TL_SetSize(TL1,0);
}
}
if CrossDown(mav1,mav2) Then{
T = -1;
LD = sdate;
LT = stime;
LL = L;
LD1 = LD[1];
LT1 = LT[1];
LL1 = LL[1];
if HH1 > 0 and HH < HH1 Then{
TL_Delete(TL2);
TL2 = TL_New(HD1,HT1,HH1,HD,HT,HH);
TL_SetColor(TL2,MAGENTA);
TL_SetExtRight(TL2,True);
TL_SetSize(TL2,0);
}
}
if T == 1 and H > HH Then{
HH = H;
HD = sdate;
HT = stime;
}
if T == -1 and L < LL Then{
LL = L;
LD = sdate;
LT = stime;
}
답변 1
예스스탁 예스스탁 답변
2019-03-05 14:34:44
안녕하세요
예스스탁입니다.
해당 추세선이 후행적으로 그려집니다.
그려지는 시점 이전의 돌파는 그릴수 없습니다.
그려진 이후의 봉에서 돌파시만 체크해 라인을 그립니다.
가장 최근 돌파시만 출력되게 작성해 드립니다.
input : P1(5),P2(10);
var : mav1(0),mav2(0),T(0),TL1(0),TL2(0);
var : HD(0),HT(0),HH(0),HD1(0),HT1(0),HH1(0);
var : LD(0),LT(0),LL(0),LD1(0),LT1(0),LL1(0);
var : TL3(0),TL31(0),TL32(0),TL33(0),TL34(0),TL35(0),TL36(0),TL37(0),TL38(0);
var : TL4(0),TL41(0),TL42(0),TL43(0),TL44(0),TL45(0),TL46(0),TL47(0),TL48(0);
mav1 = ma(C,P1);
mav2 = ma(c,P2);
if crossup(mav1,mav2) Then
{
T = 1;
HD = sdate;
HT = stime;
HH = H;
HD1 = HD[1];
HT1 = HT[1];
HH1 = HH[1];
if LL1 > 0 and LL > LL1 Then
{
TL_Delete(TL1);
TL1 = TL_New(LD1,LT1,LL1,LD,LT,LL);
TL_SetColor(TL1,MAGENTA);
TL_SetExtRight(TL1,True);
TL_SetSize(TL1,0);
}
}
if CrossDown(mav1,mav2) Then
{
T = -1;
LD = sdate;
LT = stime;
LL = L;
LD1 = LD[1];
LT1 = LT[1];
LL1 = LL[1];
if HH1 > 0 and HH < HH1 Then
{
TL_Delete(TL2);
TL2 = TL_New(HD1,HT1,HH1,HD,HT,HH);
TL_SetColor(TL2,MAGENTA);
TL_SetExtRight(TL2,True);
TL_SetSize(TL2,0);
}
}
if T == 1 and H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
}
if T == -1 and L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
}
value1 = TL_GetValue(TL1,sdate,stime);
if crossup(C,value1) and TL1 == TL1[1] Then
{
TL_Delete(TL3);
TL_Delete(TL31);
TL_Delete(TL32);
TL_Delete(TL33);
TL_Delete(TL34);
TL_Delete(TL35);
TL_Delete(TL36);
TL_Delete(TL37);
TL_Delete(TL38);
var1 = TL_GetValue(TL1,sdate,stime);
var11 = abs(var1-LL);
var12 = abs(var1-HH);
TL3 = TL_New(sdate[1],stime[1],var1,sdate[1],stime[1],var1);
TL31 = TL_New(sdate[1],stime[1],var1+var11*1,sdate[1],stime[1],var1+var11*1);
TL32 = TL_New(sdate[1],stime[1],var1+var11*2,sdate[1],stime[1],var1+var11*2);
TL33 = TL_New(sdate[1],stime[1],var1+var11*3,sdate[1],stime[1],var1+var11*3);
TL34 = TL_New(sdate[1],stime[1],var1+var11*4,sdate[1],stime[1],var1+var11*4);
TL35 = TL_New(sdate[1],stime[1],var1-var12*1,sdate[1],stime[1],var1-var12*1);
TL36 = TL_New(sdate[1],stime[1],var1-var12*2,sdate[1],stime[1],var1-var12*2);
TL37 = TL_New(sdate[1],stime[1],var1-var12*3,sdate[1],stime[1],var1-var12*3);
TL38 = TL_New(sdate[1],stime[1],var1-var12*4,sdate[1],stime[1],var1-var12*4);
}
Else
{
TL_SetEnd(TL3,sdate,stime,var1);
TL_SetEnd(TL31,sdate,stime,var1+var11*1);
TL_SetEnd(TL32,sdate,stime,var1+var11*2);
TL_SetEnd(TL33,sdate,stime,var1+var11*3);
TL_SetEnd(TL34,sdate,stime,var1+var11*4);
TL_SetEnd(TL35,sdate,stime,var1-var12*1);
TL_SetEnd(TL36,sdate,stime,var1-var12*2);
TL_SetEnd(TL37,sdate,stime,var1-var12*3);
TL_SetEnd(TL38,sdate,stime,var1-var12*4);
}
value2 = TL_GetValue(TL2,sdate,stime);
if CrossDown(c,value2) and TL2 == TL2[1] Then
{
TL_Delete(TL4);
TL_Delete(TL41);
TL_Delete(TL42);
TL_Delete(TL43);
TL_Delete(TL44);
TL_Delete(TL45);
TL_Delete(TL46);
TL_Delete(TL47);
TL_Delete(TL48);
var2 = TL_GetValue(TL2,sdate,stime);
var21 = abs(var2-LL);
var22 = abs(var2-HH);
TL4 = TL_New(sdate[1],stime[1],var2,sdate[1],stime[1],var2);
TL41 = TL_New(sdate[1],stime[1],var2+var21*1,sdate[1],stime[1],var2+var21*1);
TL42 = TL_New(sdate[1],stime[1],var2+var21*2,sdate[1],stime[1],var2+var21*2);
TL43 = TL_New(sdate[1],stime[1],var2+var21*3,sdate[1],stime[1],var2+var21*3);
TL44 = TL_New(sdate[1],stime[1],var2+var21*4,sdate[1],stime[1],var2+var21*4);
TL45 = TL_New(sdate[1],stime[1],var2-var22*1,sdate[1],stime[1],var2-var22*1);
TL46 = TL_New(sdate[1],stime[1],var2-var22*2,sdate[1],stime[1],var2-var22*2);
TL47 = TL_New(sdate[1],stime[1],var2-var22*3,sdate[1],stime[1],var2-var22*3);
TL48 = TL_New(sdate[1],stime[1],var2-var22*4,sdate[1],stime[1],var2-var22*4);
}
Else
{
TL_SetEnd(TL4,sdate,stime,var2);
TL_SetEnd(TL41,sdate,stime,var2+var21*1);
TL_SetEnd(TL42,sdate,stime,var2+var21*2);
TL_SetEnd(TL43,sdate,stime,var2+var21*3);
TL_SetEnd(TL44,sdate,stime,var2+var21*4);
TL_SetEnd(TL45,sdate,stime,var2-var22*1);
TL_SetEnd(TL46,sdate,stime,var2-var22*2);
TL_SetEnd(TL47,sdate,stime,var2-var22*3);
TL_SetEnd(TL48,sdate,stime,var2-var22*4);
}
즐거운 하루되세요
> 스캘퍼 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 항상 감사드립니다.
아래 지표에 기능 추가 부탁드립니다.
추세선을 상승 또는 하락 돌파시
1, 상승돌파나 하락돌파 시점 우측에 수평선을 긋고
2, 돌파시점 + (돌파시점 - 파동의 저가)*(1,2,3,4) 4줄을 상단에 수평선 표기(지표포함)
3, 돌파시점 - (파동의 고가 - 돌파시점)*(1,2,3,4) 4줄을 하단에 수평선 표기(지표포함)
input : P1(5),P2(10);
var : mav1(0),mav2(0),T(0),TL1(0),TL2(0);
var : HD(0),HT(0),HH(0),HD1(0),HT1(0),HH1(0);
var : LD(0),LT(0),LL(0),LD1(0),LT1(0),LL1(0);
mav1 = ma(C,P1);
mav2 = ma(c,P2);
if crossup(mav1,mav2) Then{
T = 1;
HD = sdate;
HT = stime;
HH = H;
HD1 = HD[1];
HT1 = HT[1];
HH1 = HH[1];
if LL1 > 0 and LL > LL1 Then{
TL_Delete(TL1);
TL1 = TL_New(LD1,LT1,LL1,LD,LT,LL);
TL_SetColor(TL1,MAGENTA);
TL_SetExtRight(TL1,True);
TL_SetSize(TL1,0);
}
}
if CrossDown(mav1,mav2) Then{
T = -1;
LD = sdate;
LT = stime;
LL = L;
LD1 = LD[1];
LT1 = LT[1];
LL1 = LL[1];
if HH1 > 0 and HH < HH1 Then{
TL_Delete(TL2);
TL2 = TL_New(HD1,HT1,HH1,HD,HT,HH);
TL_SetColor(TL2,MAGENTA);
TL_SetExtRight(TL2,True);
TL_SetSize(TL2,0);
}
}
if T == 1 and H > HH Then{
HH = H;
HD = sdate;
HT = stime;
}
if T == -1 and L < LL Then{
LL = L;
LD = sdate;
LT = stime;
}