커뮤니티

LRS전략에서 RSquare함수

프로필 이미지
ykiki
2008-11-17 14:07:43
793
글번호 18195
답변완료
아래는 시스메틱 트레이더(네이버카페)에서 퍼온 소스인데 편집기에 넣으면 "선언되지 않은 이름 'RSquare'가 사용되었습니다."라고 오류납니다. 여기 검색해보니 유사한 함수가 있긴 한데, 입력받는 외부변수 개수가 다릅니다. 초보라서 봐도 잘 모르겠는데 보고 답변 좀 해주세요. /*<지표들의 기간> LRS 기간 : 30 LRS 신호선 : 7 결정계수(r-Squared) 기간 : 15 1.Set-Up LRS가 신호선 상향돌파 LRS가 신호선 하향돌파 2.매수 LRS > 신호선 LRS > 전일 LRS Rsqr > 0.3 Rsqr > 전일 Rsqr 최근 Set-UP①이 만족할 시점의 고가 이상일 때 진입 3.매수청산 LRS < 신호선 최근 Set-UP②가 만족할 시점의 저가 이하일 때 청산 4.매도 LRS < 신호선 LRS < 전일 LRS Rsqr > 0.3 Rsqr > 전일 Rsqr 최근 Set-UP②가 만족할 시점의 저가 이하일 때 진입 5.매도청산 LRS > 신호선 최근 Set-UP①이 만족할 시점의 고가 이상일 때 청산 6.손절매 진입가에서 5% 이상 손실(마진콜 감안) 7.재진입 제한 손절매 청산 이후에는 3개 봉 경과 후 진입 */ input : Period1(30),Period2(7),RSQR(15); var : cnt(0); var1 = LRS(c,Period1); var2 = ema(var1,Period2); var3 = RSquare(var1,var2,RSQR); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ if crossup(var1,var2) Then value1 = H; if CrossDown(var1,var2) Then value2 = L; condition1 = var1 > var2 and var1 > var1[1] and var3 > 0.3 and var3 > var3[1] and C > value1; condition2 = var1 < var2 and var1 < var1[1] and var3 > 0.3 and var3 > var3[1] and C < value2; if condition1 == true Then buy(); if var1 < var2 and C < value2 Then exitlong(); if condition2 == True Then sell(); if var1 < var2 and c > value1 Then ExitShort(); SetStopLoss(5); ##차트상 첫진입(앞에 청산이 없는경우) if MarketPosition() == 0 and cnt < 1 Then{ if condition1 Then{ buy("매수"); cnt = 1; } if condition2 Then{ sell("매도"); cnt = 1; } } ##첫진입 이후(앞에 청산이 있는경우) if MarketPosition() == 0 and cnt == 1 Then{ if IsExitName("매수청산",1) == True Then{ if condition1 Then buy("매수1"); } if IsExitName("매수청산",1) == False Then{ if BarsSinceExit(1) >= 3 and condition1 Then buy("매수2"); } } if var1 < var2 and c < value2 Then exitlong("매수청산"); SetStopLoss(13);
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2009-12-29 09:42:17

안녕하세요 예스스탁입니다. 첨부된 파일을 다운받으셔서 사용하시면 됩니다. 사용자함수를 다운받으신후 18393_는 지우고 사용하시기 바랍니다. C:₩예스트레이더31₩YesLang₩Functions 폴더에 다운받으신 후 사용하시면 됩니다. 시스메틱 트레이더 카페에 사용자 함수를 올려드렸습니다. 즐거운 하루되세요 > 렌쯔 님이 쓴 글입니다. > 제목 : LRS전략에서 RSquare함수 > 아래는 시스메틱 트레이더(네이버카페)에서 퍼온 소스인데 편집기에 넣으면 "선언되지 않은 이름 'RSquare'가 사용되었습니다."라고 오류납니다. 여기 검색해보니 유사한 함수가 있긴 한데, 입력받는 외부변수 개수가 다릅니다. 초보라서 봐도 잘 모르겠는데 보고 답변 좀 해주세요. /*<지표들의 기간> LRS 기간 : 30 LRS 신호선 : 7 결정계수(r-Squared) 기간 : 15 1.Set-Up LRS가 신호선 상향돌파 LRS가 신호선 하향돌파 2.매수 LRS > 신호선 LRS > 전일 LRS Rsqr > 0.3 Rsqr > 전일 Rsqr 최근 Set-UP①이 만족할 시점의 고가 이상일 때 진입 3.매수청산 LRS < 신호선 최근 Set-UP②가 만족할 시점의 저가 이하일 때 청산 4.매도 LRS < 신호선 LRS < 전일 LRS Rsqr > 0.3 Rsqr > 전일 Rsqr 최근 Set-UP②가 만족할 시점의 저가 이하일 때 진입 5.매도청산 LRS > 신호선 최근 Set-UP①이 만족할 시점의 고가 이상일 때 청산 6.손절매 진입가에서 5% 이상 손실(마진콜 감안) 7.재진입 제한 손절매 청산 이후에는 3개 봉 경과 후 진입 */ input : Period1(30),Period2(7),RSQR(15); var : cnt(0); var1 = LRS(c,Period1); var2 = ema(var1,Period2); var3 = RSquare(var1,var2,RSQR); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ if crossup(var1,var2) Then value1 = H; if CrossDown(var1,var2) Then value2 = L; condition1 = var1 > var2 and var1 > var1[1] and var3 > 0.3 and var3 > var3[1] and C > value1; condition2 = var1 < var2 and var1 < var1[1] and var3 > 0.3 and var3 > var3[1] and C < value2; if condition1 == true Then buy(); if var1 < var2 and C < value2 Then exitlong(); if condition2 == True Then sell(); if var1 < var2 and c > value1 Then ExitShort(); SetStopLoss(5); ##차트상 첫진입(앞에 청산이 없는경우) if MarketPosition() == 0 and cnt < 1 Then{ if condition1 Then{ buy("매수"); cnt = 1; } if condition2 Then{ sell("매도"); cnt = 1; } } ##첫진입 이후(앞에 청산이 있는경우) if MarketPosition() == 0 and cnt == 1 Then{ if IsExitName("매수청산",1) == True Then{ if condition1 Then buy("매수1"); } if IsExitName("매수청산",1) == False Then{ if BarsSinceExit(1) >= 3 and condition1 Then buy("매수2"); } } if var1 < var2 and c < value2 Then exitlong("매수청산"); SetStopLoss(13);
프로필 이미지

ykiki

2008-11-17 14:51:28

ㅎㅎ