커뮤니티

동일전략만 중복제한

프로필 이미지
건곤대
2022-07-05 16:03:16
1387
글번호 160465
답변완료
안녀하세요. 아래 다른 글에서 하루한번만 진입하도록 제한하는 방식을 entry를 사용하여 다음과 같이 알려주셨습니다. -------------------------------- if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; --------------------------------- 그런데, 만일 아래와 같이 2개의 전략이 합성된 시스템을 운용중일경우 ------------------------- if crossup(c,2*DayHigh(1)) then { buy("매수1"); } if crossup(c,2*Dayclose(1)) then { buy("매수2); } -------------------------------------- entry<1로 제한하면 어느전략이든지 관계없이 하루에 1번만 진입하게 되는것 같습니다. 저는 동일한 전략일경우에만 하루1번만으로 제한하고 싶습니다. (즉, 매수1이후에 매수2신호가 뜨면 허용되도록) 어떻게 수식을 작성하면 될런지요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-07-06 10:34:42

안녕하세요 예스스탁입니다. var : entry1(0),entry2(0); if Bdate != Bdate[1] Then { entry1 = 0; entry2 = 0; } if MarketPosition == 1 and LatestEntryName(0) == "매수1" Then entry1 = entry1+1; if MarketPosition == 1 and LatestEntryName(0) == "매수2" Then entry2 = entry2+1; if entry1 < 1 and crossup(c,2*DayHigh(1)) then { buy("매수1"); } if entry2 < 1 and crossup(c,2*Dayclose(1)) then { buy("매수2"); } 즐거운 하루되세요 > 건곤대 님이 쓴 글입니다. > 제목 : 동일전략만 중복제한 > 안녀하세요. 아래 다른 글에서 하루한번만 진입하도록 제한하는 방식을 entry를 사용하여 다음과 같이 알려주셨습니다. -------------------------------- if Bdate != Bdate[1] Then entry = 0; if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or (MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then entry = entry+1; --------------------------------- 그런데, 만일 아래와 같이 2개의 전략이 합성된 시스템을 운용중일경우 ------------------------- if crossup(c,2*DayHigh(1)) then { buy("매수1"); } if crossup(c,2*Dayclose(1)) then { buy("매수2); } -------------------------------------- entry<1로 제한하면 어느전략이든지 관계없이 하루에 1번만 진입하게 되는것 같습니다. 저는 동일한 전략일경우에만 하루1번만으로 제한하고 싶습니다. (즉, 매수1이후에 매수2신호가 뜨면 허용되도록) 어떻게 수식을 작성하면 될런지요?