커뮤니티

문의

프로필 이미지
목마와숙녀
2024-02-08 15:40:14
747
글번호 176543
답변완료
아래는 재진입 수식입니다. 아래 고가갱신 수식으로는 너무 느린데요. 좀 더 빠른 고가갱신 수식을 요청드립니다. 틱봉차트에서는 한참 걸려서요. ***************************************************************************** input:고가갱신수(1) if MarketPosition == 0 and #현재 무포지션이고 EntryDate(1) == sdate and #직전거래가 오늘 발생한 거래이고 MarketPosition(1) == 1 and #직전거래가 매수거래이고 countif(DayHigh(0) != DayHigh(0)[1],BarsSinceExit(1)) >= 고가갱신수 Then #청산이후 당일고가 갱신이 n회이상 있었으면 { buy("b"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-02-08 17:12:07

안녕하세요 예스스탁입니다. 1 청산 후 경과봉수가 많으면 로드가 많이 걸리므로 countif함수 대신에 청산후 조건만족할 때마다 카운트 하는 내용으로 변경한 식입니다. input:고가갱신수(1); var : Hcnt(0); #청산발생 초기값 0 if TotalTrades > TotalTrades[1] Then { Hcnt = 0; } #현재 무포지션이고 직전거래가 오늘 발생한 거래이고 직전거래가 매수거래이고 if MarketPosition == 0 and EntryDate(1) == sdate and MarketPosition(1) == 1 Then { #당일고가 갱신 카운트 if DayHigh(0) != DayHigh(0)[1] Then { Hcnt = Hcnt+1; } #지정한 횟수 이상이면 if Hcnt >= 고가갱신수 Then Buy("b"); } 2 현재 봉완성기준으로 신호가 발생합니다. 현재봉 고가가 당일최고가보다 크면 횟수가 1씩 카운트 되는데 현재 봉완성시 지정한 횟수이면 종가에 진입하게 됩니다. 그러므로 if문조건에서는 청산이후 지정한 고가갱신수보다 1회 적게만족하고 있다면 다음봉에서 당일고가보다 큰 시세가 발생하면 즉시 진입하게 하시면 됩니다. input:고가갱신수(1); if MarketPosition == 0 and EntryDate(1) == sdate and MarketPosition(1) == 1 and NextBarSdate == sDate and#다음날 첫봉진입 제한 countif(DayHigh(0) != DayHigh(0)[1],BarsSinceExit(1)) >= 고가갱신수-1 Then #지정한 갱신횟수보다 1회적게 충족되면 { #다음봉에서 당일고가+1틱 이상 가격 발생하면 즉시 매수 buy("b",AtStop,DayHigh(0)+PriceScale*1); } 즐거운 명절되세요 > 목마와숙녀 님이 쓴 글입니다. > 제목 : 문의 > 아래는 재진입 수식입니다. 아래 고가갱신 수식으로는 너무 느린데요. 좀 더 빠른 고가갱신 수식을 요청드립니다. 틱봉차트에서는 한참 걸려서요. ***************************************************************************** input:고가갱신수(1) if MarketPosition == 0 and #현재 무포지션이고 EntryDate(1) == sdate and #직전거래가 오늘 발생한 거래이고 MarketPosition(1) == 1 and #직전거래가 매수거래이고 countif(DayHigh(0) != DayHigh(0)[1],BarsSinceExit(1)) >= 고가갱신수 Then #청산이후 당일고가 갱신이 n회이상 있었으면 { buy("b"); }