커뮤니티

Re : 선긋기 부탁드립니다.

프로필 이미지
포보스
2021-06-03 22:22:33
1513
글번호 149624
답변완료

첨부 이미지

안녕하세요? 바쁘신데에도 저의 요청에 성의끝 도와주심에 보람도 없이 다시 수정 요청드립니다. 숙고하지 못했음을 송구하게 생각합니다. 막상 적용해보니 의도와 다르게 나타납니다. ㅜㅜ 하여 첨부 그림 2분봉챠트 예시를 들었습니다. 보시고 그렇게 구현되도록 간곡히 부탁드려봅니다. 오늘도 좋은날 되세요. 미리 감사드립니다. ============================== Re : 선긋기 부탁드립니다. 안녕하세요 예스스탁입니다. input : n(3); var : sum(0),idx(0),TL1(0),TL2(0); var : SI(0),EI(0); SI = max(1,Floor(10/BarInterval)); EI = max(1,Floor(60/BarInterval)); if Bdate != Bdate[1] Then { sum = 0; idx = 0; } idx = idx+1; if C > O Then sum = sum+v; if C < O Then sum = sum-v; var1 = ma(sum,3)[1]; Plot1(sum,"누적",IFf(sum > 0,RGB(255,0,0),RGB(0,0,255))); Plot2(var1,"직전n봉평균"); PlotBaseLine1(0); if idx > 4 Then { if CrossUp(sum,var1) Then { TL_Delete(TL1); value1 = Lowest(C,3)[1]; Value2 = idx; TL1 = TL_new(sDate[SI],sTime[SI],value1,Sdate,time,value1); TL_SetColor(TL1,RED); } Else { if value1 > 0 and idx <= value1+EI then TL_SetEnd(TL1,sDate,sTime,value1); } if CrossDown(sum,var1) Then { TL_Delete(TL2); value3 = highest(C,3)[1]; Value4 = idx; TL2 = TL_new(sDate[SI],sTime[SI],value3,Sdate,time,value3); TL_SetColor(TL2,BLUE); } Else { if value3 > 0 and idx <= value4+EI then TL_SetEnd(TL2,sDate,sTime,value3); } } 즐거운 하루되세요 > 포보스 님이 쓴 글입니다. > 제목 : 선긋기 부탁드립니다. > 안녕하세요? "양봉 거래량은 거래량 누적변수에 “+”를 음봉 거래량은 거래량 누적변수에 “-”를 해서 실 매수거래량 라인을(RGB컬러로) 그리고자 합니다. 기준선은 "0"이 되겠죠." 라는 저의 요청에 아래와 같이 수고스런 답을 주셨습니다. 다시한번 감사드립니다. var : sum(0); if Bdate != Bdate[1] Then sum = 0; if C > O Then sum = sum+v; if C < O Then sum = sum-v; Plot1(sum,"누적",IFf(sum > 0,RGB(255,0,0),RGB(0,0,255))); PlotBaseLine1(0); 추가 요청사항은 이 데이터를 기반으로 해서 선물챠트에 누적실거래량의 고점과 저점의 선을 긋고자 합니다. 제의 생각은 이전 3개의 캔들거래량누적변수 값/3 값 보다가 현재값이 크면 선물가격캔들 3개중 가장 낮은종가에 10분전부터 60분간 Red line를 긋고 이전 3개의 캔들거래량누적변수 값/3 값 보다가 현재값이 작으면 선물가격캔들 3개중 가장 높은종가에 10분전부터 60분간 Blue line를 긋는것을 원합니다. 저의 의도는 이해하셨을테니 더 좋은 방법이 있음 부탁드리겠습니다. 감사드립니다. 꾸뻑.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-06-04 13:06:02

안녕하세요 예스스탁입니다. 이전수식이 가장 마지막 종건을 만족한 것만 그리게 되어 있어 차트 전체에 모두 표시되게 수정해 드립니다. 조건충족시 과거봉(10분)부터 그려오기 위해서는 추세선 함수로만 가능합니다. 일반plot함수는 조건만족봉부터만 그릴수 있습니다. 올리신 그림이 누적값이 누적3봉평균을 돌파/이탈하는 지점들이 맞는지 모르겠습니다. 아래식은 돌파봉을 기준으로 10분전부터 이후 60분까지 그리고 이후 60분 경과전에 다시 조건만족봉이 나오면 해당 추세선은 더이상 그리지 않고 새로운 선을 그리게 됩니다. input : n(3); var : sum(0),idx(0),TL1(0),TL2(0); var : SI(0),EI(0); SI = max(1,Floor(10/BarInterval)); EI = max(1,Floor(60/BarInterval)); if Bdate != Bdate[1] Then { sum = 0; idx = 0; } idx = idx+1; if C > O Then sum = sum+v; if C < O Then sum = sum-v; var1 = ma(sum,3)[1]; Plot1(sum,"누적",IFf(sum > 0,RGB(255,0,0),RGB(0,0,255))); Plot2(var1,"직전n봉평균"); PlotBaseLine1(0); if idx >= 3 Then { if CrossUp(sum,var1) Then { if Value22 == Bdate Then TL_SetEnd(TL1,sDate[SI],sTime[SI],Value1); //TL_Delete(TL1); value1 = Lowest(C,3); Value2 = idx; value22 = sDate; TL1 = TL_new(sDate[SI],sTime[SI],value1,Sdate,time,value1); TL_SetColor(TL1,BLUe); } Else { if value1 > 0 and idx <= value1+EI and value22 == bDate then TL_SetEnd(TL1,sDate,sTime,value1); } if CrossDown(sum,var1) Then { if Value44 == Bdate Then TL_SetEnd(TL2,sDate[SI],sTime[SI],Value3); //TL_Delete(TL2); value3 = highest(C,3); Value4 = idx; Value44 = bDate; TL2 = TL_new(sDate[SI],sTime[SI],value3,Sdate,time,value3); TL_SetColor(TL2,RED); } Else { if value3 > 0 and idx <= value4+EI and Value44 == bDate then TL_SetEnd(TL2,sDate,sTime,value3); } } 즐거운 하루되세요 > 포보스 님이 쓴 글입니다. > 제목 : Re : 선긋기 부탁드립니다. > 안녕하세요? 바쁘신데에도 저의 요청에 성의끝 도와주심에 보람도 없이 다시 수정 요청드립니다. 숙고하지 못했음을 송구하게 생각합니다. 막상 적용해보니 의도와 다르게 나타납니다. ㅜㅜ 하여 첨부 그림 2분봉챠트 예시를 들었습니다. 보시고 그렇게 구현되도록 간곡히 부탁드려봅니다. 오늘도 좋은날 되세요. 미리 감사드립니다. ============================== Re : 선긋기 부탁드립니다. 안녕하세요 예스스탁입니다. input : n(3); var : sum(0),idx(0),TL1(0),TL2(0); var : SI(0),EI(0); SI = max(1,Floor(10/BarInterval)); EI = max(1,Floor(60/BarInterval)); if Bdate != Bdate[1] Then { sum = 0; idx = 0; } idx = idx+1; if C > O Then sum = sum+v; if C < O Then sum = sum-v; var1 = ma(sum,3)[1]; Plot1(sum,"누적",IFf(sum > 0,RGB(255,0,0),RGB(0,0,255))); Plot2(var1,"직전n봉평균"); PlotBaseLine1(0); if idx > 4 Then { if CrossUp(sum,var1) Then { TL_Delete(TL1); value1 = Lowest(C,3)[1]; Value2 = idx; TL1 = TL_new(sDate[SI],sTime[SI],value1,Sdate,time,value1); TL_SetColor(TL1,RED); } Else { if value1 > 0 and idx <= value1+EI then TL_SetEnd(TL1,sDate,sTime,value1); } if CrossDown(sum,var1) Then { TL_Delete(TL2); value3 = highest(C,3)[1]; Value4 = idx; TL2 = TL_new(sDate[SI],sTime[SI],value3,Sdate,time,value3); TL_SetColor(TL2,BLUE); } Else { if value3 > 0 and idx <= value4+EI then TL_SetEnd(TL2,sDate,sTime,value3); } } 즐거운 하루되세요 > 포보스 님이 쓴 글입니다. > 제목 : 선긋기 부탁드립니다. > 안녕하세요? "양봉 거래량은 거래량 누적변수에 “+”를 음봉 거래량은 거래량 누적변수에 “-”를 해서 실 매수거래량 라인을(RGB컬러로) 그리고자 합니다. 기준선은 "0"이 되겠죠." 라는 저의 요청에 아래와 같이 수고스런 답을 주셨습니다. 다시한번 감사드립니다. var : sum(0); if Bdate != Bdate[1] Then sum = 0; if C > O Then sum = sum+v; if C < O Then sum = sum-v; Plot1(sum,"누적",IFf(sum > 0,RGB(255,0,0),RGB(0,0,255))); PlotBaseLine1(0); 추가 요청사항은 이 데이터를 기반으로 해서 선물챠트에 누적실거래량의 고점과 저점의 선을 긋고자 합니다. 제의 생각은 이전 3개의 캔들거래량누적변수 값/3 값 보다가 현재값이 크면 선물가격캔들 3개중 가장 낮은종가에 10분전부터 60분간 Red line를 긋고 이전 3개의 캔들거래량누적변수 값/3 값 보다가 현재값이 작으면 선물가격캔들 3개중 가장 높은종가에 10분전부터 60분간 Blue line를 긋는것을 원합니다. 저의 의도는 이해하셨을테니 더 좋은 방법이 있음 부탁드리겠습니다. 감사드립니다. 꾸뻑.