커뮤니티

수식 문의

프로필 이미지
에구머니
2021-09-23 19:32:16
1074
글번호 152354
답변완료
안녕하세요? 수식 문의 드립니다. 감사합니다.
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2021-09-23 15:04:25

안녕하세요 예스스탁입니다. 1 올려주신 내용은 첫봉의 시가나 종가에 신호수량(CurrentContracts)을 실제잔고수량과 맞추는 부분인데 해당 부분은 실세신호는 발생하지만 주문은 가능하지 않게 해야 CurrentContracts와 실제 수량이 일치가 될수 있는데 자동매매 상태에서 신호만 발생하고 주문은 집행하지 않을 방법이 없습니다. 또한 해당 수량이 당일뿐 아니라 차트 과거일의 첫봉에 모두 동일하게 적용이 되어 이후 신호에 모두 영향을 주게 됩니다. 해당 부분에 대해서는 별도로 수정해 드릴 방법을 모르겠습니다. 해당 내용에 대해서는 별도로 아이디어가 없어 제외하고 작성해 드립니다. 2 input : 시작(91900); input : 유격(30); Input: n(2); Var: vv(0); if sTime >= 시작 and sTime <= 150000 Then { if Index%n == 0 Then { if VV > 0 Then { if MarketPosition <= 0 Then { Buy("b",OnClose,DEf,abs(VV)); } if MarketPosition == 1 Then { if CurrentContracts >= abs(VV)+유격 Then ExitLong("bx",OnClose,DEf,"",abs(CurrentContracts-abs(VV)),2); if CurrentContracts <= abs(VV)-유격 Then Buy("bb",OnClose,DEf,abs(CurrentContracts-abs(VV))); } } if VV < 0 Then { if MarketPosition >= 0 Then { Sell("s",OnClose,DEf,abs(VV)); } if MarketPosition == -1 Then { if CurrentContracts >= abs(VV)+유격 Then ExitShort("sx",OnClose,DEf,"",abs(CurrentContracts-abs(VV)),2); if CurrentContracts <= abs(VV)-유격 Then Sell("ss",OnClose,DEf,abs(CurrentContracts-abs(VV))); } } } } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 수식 문의 > 안녕하세요? 수식 문의 드립니다. 감사합니다.
프로필 이미지

에구머니

2021-09-23 15:12:26

그러니까, 5분봉으로 돌린다고 할 때, 시스템으로 첫봉에(즉, 9시 5분에) 모든 포지션들 청산하고, 입력한 포지션 갯수를 사라고 수식을 짜 둔 상태에서 예스트레이더를 9시 20분쯤 켜서, 9시 29분 이후부터 정상매매 하고 싶은데, 이게 가능한가요? 감사합니다, > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 > 안녕하세요 예스스탁입니다. 1 올려주신 내용은 첫봉의 시가나 종가에 신호수량(CurrentContracts)을 실제잔고수량과 맞추는 부분인데 해당 부분은 실세신호는 발생하지만 주문은 가능하지 않게 해야 CurrentContracts와 실제 수량이 일치가 될수 있는데 자동매매 상태에서 신호만 발생하고 주문은 집행하지 않을 방법이 없습니다. 또한 해당 수량이 당일뿐 아니라 차트 과거일의 첫봉에 모두 동일하게 적용이 되어 이후 신호에 모두 영향을 주게 됩니다. 해당 부분에 대해서는 별도로 수정해 드릴 방법을 모르겠습니다. 해당 내용에 대해서는 별도로 아이디어가 없어 제외하고 작성해 드립니다. 2 input : 시작(91900); input : 유격(30); Input: n(2); Var: vv(0); if sTime >= 시작 and sTime <= 150000 Then { if Index%n == 0 Then { if VV > 0 Then { if MarketPosition <= 0 Then { Buy("b",OnClose,DEf,abs(VV)); } if MarketPosition == 1 Then { if CurrentContracts >= abs(VV)+유격 Then ExitLong("bx",OnClose,DEf,"",abs(CurrentContracts-abs(VV)),2); if CurrentContracts <= abs(VV)-유격 Then Buy("bb",OnClose,DEf,abs(CurrentContracts-abs(VV))); } } if VV < 0 Then { if MarketPosition >= 0 Then { Sell("s",OnClose,DEf,abs(VV)); } if MarketPosition == -1 Then { if CurrentContracts >= abs(VV)+유격 Then ExitShort("sx",OnClose,DEf,"",abs(CurrentContracts-abs(VV)),2); if CurrentContracts <= abs(VV)-유격 Then Sell("ss",OnClose,DEf,abs(CurrentContracts-abs(VV))); } } } } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 수식 문의 > 안녕하세요? 수식 문의 드립니다. 감사합니다.
프로필 이미지

예스스탁 예스스탁 답변

2021-09-23 16:50:51

안녕하세요 예스스탁입니다. 시스템 자체를 첫봉 이후에 적용하시면 가능합니다. 첫봉 이후에 적용하시면 해당 신호들이 과거 시뮬레이션 봉이므로 신호만 발생하게 되어 가능하게 됩니다. 다만 해당 오버가 이전일에도 모두 적용이 되어 과거 신호가 날마다 변경될수도 있습니다. 해당 부분은 충분히 검토해 보시기 바랍니다. 청산과 동일진입이 동시 발생하면 다시 청산되므로 청산은 시초가에 진입신호는 첫봉 종가에 발생하게 작성해 드립니다. 사용하시는 주기의 첫봉 완성이후에 적용하셔야 합니다. input : 오버(1000); input : 시작(91900); input : 유격(30); Input: n(2); Var: vv(0); if NextBarSdate != sDate Then { if MarketPosition != 0 Then { ExitLong("bx1",AtMarket); ExitShort("sx1",AtMarket); } } if Bdate != Bdate[1] Then { if 오버 > 0 Then { Buy("b1",OnClose,DEf,오버); } if 오버 < 0 Then { Sell("s1",OnClose,DEf,오버); } } if sTime >= 시작 and sTime <= 150000 Then { if Index%n == 0 Then { if VV > 0 Then { if MarketPosition <= 0 Then { Buy("b",OnClose,DEf,abs(VV)); } if MarketPosition == 1 Then { if CurrentContracts >= abs(VV)+유격 Then ExitLong("bx",OnClose,DEf,"",abs(CurrentContracts-abs(VV)),2); if CurrentContracts <= abs(VV)-유격 Then Buy("bb",OnClose,DEf,abs(CurrentContracts-abs(VV))); } } if VV < 0 Then { if MarketPosition >= 0 Then { Sell("s",OnClose,DEf,abs(VV)); } if MarketPosition == -1 Then { if CurrentContracts >= abs(VV)+유격 Then ExitShort("sx",OnClose,DEf,"",abs(CurrentContracts-abs(VV)),2); if CurrentContracts <= abs(VV)-유격 Then Sell("ss",OnClose,DEf,abs(CurrentContracts-abs(VV))); } } } } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : Re : Re : 수식 문의 > 그러니까, 5분봉으로 돌린다고 할 때, 시스템으로 첫봉에(즉, 9시 5분에) 모든 포지션들 청산하고, 입력한 포지션 갯수를 사라고 수식을 짜 둔 상태에서 예스트레이더를 9시 20분쯤 켜서, 9시 29분 이후부터 정상매매 하고 싶은데, 이게 가능한가요? 감사합니다, > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 > 안녕하세요 예스스탁입니다. 1 올려주신 내용은 첫봉의 시가나 종가에 신호수량(CurrentContracts)을 실제잔고수량과 맞추는 부분인데 해당 부분은 실세신호는 발생하지만 주문은 가능하지 않게 해야 CurrentContracts와 실제 수량이 일치가 될수 있는데 자동매매 상태에서 신호만 발생하고 주문은 집행하지 않을 방법이 없습니다. 또한 해당 수량이 당일뿐 아니라 차트 과거일의 첫봉에 모두 동일하게 적용이 되어 이후 신호에 모두 영향을 주게 됩니다. 해당 부분에 대해서는 별도로 수정해 드릴 방법을 모르겠습니다. 해당 내용에 대해서는 별도로 아이디어가 없어 제외하고 작성해 드립니다. 2 input : 시작(91900); input : 유격(30); Input: n(2); Var: vv(0); if sTime >= 시작 and sTime <= 150000 Then { if Index%n == 0 Then { if VV > 0 Then { if MarketPosition <= 0 Then { Buy("b",OnClose,DEf,abs(VV)); } if MarketPosition == 1 Then { if CurrentContracts >= abs(VV)+유격 Then ExitLong("bx",OnClose,DEf,"",abs(CurrentContracts-abs(VV)),2); if CurrentContracts <= abs(VV)-유격 Then Buy("bb",OnClose,DEf,abs(CurrentContracts-abs(VV))); } } if VV < 0 Then { if MarketPosition >= 0 Then { Sell("s",OnClose,DEf,abs(VV)); } if MarketPosition == -1 Then { if CurrentContracts >= abs(VV)+유격 Then ExitShort("sx",OnClose,DEf,"",abs(CurrentContracts-abs(VV)),2); if CurrentContracts <= abs(VV)-유격 Then Sell("ss",OnClose,DEf,abs(CurrentContracts-abs(VV))); } } } } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 수식 문의 > 안녕하세요? 수식 문의 드립니다. 감사합니다.