커뮤니티
질문드립니다.
2018-10-26 21:04:18
258
글번호 123105
input : af(0.02), maxAF(0.2),추세선두께(5),추세선색1(RED),추세선색2(BLUE),연장선두께(2),연장선색(blue);
input : 텍스트출력(1);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),cnt(0),count(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),tx1(0),tx2(0),tx11(0),tx22(0);
var : upcross(0),dncross(0),HBD(0),HBD1(0),LBD(0),LBD1(0),tx3(0);
var1 = CSar(af,maxAF);
if Bdate != Bdate[1] Then
{
upcross = 0;
dncross = 0;
}
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HBD = Bdate;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
HBD1 = HBD[1];
if LL > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
if LL[1] < dayopen and LBD[1] == bdate and HH1 > dayopen and HBD1 == bdate Then
{
dncross = dncross+1;
tx3 = text_new(LD[1],LT[1],LL[1],NewLine+NewLine+NumToStr(dncross,0));
Text_SetStyle(tx3,2,0);
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LBD = Bdate;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
LBD1 = LBD[1];
if HH > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
if HH[1] > dayopen and HBD[1] == bdate and LL1 < dayopen and LBD1 == bdate Then
{
upcross = upcross+1;
tx3 = text_new(HD[1],HT[1],HH[1],NumToStr(upcross,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
}
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
HBD = bdate;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr(value1,0)+NewLine+NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
LBD = Bdate;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
}
}
if upcross >= 3 and CrossDown(c,ma(c,5)) Then
PlotPaintBar(H,L,"강조",cyan);
if dncross >= 3 and CrossUp(c,ma(c,5)) Then
PlotPaintBar(H,L,"강조",MAGENTA);
이전 질문에 짜주신 로직입니다.
다만, 이 부분이 빠진 것 같습니다.
사진으로 첨부하는게 글로 설명하는것보다 쉬우니 사진첨부하겠습니다. 반대상황에도 이와 같이 작동되게 해주시면 감사하겠습니다.
- 1. 시가선카운트.png (0.08 MB)
답변 1
예스스탁 예스스탁 답변
2018-10-29 09:58:55
안녕하세요
예스스탁입니다.
input : af(0.02), maxAF(0.2),추세선두께(5),추세선색1(RED),추세선색2(BLUE),연장선두께(2),연장선색(blue);
input : 텍스트출력(1);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),cnt(0),count(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),tx1(0),tx2(0),tx11(0),tx22(0);
var : upcross(0),dncross(0),HBD(0),HBD1(0),LBD(0),LBD1(0),tx3(0);
var1 = CSar(af,maxAF);
if Bdate != Bdate[1] Then
{
upcross = 0;
dncross = 0;
}
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HBD = Bdate;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
HBD1 = HBD[1];
if LL > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
Condition1 = false;
if Condition1 == false and HH > dayopen and LL < dayopen and LBD == bdate and HH1 > dayopen and HBD1 == bdate Then
{
Condition1 = true;
dncross = dncross+1;
tx3 = text_new(LD[1],LT[1],LL[1],NewLine+NewLine+NumToStr(dncross,0));
Text_SetStyle(tx3,2,0);
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LBD = Bdate;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
LBD1 = LBD[1];
if HH > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
Condition2 = false;
if Condition2 == false and
LL < dayopen and HH > dayopen and HBD == bdate and LL1 < dayopen and LBD1 == bdate Then
{
Condition2 = true;
upcross = upcross+1;
tx3 = text_new(HD[1],HT[1],HH[1],NumToStr(upcross,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
}
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
HBD = bdate;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr(value1,0)+NewLine+NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
if Condition1 == false and HH > dayopen and LL < dayopen and LBD == bdate and HH1 > dayopen and HBD1 == bdate Then
{
Condition1 = true;
dncross = dncross+1;
tx3 = text_new(LD[1],LT[1],LL[1],NewLine+NewLine+NumToStr(dncross,0));
Text_SetStyle(tx3,2,0);
}
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
LBD = Bdate;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
if Condition2 == false and
LL < dayopen and HH > dayopen and HBD == bdate and LL1 < dayopen and LBD1 == bdate Then
{
Condition2 = true;
upcross = upcross+1;
tx3 = text_new(HD[1],HT[1],HH[1],NumToStr(upcross,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
}
}
}
if upcross >= 3 and CrossDown(c,ma(c,5)) Then
PlotPaintBar(H,L,"강조",cyan);
if dncross >= 3 and CrossUp(c,ma(c,5)) Then
PlotPaintBar(H,L,"강조",MAGENTA);
즐거운 하루되세요
> stockric 님이 쓴 글입니다.
> 제목 : 질문드립니다.
>
input : af(0.02), maxAF(0.2),추세선두께(5),추세선색1(RED),추세선색2(BLUE),연장선두께(2),연장선색(blue);
input : 텍스트출력(1);
var : T(0),HH(0),LL(0),HD(0),HT(0),LD(0),LT(0);
var : HH1(0),LL1(0),HD1(0),HT1(0),LD1(0),LT1(0);
var : TL1(0),TL2(0),cnt(0),count(0);
var : TL3(0),TL4(0),TL5(0),TL6(0),tx1(0),tx2(0),tx11(0),tx22(0);
var : upcross(0),dncross(0),HBD(0),HBD1(0),LBD(0),LBD1(0),tx3(0);
var1 = CSar(af,maxAF);
if Bdate != Bdate[1] Then
{
upcross = 0;
dncross = 0;
}
if crossup(c,var1) Then
{
T = 1;
HH = H;
HD = sdate;
HT = stime;
HBD = Bdate;
HH1 = HH[1];
HD1 = HD[1];
HT1 = HT[1];
HBD1 = HBD[1];
if LL > 0 Then
{
if 텍스트출력 == 1 then
{
Tx11 = Text_New(HD1,HT1,HH1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(HH1,2));
Text_SetStyle(tx11,2,1);
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
if LL[1] < dayopen and LBD[1] == bdate and HH1 > dayopen and HBD1 == bdate Then
{
dncross = dncross+1;
tx3 = text_new(LD[1],LT[1],LL[1],NewLine+NewLine+NumToStr(dncross,0));
Text_SetStyle(tx3,2,0);
}
}
}
if CrossDown(c,var1) Then
{
T = -1;
LL = L;
LD = sdate;
LT = stime;
LBD = Bdate;
LL1 = LL[1];
LD1 = LD[1];
LT1 = LT[1];
LBD1 = LBD[1];
if HH > 0 Then
{
if 텍스트출력 == 1 then
{
Tx22 = Text_New(LD1,LT1,LL1,NumToStr((HH1-LL1)/PriceScale,0)+NewLine+NumToStr(LL1,2));
Text_SetStyle(tx22,2,0);
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
if HH[1] > dayopen and HBD[1] == bdate and LL1 < dayopen and LBD1 == bdate Then
{
upcross = upcross+1;
tx3 = text_new(HD[1],HT[1],HH[1],NumToStr(upcross,0)+NewLine+NewLine);
Text_SetStyle(tx3,2,1);
}
}
}
if T == 1 then
{
if H > HH Then
{
HH = H;
HD = sdate;
HT = stime;
HBD = bdate;
if 텍스트출력 == 1 then
{
Text_Delete(tx1);
Tx1 = Text_New(HD,HT,HH,NumToStr(value1,0)+NewLine+NumToStr((HH-LL[1])/PriceScale,0)+NewLine+NumToStr(HH,2));
Text_SetStyle(tx1,2,1);
}
}
}
if T == -1 then
{
if L < LL Then
{
LL = L;
LD = sdate;
LT = stime;
LBD = Bdate;
if 텍스트출력 == 1 then
{
Text_Delete(tx2);
Tx2 = Text_New(LD,LT,LL,NumToStr((HH[1]-LL)/PriceScale,0)+NewLine+NumToStr(LL,2));
Text_SetStyle(tx2,2,0);
}
}
}
if upcross >= 3 and CrossDown(c,ma(c,5)) Then
PlotPaintBar(H,L,"강조",cyan);
if dncross >= 3 and CrossUp(c,ma(c,5)) Then
PlotPaintBar(H,L,"강조",MAGENTA);
이전 질문에 짜주신 로직입니다.
다만, 이 부분이 빠진 것 같습니다.
사진으로 첨부하는게 글로 설명하는것보다 쉬우니 사진첨부하겠습니다. 반대상황에도 이와 같이 작동되게 해주시면 감사하겠습니다.