커뮤니티

수식 문의드립니다

프로필 이미지
sewzie
2025-05-13 09:59:04
182
글번호 190764
답변완료
안녕하세요 하단 로직을 수식으로 짜고 있는데 실행 시 시스템 적용 시 진입이 발생하지 않아 검토 부탁드립니다 1차 신호: X봉 고가/저가를 돌파 1차 신호 이후 XX봉 수 동안 되돌림 발생하는지 감지 2차 신호: 되돌림 이후 1차 신호의 고가/저가를 다시 돌파하면 매수/매도 혹여나 제가 작성한 코드가 이해하기 어려우면 위 로직을 수식으로 작성부탁드리겠습니다 도움주셔서 감사합니다 Inputs: X1(20), WaitLen(5); Vars: hh(0), ll(0), BreakBar(-1), LongReady(False), ShortReady(False); // 1. 고점/저점 계산 hh = Highest(H, X1); ll = Lowest(L, X1); // 2. 1차 돌파 감지 If BreakBar == -1 and CrossUp(C, hh[1]) then Begin BreakBar = CurrentBar; LongReady = False; End; If BreakBar == -1 and CrossDown(C, ll[1]) then Begin BreakBar = CurrentBar; ShortReady = False; End; // 3. 되돌림 감지 (고가 아래 / 저가 위로 다시 내려왔는지) If BreakBar > 0 and CurrentBar <= BreakBar + WaitLen then Begin If Close < hh then LongReady = True; If Close > ll then ShortReady = True; End; // 4. 되돌림 이후 재돌파 → 진입 If LongReady and Close > hh then Begin Buy("B1", AtMarket, DEf, 1); BreakBar = -1; LongReady = False; End; If ShortReady and Close < ll then Begin Sell("B2", AtMarket, DEf, 1); BreakBar = -1; ShortReady = False; End; // 5. 대기 기간 초과 → 초기화 If BreakBar > 0 and CurrentBar > BreakBar + WaitLen then Begin BreakBar = -1; LongReady = False; ShortReady = False; End;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-05-13 18:43:24

안녕하세요 예스스탁입니다. 올려주신 수식에서 1차돌파와 되돌림 재돌파가 내용상 동일봉에서 동시 발생하는 조건이라 진입이 되지 않습니다. 변수에 값 저장 후 한봉전 값을 이용하게 작성하시면 됩니다. Input : X1(20), WaitLen(5); Vars : hh(0),ll(0); var : ups(0),uph(0),upi(0); var : dns(0),dnl(0),dni(0); hh = Highest(H, X1); ll = Lowest(L, X1); if C > HH[1] Then { ups = 1; upH = H; upi = Index; } Else { if ups == 1 and C < uph Then ups = 2; } if CrossDown(C,LL[1]) Then { dns = 1; dnl = L; dni = Index; } Else { if dns == 1 and C > dnL Then dns = 2; } if ups[1] == 2 and C > upH[1] and Index > upi[1] and Index <= upi[1]+WaitLen Then Buy(); if dns[1] == 2 and C < dnL[1] and Index > dni[1] and Index <= dni[1]+WaitLen Then Sell(); 즐거운 하루되세요 > sewzie 님이 쓴 글입니다. > 제목 : 수식 문의드립니다 > 안녕하세요 하단 로직을 수식으로 짜고 있는데 실행 시 시스템 적용 시 진입이 발생하지 않아 검토 부탁드립니다 1차 신호: X봉 고가/저가를 돌파 1차 신호 이후 XX봉 수 동안 되돌림 발생하는지 감지 2차 신호: 되돌림 이후 1차 신호의 고가/저가를 다시 돌파하면 매수/매도 혹여나 제가 작성한 코드가 이해하기 어려우면 위 로직을 수식으로 작성부탁드리겠습니다 도움주셔서 감사합니다 Inputs: X1(20), WaitLen(5); Vars: hh(0), ll(0), BreakBar(-1), LongReady(False), ShortReady(False); // 1. 고점/저점 계산 hh = Highest(H, X1); ll = Lowest(L, X1); // 2. 1차 돌파 감지 If BreakBar == -1 and CrossUp(C, hh[1]) then Begin BreakBar = CurrentBar; LongReady = False; End; If BreakBar == -1 and CrossDown(C, ll[1]) then Begin BreakBar = CurrentBar; ShortReady = False; End; // 3. 되돌림 감지 (고가 아래 / 저가 위로 다시 내려왔는지) If BreakBar > 0 and CurrentBar <= BreakBar + WaitLen then Begin If Close < hh then LongReady = True; If Close > ll then ShortReady = True; End; // 4. 되돌림 이후 재돌파 → 진입 If LongReady and Close > hh then Begin Buy("B1", AtMarket, DEf, 1); BreakBar = -1; LongReady = False; End; If ShortReady and Close < ll then Begin Sell("B2", AtMarket, DEf, 1); BreakBar = -1; ShortReady = False; End; // 5. 대기 기간 초과 → 초기화 If BreakBar > 0 and CurrentBar > BreakBar + WaitLen then Begin BreakBar = -1; LongReady = False; ShortReady = False; End;