커뮤니티

문의드립니다

프로필 이미지
장군
2022-02-12 21:04:48
616
글번호 156211
답변완료
1) input : per1(23.6),per2(50.0),per3(76.4); var : hh(0),ll(0),dd(0),tt(0); var : tl1(0),tl2(0),tl3(0),v1(0),v2(0),v3(0),tl4(0),tl5(0); if bdate > bdate[1] then { hh = h; ll = l; dd = sdate[1]; tt = stime[1]; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); TL_Delete(tl4); TL_Delete(tl5); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); tl4 = TL_New(dd,tt,DayHigh(1),sdate,stime,DayHigh(1)); tl5 = TL_New(dd,tt,DayLow(1),sdate,stime,DayLow(1)); } if h > hh and hh > 0 Then { hh = h; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } if l < ll and ll > 0 Then { ll = l; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } TL_SetColor(TL1,GRAY); TL_SetSize(TL1,0); TL_SetExtRight(TL1,true); TL_SetColor(TL2,BLACK); TL_SetSize(TL2,1); TL_SetExtRight(TL2,true); TL_SetColor(TL3,GRAY); TL_SetSize(TL3,0); TL_SetExtRight(TL3,true); TL_SetColor(TL4,LMAGENTA); TL_SetSize(TL4,0); TL_SetExtRight(TL4,true); TL_SetColor(TL5,LMAGENTA); TL_SetSize(TL5,0); TL_SetExtRight(TL5,true); v1 = hh-(hh-ll)*(per1/100); v2 = hh-(hh-ll)*(per2/100); v3 = hh-(hh-ll)*(per3/100); INPUTS: LENGTH1(5); INPUTS: 색1(YELLOW),색2(RED), 굵기(1); VARS : DEMA1(0),TL(0); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); DEMA1 = var1 * 2 - value1; if C >DEMA1 Then PLOT1(DEMA1, "DEMA1",GRAY); Else PLOT1(DEMA1, "DEMA1",GRAY); if CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,DayHigh(1)) or CrossUp(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); TL_SetColor(tl,REd); TL_SetSize(tl,3); TL_SetExtRight(TL,true); } if CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,DayHigh(1)) or CrossDown(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); TL_SetColor(tl,GREEn); TL_SetSize(tl,3); TL_SetExtRight(TL,true); } 1) 이수식을 사용하고 있는데 수평선이 나왔다 안나왔다 하는데 안나올때는 점만찍히게 됩니다 주로 틱챠트에서그런현상이자주 나옵니다,잘나오게 방법이 있는지요? 만약에 수정할부분이 없다면 현재수평선 나오는지점에서 하나더+5틱위로 나오게 부탁드립니다 (즉수평선이같은색으로 2개나오게) 2) input : 기간(10); var1 = (H+L+C+C); var2 = ma(var1,기간); value1 = iff(var1>var2,1,0); value2 = iff(var1<=var2,1,0); plot1(value1,"수식1"); plot2(value2,"수식2"); 1번수식에다 2번수식을 추가하여크로스될때에 색채우기 지표를만들려고 합니다 부탁드립니다~~항상감사드립니다
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-02-14 11:50:45

안녕하세요 예스스탁입니다. 1 수식에 별도로 문제는 없습니다. 5틱위에 선만 추가해 드립니다. input : per1(23.6),per2(50.0),per3(76.4); var : hh(0),ll(0),dd(0),tt(0); var : tl1(0),tl2(0),tl3(0),v1(0),v2(0),v3(0),tl4(0),tl5(0); if bdate > bdate[1] then { hh = h; ll = l; dd = sdate[1]; tt = stime[1]; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); TL_Delete(tl4); TL_Delete(tl5); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); tl4 = TL_New(dd,tt,DayHigh(1),sdate,stime,DayHigh(1)); tl5 = TL_New(dd,tt,DayLow(1),sdate,stime,DayLow(1)); } if h > hh and hh > 0 Then { hh = h; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } if l < ll and ll > 0 Then { ll = l; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } TL_SetColor(TL1,GRAY); TL_SetSize(TL1,0); TL_SetExtRight(TL1,true); TL_SetColor(TL2,BLACK); TL_SetSize(TL2,1); TL_SetExtRight(TL2,true); TL_SetColor(TL3,GRAY); TL_SetSize(TL3,0); TL_SetExtRight(TL3,true); TL_SetColor(TL4,LMAGENTA); TL_SetSize(TL4,0); TL_SetExtRight(TL4,true); TL_SetColor(TL5,LMAGENTA); TL_SetSize(TL5,0); TL_SetExtRight(TL5,true); v1 = hh-(hh-ll)*(per1/100); v2 = hh-(hh-ll)*(per2/100); v3 = hh-(hh-ll)*(per3/100); INPUTS: LENGTH1(5); INPUTS: 색1(YELLOW),색2(RED), 굵기(1); VARS : DEMA1(0),TL(0),TLL(0); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); DEMA1 = var1 * 2 - value1; if C >DEMA1 Then PLOT1(DEMA1, "DEMA1",GRAY); Else PLOT1(DEMA1, "DEMA1",GRAY); if CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,DayHigh(1)) or CrossUp(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); tll = TL_New(sDate,sTime,DEMA1,NextBarSdate,NextBarStime,DEMA1); TL_SetColor(tl,REd); TL_SetSize(tl,3); TL_SetExtRight(TL,true); TL_SetColor(tll,REd); TL_SetSize(tll,3); TL_SetExtRight(TlL,true); } if CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,DayHigh(1)) or CrossDown(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); tll = TL_New(sDate,sTime,DEMA1,NextBarSdate,NextBarStime,DEMA1); TL_SetColor(tl,GREEn); TL_SetSize(tl,3); TL_SetExtRight(TL,true); TL_SetColor(tll,GREEn); TL_SetSize(tll,3); TL_SetExtRight(TLL,true); } 2 2번지표값은 1번식과 Y축의 차트이 많이나서 현재 출력되는 값으로는 채우기를 할수 없습니다. 해당값 그대로 사용하시려면 별도로 작성해 차트에 적용하셔야 합니다. 기본차트위에 채우기하고자 하시면 아래와 변이 작성해서 적용하셔야 합니다. 별도로 설정해야 하는 지표속성 및 기본차트속성은 이전에 답변드린 부분들이 있으므로 생략합니다. input : per1(23.6),per2(50.0),per3(76.4); var : hh(0),ll(0),dd(0),tt(0); var : tl1(0),tl2(0),tl3(0),v1(0),v2(0),v3(0),tl4(0),tl5(0); if bdate > bdate[1] then { hh = h; ll = l; dd = sdate[1]; tt = stime[1]; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); TL_Delete(tl4); TL_Delete(tl5); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); tl4 = TL_New(dd,tt,DayHigh(1),sdate,stime,DayHigh(1)); tl5 = TL_New(dd,tt,DayLow(1),sdate,stime,DayLow(1)); } if h > hh and hh > 0 Then { hh = h; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } if l < ll and ll > 0 Then { ll = l; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } TL_SetColor(TL1,GRAY); TL_SetSize(TL1,0); TL_SetExtRight(TL1,true); TL_SetColor(TL2,BLACK); TL_SetSize(TL2,1); TL_SetExtRight(TL2,true); TL_SetColor(TL3,GRAY); TL_SetSize(TL3,0); TL_SetExtRight(TL3,true); TL_SetColor(TL4,LMAGENTA); TL_SetSize(TL4,0); TL_SetExtRight(TL4,true); TL_SetColor(TL5,LMAGENTA); TL_SetSize(TL5,0); TL_SetExtRight(TL5,true); v1 = hh-(hh-ll)*(per1/100); v2 = hh-(hh-ll)*(per2/100); v3 = hh-(hh-ll)*(per3/100); INPUTS: LENGTH1(5); INPUTS: 색1(YELLOW),색2(RED), 굵기(1); VARS : DEMA1(0),TL(0),TLL(0); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); DEMA1 = var1 * 2 - value1; if C >DEMA1 Then PLOT1(DEMA1, "DEMA1",GRAY); Else PLOT1(DEMA1, "DEMA1",GRAY); if CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,DayHigh(1)) or CrossUp(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); tll = TL_New(sDate,sTime,DEMA1,NextBarSdate,NextBarStime,DEMA1); TL_SetColor(tl,REd); TL_SetSize(tl,3); TL_SetExtRight(TL,true); TL_SetColor(tll,REd); TL_SetSize(tll,3); TL_SetExtRight(TlL,true); } if CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,DayHigh(1)) or CrossDown(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); tll = TL_New(sDate,sTime,DEMA1,NextBarSdate,NextBarStime,DEMA1); TL_SetColor(tl,GREEn); TL_SetSize(tl,3); TL_SetExtRight(TL,true); TL_SetColor(tll,GREEn); TL_SetSize(tll,3); TL_SetExtRight(TLL,true); } input : 기간(10); var : va1(0),va2(0),val1(0),val2(0); va1 = (H+L+C+C); va2 = ma(va1,기간); val1 = iff(va1>va2,1,0); val2 = iff(va1<=va2,1,0); if val1 > Val2 Then { Plot2(999999999,"라인1"); Plot3(0,"라인2"); } Else { Plot2(0,"라인1"); Plot3(999999999,"라인2"); } 즐거운 하루되세요 > 장군 님이 쓴 글입니다. > 제목 : 문의드립니다 > 1) input : per1(23.6),per2(50.0),per3(76.4); var : hh(0),ll(0),dd(0),tt(0); var : tl1(0),tl2(0),tl3(0),v1(0),v2(0),v3(0),tl4(0),tl5(0); if bdate > bdate[1] then { hh = h; ll = l; dd = sdate[1]; tt = stime[1]; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); TL_Delete(tl4); TL_Delete(tl5); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); tl4 = TL_New(dd,tt,DayHigh(1),sdate,stime,DayHigh(1)); tl5 = TL_New(dd,tt,DayLow(1),sdate,stime,DayLow(1)); } if h > hh and hh > 0 Then { hh = h; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } if l < ll and ll > 0 Then { ll = l; TL_Delete(tl1); TL_Delete(tl2); TL_Delete(tl3); tl1 = TL_New(dd,tt,hh-(hh-ll)*(per1/100),sdate,stime,hh-(hh-ll)*(per1/100)); tl2 = TL_New(dd,tt,hh-(hh-ll)*(per2/100),sdate,stime,hh-(hh-ll)*(per2/100)); tl3 = TL_New(dd,tt,hh-(hh-ll)*(per3/100),sdate,stime,hh-(hh-ll)*(per3/100)); } TL_SetColor(TL1,GRAY); TL_SetSize(TL1,0); TL_SetExtRight(TL1,true); TL_SetColor(TL2,BLACK); TL_SetSize(TL2,1); TL_SetExtRight(TL2,true); TL_SetColor(TL3,GRAY); TL_SetSize(TL3,0); TL_SetExtRight(TL3,true); TL_SetColor(TL4,LMAGENTA); TL_SetSize(TL4,0); TL_SetExtRight(TL4,true); TL_SetColor(TL5,LMAGENTA); TL_SetSize(TL5,0); TL_SetExtRight(TL5,true); v1 = hh-(hh-ll)*(per1/100); v2 = hh-(hh-ll)*(per2/100); v3 = hh-(hh-ll)*(per3/100); INPUTS: LENGTH1(5); INPUTS: 색1(YELLOW),색2(RED), 굵기(1); VARS : DEMA1(0),TL(0); var1= EMA(C,LENGTH1); value1= EMA(EMa(C,LENGTH1),LENGTH1); DEMA1 = var1 * 2 - value1; if C >DEMA1 Then PLOT1(DEMA1, "DEMA1",GRAY); Else PLOT1(DEMA1, "DEMA1",GRAY); if CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,v2) or CrossUp(DEMA1,DayHigh(1)) or CrossUp(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); TL_SetColor(tl,REd); TL_SetSize(tl,3); TL_SetExtRight(TL,true); } if CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,v2) or CrossDown(DEMA1,DayHigh(1)) or CrossDown(DEMA1,DayLow(1)) Then { TL_Delete(tl); tl = TL_New(sDate,sTime,DEMA1-PriceScale*5,NextBarSdate,NextBarStime,DEMA1-PriceScale*5); TL_SetColor(tl,GREEn); TL_SetSize(tl,3); TL_SetExtRight(TL,true); } 1) 이수식을 사용하고 있는데 수평선이 나왔다 안나왔다 하는데 안나올때는 점만찍히게 됩니다 주로 틱챠트에서그런현상이자주 나옵니다,잘나오게 방법이 있는지요? 만약에 수정할부분이 없다면 현재수평선 나오는지점에서 하나더+5틱위로 나오게 부탁드립니다 (즉수평선이같은색으로 2개나오게) 2) input : 기간(10); var1 = (H+L+C+C); var2 = ma(var1,기간); value1 = iff(var1>var2,1,0); value2 = iff(var1<=var2,1,0); plot1(value1,"수식1"); plot2(value2,"수식2"); 1번수식에다 2번수식을 추가하여크로스될때에 색채우기 지표를만들려고 합니다 부탁드립니다~~항상감사드립니다