커뮤니티

문의 드립니다

프로필 이미지
푸른
2022-10-27 07:14:33
1131
글번호 163321
답변완료

첨부 이미지

79323 수식어 작성해 주신거 신호가 전혀 없어서 위 그래프로 다르게 질문드립니다. 그래프는 일봉으로 규정되었는데 일봉과 분봉 2가지 수식어로 부탁드립니다. 일봉은 3가지 종류의 진입청산을 하나의 수식어로 해주시고 각각 진입청산은 1회입니다. 분봉도 동일하게 하루하루가 연결된 구조입니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-10-27 17:11:33

안녕하세요 예스스탁입니다. 최근 N일간의 최고가와 최저가를 기준으로 진입하게 됩니다. 진입/청산의 기준값은 N일간 최저가입니다. 진입가는 N일간최저가 + 고저폭*진입Per 입니다. 청산가는 진입봉기준 N일간최저가 + 고저폭*청산Per 입니다. 1번식은 진입과 청산만 있는 식입니다. 2번식은 신호가 많이 나오지 않아 당일청산을 추가한 식입니다. 식 작성에 참고하시기 바랍니다. 1 input : N(8),진입Per(-23.6),청산Per(61.8); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),hh(0),ll(0),cnt(0),EP(0),XP(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { ExitLong(); hh = 0; ll = 0; For cnt = 0 to N-1 { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if NextBarOpen < EP Then Buy("b1",AtStop,EP); Else Buy("b1.",AtLimit,EP); } Else { hh = 0; ll = 0; For cnt = 1 to N { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if H < EP Then Buy("b2",AtStop,EP); if L > EP Then Buy("b2.",AtLimit,EP); } if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then XP = ll[BarsSinceEntry]+(hh[BarsSinceEntry]-ll[BarsSinceEntry])*(청산Per/100); ExitLong("bx",AtLimit,XP); } } 2 input : N(8),진입Per(38.2),청산Per(61.8); var : DD(0),Year(0),V1(0),V2(0),V3(0),V4(0),summer(False); var : ST(0),ET(0),hh(0),ll(0),cnt(0),EP(0),XP(0); if NextBarSdate != sDate Then { DD = DayOfWeek(NextBarSdate); Year = Floor(NextBarSdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); Summer = Sdate > (10000 * Year) + (100 * 3) + v2 and Sdate < (10000 * Year) + (100 * 11) + v4; if summer == true Then { ST = 70000; ET = 55000; } Else { ST = 80000; ET = 65000; } } if Year > 0 Then { IF ET > ST Then SetStopEndofday(ET); Else { if NextBarSdate != sDate Then SetStopEndofday(ET); } if ((NextBarSdate != sDate and NextBarStime >= ST) or (NextBarSdate == sDate and NextBarStime >= ST and sTime < ST)) Then { SetStopEndofday(0); hh = 0; ll = 0; For cnt = 0 to N-1 { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if NextBarOpen < EP Then Buy("b1",AtStop,EP); Else Buy("b1.",AtLimit,EP); } Else { hh = 0; ll = 0; For cnt = 1 to N { if hh == 0 or (hh > 0 and DayHigh(cnt) > hh) Then hh = DayHigh(cnt); if ll == 0 or (ll > 0 and DayLow(cnt) < ll) Then ll = DayLow(cnt); } EP = ll+(hh-ll)*(진입Per/100); if H < EP Then Buy("b2",AtStop,EP); if L > EP Then Buy("b2.",AtLimit,EP); } if MarketPosition == 1 Then { if MarketPosition != MarketPosition[1] Then XP = ll[BarsSinceEntry]+(hh[BarsSinceEntry]-ll[BarsSinceEntry])*(청산Per/100); ExitLong("bx",AtLimit,XP); } } 즐거운 하루되세요 > 푸른 님이 쓴 글입니다. > 제목 : 문의 드립니다 > 79323 수식어 작성해 주신거 신호가 전혀 없어서 위 그래프로 다르게 질문드립니다. 그래프는 일봉으로 규정되었는데 일봉과 분봉 2가지 수식어로 부탁드립니다. 일봉은 3가지 종류의 진입청산을 하나의 수식어로 해주시고 각각 진입청산은 1회입니다. 분봉도 동일하게 하루하루가 연결된 구조입니다.