이미 양수이기때문에 절대값으로 변환해도 차이가 없습니다.
메세지로그에서 값을 찍어봐도 양수로 나옵니다.
혼란을 줄이기 위해 불필요한 구문은 모두 삭제 하였습니다.
심플하게 코딩을 바꿨으니 아래 내용으로 무엇이
잘못되었는지 다시 한번 확인 부탁 드립니다.
------------------------------------------
// 캔들의 전체 갯수를 리턴하는 함수
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);
}