커뮤니티

수식 감사합니다. (수정 부탁 드립니다)

프로필 이미지
오늘도수익
2020-05-08 11:43:19
1236
글번호 138685
답변완료
아래 수식 감사합니다. 그런데 수정을 좀 부탁 드려야 할것 같습니다. 지금 수식을 넣어보니 전고점을 갱신하지 않았는데도 고점의 위치가 바뀌네요. 고점을 갱신하지 못하면 기존 고점을 유지하게 부탁 드립니다. 저점도 저점을 갱신하지 못하면 기존 저점을 유지하게 부탁 드립니다. 고점이 생기고 그 고점을 돌파하면 최고점이 생겨서 2줄이 나오게 되는데.. 그다음 최고점을 돌파하면 전 최고점은 고점이 되고 현재 고점이 최고점이 되게 부탁 드립니다. 그리고 최고점이 갱신이 안되면 계속 지존값을 유지하려고 합니다. 저점도 같은 방법으로 부탁 드립니다. 감사합니다. 안녕하세요 예스스탁입니다. #data2 : 선물매수호가총건수 #data3 : 선물매도호가총건수 var : TL1(0,data1),TL2(0,data1),TL3(0,data1),TL4(0,data1); var : diff(0,data1),hh(0,data1),ll(0,data1); diff = data2(c)-data3(c); if bdate != bdate[1] Then { hh = diff; ll = diff; TL_Delete(TL1); TL_Delete(TL2); TL1 = TL_New(sdate,stime,H,NextBarSdate,NextBarStime,H); TL2 = TL_New(sdate,stime,L,NextBarSdate,NextBarStime,L); TL_Delete(TL3); TL_Delete(TL4); TL3 = TL_New(sdate,stime,H,Sdate,Stime,H); TL4 = TL_New(sdate,stime,L,Sdate,Stime,L); } else { if diff > hh Then { hh = diff; TL_SetBegin(TL3,sdate,stime,TL_GetValue(TL1,sdate,stime)); TL_Setend(TL3,NextBarSdate,NextBarStime,TL_GetValue(TL1,sdate,stime)); TL_SetBegin(TL1,sdate,stime,h); TL_Setend(TL1,NextBarSdate,NextBarStime,h); } if diff < ll Then { ll = diff; TL_SetBegin(TL4,sdate,stime,TL_GetValue(TL2,sdate,stime)); TL_Setend(TL4,NextBarSdate,NextBarStime,TL_GetValue(TL2,sdate,stime)); TL_SetBegin(TL2,sdate,stime,l); TL_Setend(TL2,NextBarSdate,NextBarStime,l); } } TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL1,RED); TL_SetColor(TL2,BLUE); TL_SetExtRight(TL3,true); TL_SetExtLeft(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtLeft(TL4,true); TL_SetColor(TL3,RED); TL_SetColor(TL4,BLUE); plot1(hh,"최고건수차",RED); plot2(ll,"최저건수차",blue); 즐거운 하루되세요 > 오늘도수익 님이 쓴 글입니다. > 제목 : Re : Re : 지표 수정 부탁 드립니다. > 수식 감사합니다. 현재 최저점과 최고점만 표시해서 챠트에 표시가 되는데.. 고점과 저점을 2개로 표시해서 차트에 표시 부탁 드립니다. 첫번째 고점이 생기고 그다음 고점이 생기면 첫번째 고저도 표시하고 새로 갱신한 고점도 표시를 했으면 합니다. 즉 2개를 다 표시했으면 합니다. 새로운 고점이 생기면 전고점과 현재의 고점 이렇게 2개를 표시했으면 합니다. 저점도 같은 방법으로 2개를 표시했으면 합니다. 부탁 드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표 수정 부탁 드립니다. > 안녕하세요 예스스탁입니다. #data2 : 선물매수호가총건수 #data3 : 선물매도호가총건수 var : TL1(0,data1),TL2(0,data1); var : diff(0,data1),hh(0,data1),ll(0,data1); diff = data2(c)-data3(c); if bdate != bdate[1] Then { hh = diff; ll = diff; TL_Delete(TL1); TL_Delete(TL2); TL1 = TL_New(sdate,stime,H,NextBarSdate,NextBarStime,H); TL2 = TL_New(sdate,stime,L,NextBarSdate,NextBarStime,L); } else { if diff > hh Then { hh = diff; TL_SetBegin(TL1,sdate,stime,h); TL_Setend(TL1,NextBarSdate,NextBarStime,h); } if diff < ll Then { ll = diff; TL_SetBegin(TL2,sdate,stime,l); TL_Setend(TL2,NextBarSdate,NextBarStime,l); } } TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL1,RED); TL_SetColor(TL2,BLUE); plot1(hh,"최고건수차",RED); plot2(ll,"최저건수차",blue); 즐거운 하루되세요 > 오늘도수익 님이 쓴 글입니다. > 제목 : 지표 수정 부탁 드립니다. > 2 호가잔량건수이면 참조데이타를 이용하셔야 합니다. 차트에 선물매수호가총건수와 선물매도호가총건수를 참조데이타로 차트에 추가하고 아래식 적용하시면 됩니다. 참조데이타는 차트왼쪽 상단의 종목선택버튼 중 오른쪽 버튼 클릭하면 차트에 추가하실 수 있습니다. 참조데이타는 차트에 추가되는 순서로 data2부터 data99까지 데이타번호가 부여됩니다. 선물매수호가총건수를 먼저 추가하고 선물매도호가총건수를 나중에 추가하시면 됩니다. 해당 데이타는 종목선택화면 참조탭에 있습니다. #data2 : 선물매수호가총건수 #data3 : 선물매도호가총건수 var : diff(0,data1),hh(0,data1),ll(0,data1); diff = data2(c)-data3(c); if bdate != bdate[1] Then { hh = diff; ll = diff; } if diff > hh Then hh = diff; if diff < ll Then ll = diff; plot1(hh,"최고건수차",RED); plot2(ll,"최저건수차",blue); 제가 설명을 잘못 한것 같습니다. 최고건수차와 최저건수차가 나왔을때 90틱 지표에 수평선으로 표시하고 싶습다. 최고건수가 나온 시간에 90틱 챠트에 수평선으로표시하고 최저건수가 온 시간에 90틱 차트에 수평선으로 표시하고 싶습다.
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-05-08 14:39:33

> 오늘도수익 님이 쓴 글입니다. > 제목 : 수식 감사합니다. (수정 부탁 드립니다) > 아래 수식 감사합니다. 그런데 수정을 좀 부탁 드려야 할것 같습니다. 지금 수식을 넣어보니 전고점을 갱신하지 않았는데도 고점의 위치가 바뀌네요. 고점을 갱신하지 못하면 기존 고점을 유지하게 부탁 드립니다. 저점도 저점을 갱신하지 못하면 기존 저점을 유지하게 부탁 드립니다. 고점이 생기고 그 고점을 돌파하면 최고점이 생겨서 2줄이 나오게 되는데.. 그다음 최고점을 돌파하면 전 최고점은 고점이 되고 현재 고점이 최고점이 되게 부탁 드립니다. 그리고 최고점이 갱신이 안되면 계속 지존값을 유지하려고 합니다. 저점도 같은 방법으로 부탁 드립니다. 감사합니다. 안녕하세요 예스스탁입니다. #data2 : 선물매수호가총건수 #data3 : 선물매도호가총건수 var : TL1(0,data1),TL2(0,data1),TL3(0,data1),TL4(0,data1); var : diff(0,data1),hh(0,data1),ll(0,data1); diff = data2(c)-data3(c); if bdate != bdate[1] Then { hh = diff; ll = diff; TL_Delete(TL1); TL_Delete(TL2); TL1 = TL_New(sdate,stime,H,NextBarSdate,NextBarStime,H); TL2 = TL_New(sdate,stime,L,NextBarSdate,NextBarStime,L); TL_Delete(TL3); TL_Delete(TL4); TL3 = TL_New(sdate,stime,H,Sdate,Stime,H); TL4 = TL_New(sdate,stime,L,Sdate,Stime,L); } else { if diff > hh Then { hh = diff; TL_SetBegin(TL3,sdate,stime,TL_GetValue(TL1,sdate,stime)); TL_Setend(TL3,NextBarSdate,NextBarStime,TL_GetValue(TL1,sdate,stime)); TL_SetBegin(TL1,sdate,stime,h); TL_Setend(TL1,NextBarSdate,NextBarStime,h); } if diff < ll Then { ll = diff; TL_SetBegin(TL4,sdate,stime,TL_GetValue(TL2,sdate,stime)); TL_Setend(TL4,NextBarSdate,NextBarStime,TL_GetValue(TL2,sdate,stime)); TL_SetBegin(TL2,sdate,stime,l); TL_Setend(TL2,NextBarSdate,NextBarStime,l); } } TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL1,RED); TL_SetColor(TL2,BLUE); TL_SetExtRight(TL3,true); TL_SetExtLeft(TL3,true); TL_SetExtRight(TL4,true); TL_SetExtLeft(TL4,true); TL_SetColor(TL3,RED); TL_SetColor(TL4,BLUE); plot1(hh,"최고건수차",RED); plot2(ll,"최저건수차",blue); 즐거운 하루되세요 > 오늘도수익 님이 쓴 글입니다. > 제목 : Re : Re : 지표 수정 부탁 드립니다. > 수식 감사합니다. 현재 최저점과 최고점만 표시해서 챠트에 표시가 되는데.. 고점과 저점을 2개로 표시해서 차트에 표시 부탁 드립니다. 첫번째 고점이 생기고 그다음 고점이 생기면 첫번째 고저도 표시하고 새로 갱신한 고점도 표시를 했으면 합니다. 즉 2개를 다 표시했으면 합니다. 새로운 고점이 생기면 전고점과 현재의 고점 이렇게 2개를 표시했으면 합니다. 저점도 같은 방법으로 2개를 표시했으면 합니다. 부탁 드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 지표 수정 부탁 드립니다. > 안녕하세요 예스스탁입니다. #data2 : 선물매수호가총건수 #data3 : 선물매도호가총건수 var : TL1(0,data1),TL2(0,data1); var : diff(0,data1),hh(0,data1),ll(0,data1); diff = data2(c)-data3(c); if bdate != bdate[1] Then { hh = diff; ll = diff; TL_Delete(TL1); TL_Delete(TL2); TL1 = TL_New(sdate,stime,H,NextBarSdate,NextBarStime,H); TL2 = TL_New(sdate,stime,L,NextBarSdate,NextBarStime,L); } else { if diff > hh Then { hh = diff; TL_SetBegin(TL1,sdate,stime,h); TL_Setend(TL1,NextBarSdate,NextBarStime,h); } if diff < ll Then { ll = diff; TL_SetBegin(TL2,sdate,stime,l); TL_Setend(TL2,NextBarSdate,NextBarStime,l); } } TL_SetExtRight(TL1,true); TL_SetExtLeft(TL1,true); TL_SetExtRight(TL2,true); TL_SetExtLeft(TL2,true); TL_SetColor(TL1,RED); TL_SetColor(TL2,BLUE); plot1(hh,"최고건수차",RED); plot2(ll,"최저건수차",blue); 즐거운 하루되세요 > 오늘도수익 님이 쓴 글입니다. > 제목 : 지표 수정 부탁 드립니다. > 2 호가잔량건수이면 참조데이타를 이용하셔야 합니다. 차트에 선물매수호가총건수와 선물매도호가총건수를 참조데이타로 차트에 추가하고 아래식 적용하시면 됩니다. 참조데이타는 차트왼쪽 상단의 종목선택버튼 중 오른쪽 버튼 클릭하면 차트에 추가하실 수 있습니다. 참조데이타는 차트에 추가되는 순서로 data2부터 data99까지 데이타번호가 부여됩니다. 선물매수호가총건수를 먼저 추가하고 선물매도호가총건수를 나중에 추가하시면 됩니다. 해당 데이타는 종목선택화면 참조탭에 있습니다. #data2 : 선물매수호가총건수 #data3 : 선물매도호가총건수 var : diff(0,data1),hh(0,data1),ll(0,data1); diff = data2(c)-data3(c); if bdate != bdate[1] Then { hh = diff; ll = diff; } if diff > hh Then hh = diff; if diff < ll Then ll = diff; plot1(hh,"최고건수차",RED); plot2(ll,"최저건수차",blue); 제가 설명을 잘못 한것 같습니다. 최고건수차와 최저건수차가 나왔을때 90틱 지표에 수평선으로 표시하고 싶습다. 최고건수가 나온 시간에 90틱 챠트에 수평선으로표시하고 최저건수가 온 시간에 90틱 차트에 수평선으로 표시하고 싶습다.