커뮤니티

질문드립니다.

프로필 이미지
예트7
2020-10-29 16:22:12
758
글번호 143493
답변완료
항상 감사드립니다. 아래와 같은 기본전략에 다음과 같은 진입/청산 조건을 추가하고 싶습니다. 수식작성 부탁드려요^^ 1. 기본전략(다른 전략도 좋습니다) Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } #당일청산 SetStopEndofday(153000) 2. 추가할 사항 a, 하루 한방향에 최대 3계약 (일일 양방향 최대 6계약) 까지 진입 가능, 1회 진입시에 1계약씩 진입 b, 기보유 진입계약이 있는데 반대방향으로 진입조건 발생시는 먼저 진입한 반대방향 계약부터 청산 (오래 보유한 것 부터 청산) (기보유 반대방향 보유계약이 없을 때 신규진입) 이상입니다. 좋은 하루되세요~~^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-10-30 10:57:34

안녕하세요 예스스탁입니다. Input : shortPeriod(5), longPeriod(20); var : Bcount(0),Scount(0); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); if Bdate != Bdate[1] Then { Bcount = 0; Scount = 0; } if MarketPosition == 1 and CurrentContracts > CurrentContracts[1] Then Bcount = Bcount+1; if MarketPosition == -1 and CurrentContracts > CurrentContracts[1] Then Scount = Scount+1; If CrossUP(value1, value2) Then #매수진입조건 { if MarketPosition >= 0 and Bcount < 3 Then Buy("b",OnClose,DEf,1); if MarketPosition == -1 Then ExitShort("sx",OnClose,DEf,"",1,1); } If CrossDown(value1, value2) Then #매수진입조건 { if MarketPosition <= 0 Then Sell("b",OnClose,DEf,1); Else ExitLong("bx",OnClose,DEf,"",1,2); } #당일청산 SetStopEndofday(153000); 즐거운 하루되세요 > 예트7 님이 쓴 글입니다. > 제목 : 질문드립니다. > 항상 감사드립니다. 아래와 같은 기본전략에 다음과 같은 진입/청산 조건을 추가하고 싶습니다. 수식작성 부탁드려요^^ 1. 기본전략(다른 전략도 좋습니다) Input : shortPeriod(5), longPeriod(20); value1 = ma(C, shortPeriod); value2 = ma(C, longPeriod); # 매수/매도청산 If CrossUP(value1, value2) Then { Buy(); } # 매도/매수청산 If CrossDown(value1, value2) Then { Sell(); } #당일청산 SetStopEndofday(153000) 2. 추가할 사항 a, 하루 한방향에 최대 3계약 (일일 양방향 최대 6계약) 까지 진입 가능, 1회 진입시에 1계약씩 진입 b, 기보유 진입계약이 있는데 반대방향으로 진입조건 발생시는 먼저 진입한 반대방향 계약부터 청산 (오래 보유한 것 부터 청산) (기보유 반대방향 보유계약이 없을 때 신규진입) 이상입니다. 좋은 하루되세요~~^^