커뮤니티

문의드립니다.

프로필 이미지
카르마다
2025-04-11 15:30:55
294
글번호 190041
답변완료
함수를 공부중에 있어 기초적이지만 문의드립니다. 예를 들어 아래와 같은 시스템식이 있을 때 Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } } 함수를 써서 줄이고 싶습니다. value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); 또는 # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } } 을 함수를 써서 표현할 수 있을까요? 함수로 수식을 간결하게 할려는 목적도 있고 신호뿐만 아니라 신호안의 수식을 지인과 공유하더라도 특정 로직이나 수치는 감출려는 목적도 있습니다. 방법설명 그럼 부탁드립니다~
사용자 함수
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-04-11 18:36:36

안녕하세요 예스스탁입니다. 1번 내용으로 사용자함수 만드신 후에 2번 내용으로 시스템식 작성하시면 됩니다. 만약 사용자함수에 외부변수도 지정하고 싶지 않으시면 3번 내용과 같이 이평기간을 숫자로 고정해서 지정하고 사용자함수 만드신 후에 4번 내용으로 시스템식 작성하시면 됩니다. 1 사용자함수 함수명 : 진입조건 반환값형 : 숫자형 Input : shortPeriod(Numeric), longPeriod(Numeric); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); 진입조건 = 0; If CrossUP(value1, value2) Then { 진입조건 = 1; } If CrossDown(value1, value2) Then { 진입조건 = -1; } 2 시스템 If 진입조건(5,20) == 1 Then { Buy(); } If 진입조건(5,20) == -1 Then { Sell(); } 3 사용자함수 함수명 : 진입조건 반환값형 : 숫자형 var : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); 진입조건 = 0; If CrossUP(value1, value2) Then { 진입조건 = 1; } If CrossDown(value1, value2) Then { 진입조건 = -1; } 4 시스템 If 진입조건 == 1 Then { Buy(); } If 진입조건 == -1 Then { Sell(); } 즐거운 하루되세요 > 카르마다 님이 쓴 글입니다. > 제목 : 문의드립니다. > 함수를 공부중에 있어 기초적이지만 문의드립니다. 예를 들어 아래와 같은 시스템식이 있을 때 Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } } 함수를 써서 줄이고 싶습니다. value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); 또는 # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } } 을 함수를 써서 표현할 수 있을까요? 함수로 수식을 간결하게 할려는 목적도 있고 신호뿐만 아니라 신호안의 수식을 지인과 공유하더라도 특정 로직이나 수치는 감출려는 목적도 있습니다. 방법설명 그럼 부탁드립니다~