커뮤니티

수식 문의

프로필 이미지
부똘이
2018-08-08 15:05:05
131
글번호 121212
답변완료
아래와 같은 두개의 수식을 문의 드립니다. 1. -------------------------------------- 다음 네개의 값을 구합니다. 1. 당일 upvol-downvol 누적값 2. data2의 당일 upvol-downvol 누적값 3. data3의 당일 upvol-downvol 누적값 4. 호가잔량 위의 지표값 중 1. 두 개 이하로 양수였다가 세개 이상이 양수가 될 때, 2.세 개가 양수였다가 네개가 양수가 될 때, 매수 1. 두 개 이하로 음수였다가 세 개 이상이 음수가 될 때, 2. 세 개가 음수였다가 네 개가 음수가 될 때 매도 2. ----------------------------------- ㄱ. 매매 종목에 볼린저 밴드를 입힙니다. ㄴ. rsi에 볼린저 밴드를 입힙니다. rsi가 볼린저밴드 상단선을 돌파 했다가 다시 진입하면 매도 rsi가 볼린저밴드 하단선을 이탈 했다가 다시 진입하면 매수 단, 여기에 필터를 겁니다. 매매 종목이, (해당종목에) 설정된 볼린저 밴드의 상단선 위에 있다면, 매수만, 볼린저 밴드의 하단선 아래에 있다면, 매도만 합니다. 항상 친절한 답변 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-08-08 17:05:05

안녕하세요 예스스탁입니다 1 var : sum1(0,data1),sum2(0,data2),sum3(0,data3); var : plus(0,data1),minus(0,data1); if data1(bdate != bdate[1]) Then sum1 = 0; sum1 = sum1 + data1(upvol-DownVol); if data2(bdate != bdate[1]) Then sum2 = 0; sum2 = sum2 + data2(upvol-DownVol); if data3(bdate != bdate[1]) Then sum3 = 0; sum3 = sum3 + data3(upvol-DownVol); plus = 0; if sum1 > 0 Then plus = plus+1; if sum2 > 0 Then plus = plus+1; if sum3 > 0 Then plus = plus+1; minus = 0; if sum1 < 0 Then minus = minus+1; if sum2 < 0 Then minus = minus+1; if sum3 < 0 Then minus = minus+1; if plus >= 3 and plus[1] <= 2 Then buy(); if plus >= 4 and plus[1] <= 3 Then buy(); if minus >= 3 and minus[1] <= 2 Then sell(); if minus >= 4 and minus[1] <= 3 Then sell(); 2 문의하신 내용이 RSI와 볼린져밴드 비교하는 수식이면 가능하지 않은 내용입니다. RSI와 볼린져밴드는 Y축의 스케일이 다른 지표로 서로 크로스가 발생할수 없습니다. 차트에서 임의로 플로팅상태에서 겹쳐보시는 부분은 시각적인 용도입니다. 수식에서는 각 값을 사용하므로 스케일이 다른 지표를 비교해 조건충족이 되지 않습니다. 문의하신 내용이 RSI를 이용해 볼밴을 계산해사용하시는 부분이면 아래와 같습니다. Input : Period(14);//RSI기간 Input : BBPeriod(20),Dv(2);//볼밴 Var : RSIV(0),SumSqrt(0),cnt(0),Stdv(0),RSIBBmd(0),RSIBBup(0),RSIBBdn(0); var : BBup(0),BBdn(0); #RSI RSIV = RSI(Period); #RSI볼밴 RSIBBmd = Ma(RSIV, Period); SumSqrt = 0; For cnt = 0 To BBPeriod - 1 Begin SumSqrt = SumSqrt + (RSIV[cnt] - RSIBBmd) * (RSIV[cnt] - RSIBBmd); End; Stdv = SquareRoot(SumSqrt / BBPeriod); RSIBBup = RSIBBmd + Stdv*dv; RSIBBdn = RSIBBmd - Stdv*dv; #기본차트볼밴 BBup = BollBandUp(BBPeriod,dv); BBdn = BollBandDown(BBPeriod,dv); if CrossDown(RSIV,RSIBBup) Then { if C > BBup Then sell(); Else ExitLong(); } if CrossUp(RSIV,RSIBBdn) Then { if C < BBdn Then buy(); Else ExitShort(); } 즐거운 하루되세요 > 부똘이 님이 쓴 글입니다. > 제목 : 수식 문의 > 아래와 같은 두개의 수식을 문의 드립니다. 1. -------------------------------------- 다음 네개의 값을 구합니다. 1. 당일 upvol-downvol 누적값 2. data2의 당일 upvol-downvol 누적값 3. data3의 당일 upvol-downvol 누적값 4. 호가잔량 위의 지표값 중 1. 두 개 이하로 양수였다가 세개 이상이 양수가 될 때, 2.세 개가 양수였다가 네개가 양수가 될 때, 매수 1. 두 개 이하로 음수였다가 세 개 이상이 음수가 될 때, 2. 세 개가 음수였다가 네 개가 음수가 될 때 매도 2. ----------------------------------- ㄱ. 매매 종목에 볼린저 밴드를 입힙니다. ㄴ. rsi에 볼린저 밴드를 입힙니다. rsi가 볼린저밴드 상단선을 돌파 했다가 다시 진입하면 매도 rsi가 볼린저밴드 하단선을 이탈 했다가 다시 진입하면 매수 단, 여기에 필터를 겁니다. 매매 종목이, (해당종목에) 설정된 볼린저 밴드의 상단선 위에 있다면, 매수만, 볼린저 밴드의 하단선 아래에 있다면, 매도만 합니다. 항상 친절한 답변 감사드립니다.