커뮤니티

92088 : TL_New()함수 답변에 대한... 재확인 부탁드립니다.

프로필 이미지
주식킹
2025-03-26 20:00:12
359
글번호 189596
답변완료
이미 양수이기때문에 절대값으로 변환해도 차이가 없습니다. 메세지로그에서 값을 찍어봐도 양수로 나옵니다. 혼란을 줄이기 위해 불필요한 구문은 모두 삭제 하였습니다. 심플하게 코딩을 바꿨으니 아래 내용으로 무엇이 잘못되었는지 다시 한번 확인 부탁 드립니다. ------------------------------------------ // 캔들의 전체 갯수를 리턴하는 함수 function getTotalCandles Numeric // 캔들 갯수를 저장할 변수 선언 var: candleCount(0); candleCount=Index+1; getTotalCandles=candleCount; Endfunction var: totalCandles(0), getTotalCandles(0); totalCandles=getTotalCandles(); // 하락 추세선 (단기) Inputs: ChartCandles(500), ShortPeriod(60), ShortDownColor(Blue), // 단기 하락 추세선 색상: 파란색 ShortLineWidth(2); var: Candle_Condition(0), ShortDownTrendLineID(0), StartShortDownTrendBar(0), LastShortDownTrendBar(0), StartShortDownTrendPrice(0), LastShortDownTrendPrice(0); Candle_Condition = ChartCandles - ShortPeriod; If totalCandles >= Candle_Condition Then { If totalCandles == ChartCandles Then { StartShortDownTrendBar = NthHighestBar(1, High, ShortPeriod); LastShortDownTrendBar = NthHighestBar(2, High, ShortPeriod); StartShortDownTrendPrice = NthHighest(1, High, ShortPeriod); LastShortDownTrendPrice = NthHighest(2, High, ShortPeriod); } If ShortDownTrendLineID > 0 Then { TL_Delete(ShortDownTrendLineID); } //StartShortDownTrendBar = StartShortDownTrendBar; //LastShortDownTrendBar = LastShortDownTrendBar; //이미 양수이기때문에 절대값으로 변환해도 차이가 없습니다. //메세지로그에서 값을 찍어봐도 양수로 나옵니다. //혼란을 줄이기 위해 불필요한 구문은 모두 삭제 하였습니다. StartShortDownTrendBar = Abs(StartShortDownTrendBar); LastShortDownTrendBar = Abs(LastShortDownTrendBar); MessageLog("**고점일=%.f, **고점가격=%.f", StartShortDownTrendBar, StartShortDownTrendPrice); MessageLog("다음 고점일=%.f, **다음 고점가격=%.f", LastShortDownTrendBar, LastShortDownTrendPrice); ShortDownTrendLineID = TL_New_Self(Date[StartShortDownTrendBar], Time[StartShortDownTrendBar], High[StartShortDownTrendBar], Date[LastShortDownTrendBar], Time[LastShortDownTrendBar], High[LastShortDownTrendBar]); TL_SetColor(ShortDownTrendLineID, ShortDownColor); TL_SetSize(ShortDownTrendLineID, ShortLineWidth); TL_SetExtRight(ShortDownTrendLineID, True); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-03-27 10:42:46

> 주식킹 님이 쓴 글입니다. > 제목 : 92088 : TL_New()함수 답변에 대한... 재확인 부탁드립니다. > 이미 양수이기때문에 절대값으로 변환해도 차이가 없습니다. 메세지로그에서 값을 찍어봐도 양수로 나옵니다. 혼란을 줄이기 위해 불필요한 구문은 모두 삭제 하였습니다. 심플하게 코딩을 바꿨으니 아래 내용으로 무엇이 잘못되었는지 다시 한번 확인 부탁 드립니다. ------------------------------------------ // 캔들의 전체 갯수를 리턴하는 함수 function getTotalCandles Numeric // 캔들 갯수를 저장할 변수 선언 var: candleCount(0); candleCount=Index+1; getTotalCandles=candleCount; Endfunction var: totalCandles(0), getTotalCandles(0); totalCandles=getTotalCandles(); // 하락 추세선 (단기) Inputs: ChartCandles(500), ShortPeriod(60), ShortDownColor(Blue), // 단기 하락 추세선 색상: 파란색 ShortLineWidth(2); var: Candle_Condition(0), ShortDownTrendLineID(0), StartShortDownTrendBar(0), LastShortDownTrendBar(0), StartShortDownTrendPrice(0), LastShortDownTrendPrice(0); Candle_Condition = ChartCandles - ShortPeriod; If totalCandles >= Candle_Condition Then { If totalCandles == ChartCandles Then { StartShortDownTrendBar = NthHighestBar(1, High, ShortPeriod); LastShortDownTrendBar = NthHighestBar(2, High, ShortPeriod); StartShortDownTrendPrice = NthHighest(1, High, ShortPeriod); LastShortDownTrendPrice = NthHighest(2, High, ShortPeriod); } If ShortDownTrendLineID > 0 Then { TL_Delete(ShortDownTrendLineID); } //StartShortDownTrendBar = StartShortDownTrendBar; //LastShortDownTrendBar = LastShortDownTrendBar; //이미 양수이기때문에 절대값으로 변환해도 차이가 없습니다. //메세지로그에서 값을 찍어봐도 양수로 나옵니다. //혼란을 줄이기 위해 불필요한 구문은 모두 삭제 하였습니다. StartShortDownTrendBar = Abs(StartShortDownTrendBar); LastShortDownTrendBar = Abs(LastShortDownTrendBar); MessageLog("**고점일=%.f, **고점가격=%.f", StartShortDownTrendBar, StartShortDownTrendPrice); MessageLog("다음 고점일=%.f, **다음 고점가격=%.f", LastShortDownTrendBar, LastShortDownTrendPrice); ShortDownTrendLineID = TL_New_Self(Date[StartShortDownTrendBar], Time[StartShortDownTrendBar], High[StartShortDownTrendBar], Date[LastShortDownTrendBar], Time[LastShortDownTrendBar], High[LastShortDownTrendBar]); TL_SetColor(ShortDownTrendLineID, ShortDownColor); TL_SetSize(ShortDownTrendLineID, ShortLineWidth); TL_SetExtRight(ShortDownTrendLineID, True); }