커뮤니티

질문드립니다.

프로필 이미지
stockric
2018-10-25 21:13:50
259
글번호 123066
답변완료

첨부 이미지

사진한장 첨부하였습니다. 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); var1 = CSar(af,maxAF); if crossup(c,var1) Then { T = 1; HH = H; HD = sdate; HT = stime; HH1 = HH[1]; HD1 = HD[1]; HT1 = HT[1]; if LL > 0 Then { TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]); TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL); TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL[1])/2,sdate,stime,HH[1]+(HH[1]-LL)/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); 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 CrossDown(c,var1) Then { T = -1; LL = L; LD = sdate; LT = stime; LL1 = LL[1]; LD1 = LD[1]; LT1 = LT[1]; if HH > 0 Then { TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH); TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2); TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]); TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); 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 T == 1 then { if H > HH Then { HH = H; HD = sdate; HT = stime; TL_SetEnd(TL1,HD,HT,HH); if 텍스트출력 == 1 then { 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 T == -1 then { if L < LL Then { LL = L; LD = sdate; LT = stime; TL_SetEnd(TL2,LD,LT,LL); 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); } } } #추세선 두께, 색상 TL_SetSize(TL1,추세선두께); TL_SetSize(TL2,추세선두께); TL_SetColor(TL1,추세선색1); TL_SetColor(TL2,추세선색2); #연장선 두께, 색상 TL_SetSize(TL3,연장선두께); TL_SetSize(TL4,연장선두께); TL_SetSize(TL5,연장선두께); TL_SetSize(TL6,연장선두께); TL_SetColor(TL3,연장선색); TL_SetColor(TL4,연장선색); TL_SetColor(TL5,연장선색); TL_SetColor(TL6,연장선색); 위 사용한 로직인데요. 당일 시가선을 크로스업한 붉은선이 먼저생성되고 그뒤, 크로스다운한 파란선이 완성되면, 시가선위에 생성되었던 붉은선 꼭짓점에 시가c 1, 시가c 2, 시가c 3 이런식으로 count한것을 표현하고싶습니다. 크로스업한 횟수를요. 이후, 크로스업 count횟수가 3번이하 이거나 3번초과하고 5이평크로스다운시 플롯페인트바시키고싶습니다. /////////////// 2.반대로 크로스다운은 푸른선이 먼저 생성되어 시가선을 크로스다운하고 붉은선이 크로스업한 추세선이 완성되면, 시가선 아래에 생성되었던 푸른선 꼭짓점에 1,2,3 이런식으로 count한것을 표현하고싶습니다. 추세선은 지운채로 만들어주시면 감사하겠습니다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-10-26 14:45:04

안녕하세요 예스스탁입니다. 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); 즐거운 하루되세요 > 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); var1 = CSar(af,maxAF); if crossup(c,var1) Then { T = 1; HH = H; HD = sdate; HT = stime; HH1 = HH[1]; HD1 = HD[1]; HT1 = HT[1]; if LL > 0 Then { TL1 = TL_new(LD[1],LT[1],LL[1],HD,HT,HH); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL3 = TL_new(HD[1],HT[1],HH[1],sdate,stime,HH[1]); TL4 = TL_new(HD[1],HT[1],(HH[1]+LL)/2,sdate,stime,(HH[1]+LL)/2); TL5 = TL_new(HD[1],HT[1],LL,sdate,stime,LL); TL6 = TL_new(HD[1],HT[1],HH[1]+(HH[1]-LL[1])/2,sdate,stime,HH[1]+(HH[1]-LL)/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); 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 CrossDown(c,var1) Then { T = -1; LL = L; LD = sdate; LT = stime; LL1 = LL[1]; LD1 = LD[1]; LT1 = LT[1]; if HH > 0 Then { TL2 = TL_new(HD[1],HT[1],HH[1],LD,LT,LL); TL_Delete(TL3); TL_Delete(TL4); TL_Delete(TL5); TL_Delete(TL6); TL3 = TL_new(LD[1],LT[1],HH,sdate,stime,HH); TL4 = TL_new(LD[1],LT[1],(HH+LL[1])/2,sdate,stime,(HH+LL[1])/2); TL5 = TL_new(LD[1],LT[1],LL[1],sdate,stime,LL[1]); TL6 = TL_new(LD[1],LT[1],LL[1]-(HH-LL[1])/2,sdate,stime,LL[1]-(HH-LL[1])/2); //추세선 오른쪽 연장설정 TL_SetExtRight(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtRight(TL5,true); TL_SetExtRight(TL6,true); 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 T == 1 then { if H > HH Then { HH = H; HD = sdate; HT = stime; TL_SetEnd(TL1,HD,HT,HH); if 텍스트출력 == 1 then { 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 T == -1 then { if L < LL Then { LL = L; LD = sdate; LT = stime; TL_SetEnd(TL2,LD,LT,LL); 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); } } } #추세선 두께, 색상 TL_SetSize(TL1,추세선두께); TL_SetSize(TL2,추세선두께); TL_SetColor(TL1,추세선색1); TL_SetColor(TL2,추세선색2); #연장선 두께, 색상 TL_SetSize(TL3,연장선두께); TL_SetSize(TL4,연장선두께); TL_SetSize(TL5,연장선두께); TL_SetSize(TL6,연장선두께); TL_SetColor(TL3,연장선색); TL_SetColor(TL4,연장선색); TL_SetColor(TL5,연장선색); TL_SetColor(TL6,연장선색); 위 사용한 로직인데요. 당일 시가선을 크로스업한 붉은선이 먼저생성되고 그뒤, 크로스다운한 파란선이 완성되면, 시가선위에 생성되었던 붉은선 꼭짓점에 시가c 1, 시가c 2, 시가c 3 이런식으로 count한것을 표현하고싶습니다. 크로스업한 횟수를요. 이후, 크로스업 count횟수가 3번이하 이거나 3번초과하고 5이평크로스다운시 플롯페인트바시키고싶습니다. /////////////// 2.반대로 크로스다운은 푸른선이 먼저 생성되어 시가선을 크로스다운하고 붉은선이 크로스업한 추세선이 완성되면, 시가선 아래에 생성되었던 푸른선 꼭짓점에 1,2,3 이런식으로 count한것을 표현하고싶습니다. 추세선은 지운채로 만들어주시면 감사하겠습니다.