커뮤니티

수식 검토 부탁드립니다.

프로필 이미지
밝은아침
2013-11-08 14:25:29
201
글번호 69339
답변완료

첨부 이미지

아래 수식 좀 검토 부탁드립니다. 신호가 첨부 파일대로 안나와서 문의 드립니다. (첨부 파일 참조 부탁드리고요. 혹시 안열리시면 알려주십시오.) Input : shortPeriod(12), longPeriod(26), Period(9),Percent(50); var : Osc(0); var : Osc_Max(0),C_Max(0),Osc_Max1(0),C_Max1(0),Osc_Max2(0),C_Max2(0),maxidx(0); var : Osc_Min(0),C_Min(0),Osc_Min1(0),C_Min1(0),Osc_min2(0),C_min2(0),minidx(0); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); Osc = value1-value2; if crossup(Osc,0) Then{ Osc_Max = Osc; maxidx = 0; Osc_Max1 = Osc_Max[1]; Osc_Max2 = Osc_Max1[1]; C_Max1 = C_Max[1]; C_Max2 = C_Max1[1]; } if Osc > 0 and Osc > Osc_Max Then{ Osc_Max = Osc; maxidx = 0; } maxidx = maxidx+1; if maxidx == 1 Then C_Max = max(c,c[1],c[2]); if CrossDown(Osc,0) Then{ Osc_Min = Osc; minidx = 0; Osc_min1 = Osc_min[1]; Osc_min2 = Osc_min1[1]; C_min1 = C_min[1]; C_min2 = C_min1[1]; } if Osc < 0 and Osc < Osc_Min Then{ Osc_min = Osc; minidx = 0; } minidx = minidx+1; if minidx == 1 Then C_min = min(c,c[1],c[2]); # 오실레이터 값이 양수이면서 Bearish Divergence가 생성되면, # 오실레이터 최대값을 저장해 나가다가 최대값 대비 50% 이상 하락하면 매도(매수청산) # 하락했다가 이전 최대값 이상 상승하면 매도청산(매수) if Osc > 0 Then{ if Osc <= Osc_max*percent/100 and Osc_max < Osc_max1 and C_max > C_Max1 and Osc < Osc_max Then sell(); if Osc > Osc_max Then Buy(); } # 오실레이터 값이 음수이면서 Bullish Divergence가 생성되면, # 오실레이터 최소값을 저장해 나가다가 최소값 대비 50% 이상 상승하면 매수(매도청산) # 상승했다가 이전 최소값 이상 상승하면 매수청산(매도) if Osc < 0 Then{ if (100/percent)*OSC >= Osc_min and Osc_min > Osc_min1 and C_min < C_Min1 and Osc > Osc_min Then buy(); if Osc < Osc_min Then sell(); } 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-11-11 14:33:06

안녕하세요 예스스탁입니다. 해당 수식 수정해 드릴만한 부분이 없습니다. 첨부그림에 지정한 봉들도 현재 올려주신 수식의 조건에 만족하는 봉입니다. 다만 해당 봉 이전에 매수포지션이나 매도포지션에 진입되어 있어 신호가 발생하지 않습니다. 피라미딩을 하지 않으면 청산전까지는 동일방향 진입이 발생하지 않으므로 해당 자리에 신호가 표시가 되지 않습니다. 식을 적용하실 때 피라미딩을 모든진입신호허용으로 설정하고 적용해보시면 지정된 자리에 모두 신호가 표시가 됩니다. 즐거운 하루되세요 > 밝은아침 님이 쓴 글입니다. > 제목 : 수식 검토 부탁드립니다. > 아래 수식 좀 검토 부탁드립니다. 신호가 첨부 파일대로 안나와서 문의 드립니다. (첨부 파일 참조 부탁드리고요. 혹시 안열리시면 알려주십시오.) Input : shortPeriod(12), longPeriod(26), Period(9),Percent(50); var : Osc(0); var : Osc_Max(0),C_Max(0),Osc_Max1(0),C_Max1(0),Osc_Max2(0),C_Max2(0),maxidx(0); var : Osc_Min(0),C_Min(0),Osc_Min1(0),C_Min1(0),Osc_min2(0),C_min2(0),minidx(0); value1 = MACD(shortPeriod, longPeriod); value2 = ema(value1, Period); Osc = value1-value2; if crossup(Osc,0) Then{ Osc_Max = Osc; maxidx = 0; Osc_Max1 = Osc_Max[1]; Osc_Max2 = Osc_Max1[1]; C_Max1 = C_Max[1]; C_Max2 = C_Max1[1]; } if Osc > 0 and Osc > Osc_Max Then{ Osc_Max = Osc; maxidx = 0; } maxidx = maxidx+1; if maxidx == 1 Then C_Max = max(c,c[1],c[2]); if CrossDown(Osc,0) Then{ Osc_Min = Osc; minidx = 0; Osc_min1 = Osc_min[1]; Osc_min2 = Osc_min1[1]; C_min1 = C_min[1]; C_min2 = C_min1[1]; } if Osc < 0 and Osc < Osc_Min Then{ Osc_min = Osc; minidx = 0; } minidx = minidx+1; if minidx == 1 Then C_min = min(c,c[1],c[2]); # 오실레이터 값이 양수이면서 Bearish Divergence가 생성되면, # 오실레이터 최대값을 저장해 나가다가 최대값 대비 50% 이상 하락하면 매도(매수청산) # 하락했다가 이전 최대값 이상 상승하면 매도청산(매수) if Osc > 0 Then{ if Osc <= Osc_max*percent/100 and Osc_max < Osc_max1 and C_max > C_Max1 and Osc < Osc_max Then sell(); if Osc > Osc_max Then Buy(); } # 오실레이터 값이 음수이면서 Bullish Divergence가 생성되면, # 오실레이터 최소값을 저장해 나가다가 최소값 대비 50% 이상 상승하면 매수(매도청산) # 상승했다가 이전 최소값 이상 상승하면 매수청산(매도) if Osc < 0 Then{ if (100/percent)*OSC >= Osc_min and Osc_min > Osc_min1 and C_min < C_Min1 and Osc > Osc_min Then buy(); if Osc < Osc_min Then sell(); } 감사합니다.