커뮤니티

문의드립니다.

프로필 이미지
소드노
2025-06-03 11:52:42
131
글번호 191372
답변완료
아래 TS의 함수를 예스에서 사용하고 싶은데 함수 사용방법설명쫌 부탁드립니다 숫자형, 문자형,논리형으로 나오는데 이 부분을 어떻게 지정해서 만들어야 되나요? inputs: Length( numericsimple ), oBullishEngulfing( numericref ), oBearishEngulfing( numericref ) ; variables: Body( 0 ), PriceAvg( 0 ), BodyAvg( 0 ) ; Body = MaxList( Close, Open ) - MinList( Close, Open ) ; PriceAvg = XAverage( Close, Length ) ; BodyAvg = XAverage( Body, Length ) ; oBullishEngulfing = 0 ; oBearishEngulfing = 0 ; if CurrentBar > 1 then begin if Close < PriceAvg { TREND IS down } and Close > Open { CURRENT BODY white... } and Body > BodyAvg { ...AND LONG } and Close[1] < Open[1] { PREVIOUS BODY black... } and Body[1] < BodyAvg[1] { ...AND SMALL } and Close >= Open[1] { BullEng COND 1 } and Open <= Close[1] { BullEng COND 2 } and ( Close > Open[1] or Open < Close[1] ) { BullEng COND 3 } then oBullishEngulfing = 1 else if Close > PriceAvg { TREND IS up } and Close < Open { CURRENT BODY black... } and Body > BodyAvg { ...AND LONG } and Close[1] > Open[1] { PREVIOUS BODY white... } and Body[1] < BodyAvg[1] { ...AND SMALL } and Close <= Open[1] { BearEng COND 1 } and Open >= Close[1] { BearEng COND 2 } and ( Close < Open[1] or Open > Close[1] ) { BearEng COND 3 } then oBearishEngulfing = 1 ; end ; C_BullEng_BearEng = 1 ;
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-06-04 13:07:53

안녕하세요 예스스탁입니다. 1. 함수식 사용자함수명 : C_BullEng_BearEng 반환값형 : 숫자형 inputs: Length( numericsimple ), oBullishEngulfing( numericref ), oBearishEngulfing( numericref ) ; variables: Body( 0 ), PriceAvg( 0 ), BodyAvg( 0 ) ; Body = MaxList( Close, Open ) - MinList( Close, Open ) ; PriceAvg = EmA( Close, Length ) ; BodyAvg = EmA( Body, Length ) ; oBullishEngulfing = 0 ; oBearishEngulfing = 0 ; if CurrentBar > 1 then { if Close < PriceAvg #{ TREND IS down } and Close > Open #{ CURRENT BODY white... } and Body > BodyAvg #{ ...AND LONG } and Close[1] < Open[1] #{ PREVIOUS BODY black... } and Body[1] < BodyAvg[1] #{ ...AND SMALL } and Close >= Open[1] #{ BullEng COND 1 } and Open <= Close[1] #{ BullEng COND 2 } and ( Close > Open[1] or Open < Close[1] ) #{ BullEng COND 3 } then oBullishEngulfing = 1 ; else if Close > PriceAvg #{ TREND IS up } and Close < Open #{ CURRENT BODY black... } and Body > BodyAvg #{ ...AND LONG } and Close[1] > Open[1] #{ PREVIOUS BODY white... } and Body[1] < BodyAvg[1] #{ ...AND SMALL } and Close <= Open[1] #{ BearEng COND 1 } and Open >= Close[1] #{ BearEng COND 2 } and ( Close < Open[1] or Open > Close[1] ) #{ BearEng COND 3 } then oBearishEngulfing = 1 ; } C_BullEng_BearEng = 1 ; 2. 위 내용을 사용자함수로 만드신 후에 아래와 같이 수식에서 사용하시면 됩니다. VAR1 = C_BullEng_BearEng(40,value1,Value2); Plot1(value1); PLOT2(Value2); 함수에서 input변수를 numericref로 지정하면 수식내에서 계산한 값이 해당 변수로 다시 리턴됩니다. 그러므로 두번째, 세번째 매개변수에 변수 지정해 BullishEngulfing값, BearishEngulfing값을 리턴받아 사용하시면 됩니다. 함수자체는 1만 리턴되므로 var1은 1입니다. 즐거운 하루되세요 > 소드노 님이 쓴 글입니다. > 제목 : 문의드립니다. > 아래 TS의 함수를 예스에서 사용하고 싶은데 함수 사용방법설명쫌 부탁드립니다 숫자형, 문자형,논리형으로 나오는데 이 부분을 어떻게 지정해서 만들어야 되나요? inputs: Length( numericsimple ), oBullishEngulfing( numericref ), oBearishEngulfing( numericref ) ; variables: Body( 0 ), PriceAvg( 0 ), BodyAvg( 0 ) ; Body = MaxList( Close, Open ) - MinList( Close, Open ) ; PriceAvg = XAverage( Close, Length ) ; BodyAvg = XAverage( Body, Length ) ; oBullishEngulfing = 0 ; oBearishEngulfing = 0 ; if CurrentBar > 1 then begin if Close < PriceAvg { TREND IS down } and Close > Open { CURRENT BODY white... } and Body > BodyAvg { ...AND LONG } and Close[1] < Open[1] { PREVIOUS BODY black... } and Body[1] < BodyAvg[1] { ...AND SMALL } and Close >= Open[1] { BullEng COND 1 } and Open <= Close[1] { BullEng COND 2 } and ( Close > Open[1] or Open < Close[1] ) { BullEng COND 3 } then oBullishEngulfing = 1 else if Close > PriceAvg { TREND IS up } and Close < Open { CURRENT BODY black... } and Body > BodyAvg { ...AND LONG } and Close[1] > Open[1] { PREVIOUS BODY white... } and Body[1] < BodyAvg[1] { ...AND SMALL } and Close <= Open[1] { BearEng COND 1 } and Open >= Close[1] { BearEng COND 2 } and ( Close < Open[1] or Open > Close[1] ) { BearEng COND 3 } then oBearishEngulfing = 1 ; end ; C_BullEng_BearEng = 1 ;