커뮤니티

시스템식 부탁드립니다.

프로필 이미지
양치기
2021-01-17 00:49:50
1254
글번호 145504
답변완료
안녕하세요. 1. 해외선물 10분봉 피라미딩 매매를 하고 싶습니다. 아래와 같이 코딩 되어 있을 경우 if MarketPosition == 0 Then Buy("b",AtLimit,DayOpen-PriceScale*10,1); if MarketPosition == 1 Then { if MaxEntries < 10 Then Buy("bb",AtLimit,DayOpen-(PriceScale*10)*(MaxEntries+1),1); } if MarketPosition == 0 Then sell("s",AtLimit,DayOpen+PriceScale*10,1); if MarketPosition == -1 Then { if MaxEntries < 10 Then sell("ss",AtLimit,DayOpen+(PriceScale*10)*(MaxEntries+1),1); } SetStopProfittarget(PriceScale*10,PointStop); 시스템 설정은 파리미딩의 경우 모든진입신호 허용으로 설정하면 되는 것으로 알고 있습니다. 만약에 당일 매수 포지션이 모두 청산되지 않는 경우 익일 아침에 다시 시스템 운영시 첫진입신호가 매도가 나오면 기존에 가지고 있던 매수 포지션이 청산 되는건가요? 아니면 기존 매수 포지션은 유지되고 신규 매도 포지션이 발생하는건가요? 위 2가지 경우가 아니라면 매수포지션이 청산되기 까지는 신규 포지션 진입이 안되는 건가요? 2. 실제 시스템 운영시 계좌에 전일 매수 포지션이 있는 경우 당일 시스템을 재 운영하면 전일의 매수 포지션이 남아 있음을 인식하고 계속 이어서 매매가 되는 건가요? 3. 만일 전일 매수 포지션을 장 마감전 수기로 청산하였다고 가정할 경우 시스템은 매수 포지션을 유지하고 있는 것으로 인식하여 신규 포지션 진입이 안되는 것 아닌가요?(위와 같이 코딩하였을 경우) 설명 좀 부탁드립니다. 4. 위와 같이 코딩했을 경우 첫번째 포지션 진입이 매도였는데 만약이 가격이 계속 상승하여 가지고 있던 매도 포지션이 하나도 청산되지 않은 경우 [스탑로스가 없는 경우] 전일 포지션은 놔두고 당일 시가 기준으로 다시 매매를 할수 있는 방법은 없는건가요? 만약에 방법이 있다면 시스템수식 부탁드립니다. 6. 문자랑 숫자를 더하는 수식 수정 부탁드립니다. if MaxEntries < 10 and 이펑5 < 이평10 then Sell("S"+NumToStr(maxentries),AtLimit,이평5,1) ; 위와 같이 코딩시 에러가 납니다. 진입계약수를 매도명으로 사용하여 아래와 같이 매도명을 나타내고 싶습니다. 한계약 매도시 "s1" 두계약 매도시 "s2" 세계약 매도시 "s3" 위 수식 수정 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-01-18 13:54:09

안녕하세요 예스스탁입니다. 1 현재 사용하신 시스템은 포지션 청산이 완료되어야 다음진입에 들어가게 됩니다. 각 포지션의 첫진입이 모두 무포지션(MarketPosition == 0)에서만 진입하게 되어 있습니다. 2 시스템은 실제 잔고의 포지션은 알지 못합니다. 차트에 적용되면 차트 첫봉부터 다시 시뮬레이션 되서 신호를 표시하고 실시간봉에서 신호를 이어나가게 됩니다. 그러므로 다음날 다시 접속하면 전일신호를 연결하게 됩니다. 3 수동청산여부는 시스템에서 알지 못합니다. 수동으로 청산해도 차트는 계속 매수포지션이므로 신규로 시작할수 없습니다. 4 해당 내용은 가능한 방법이 없습니다. 5 신호의 이름은 조합으로 지정할수 없습니다. 고정된 이름으로만 가능합니다. 즐거운 하루되세요 > 양치기 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다. > 안녕하세요. 1. 해외선물 10분봉 피라미딩 매매를 하고 싶습니다. 아래와 같이 코딩 되어 있을 경우 if MarketPosition == 0 Then Buy("b",AtLimit,DayOpen-PriceScale*10,1); if MarketPosition == 1 Then { if MaxEntries < 10 Then Buy("bb",AtLimit,DayOpen-(PriceScale*10)*(MaxEntries+1),1); } if MarketPosition == 0 Then sell("s",AtLimit,DayOpen+PriceScale*10,1); if MarketPosition == -1 Then { if MaxEntries < 10 Then sell("ss",AtLimit,DayOpen+(PriceScale*10)*(MaxEntries+1),1); } SetStopProfittarget(PriceScale*10,PointStop); 시스템 설정은 파리미딩의 경우 모든진입신호 허용으로 설정하면 되는 것으로 알고 있습니다. 만약에 당일 매수 포지션이 모두 청산되지 않는 경우 익일 아침에 다시 시스템 운영시 첫진입신호가 매도가 나오면 기존에 가지고 있던 매수 포지션이 청산 되는건가요? 아니면 기존 매수 포지션은 유지되고 신규 매도 포지션이 발생하는건가요? 위 2가지 경우가 아니라면 매수포지션이 청산되기 까지는 신규 포지션 진입이 안되는 건가요? 2. 실제 시스템 운영시 계좌에 전일 매수 포지션이 있는 경우 당일 시스템을 재 운영하면 전일의 매수 포지션이 남아 있음을 인식하고 계속 이어서 매매가 되는 건가요? 3. 만일 전일 매수 포지션을 장 마감전 수기로 청산하였다고 가정할 경우 시스템은 매수 포지션을 유지하고 있는 것으로 인식하여 신규 포지션 진입이 안되는 것 아닌가요?(위와 같이 코딩하였을 경우) 설명 좀 부탁드립니다. 4. 위와 같이 코딩했을 경우 첫번째 포지션 진입이 매도였는데 만약이 가격이 계속 상승하여 가지고 있던 매도 포지션이 하나도 청산되지 않은 경우 [스탑로스가 없는 경우] 전일 포지션은 놔두고 당일 시가 기준으로 다시 매매를 할수 있는 방법은 없는건가요? 만약에 방법이 있다면 시스템수식 부탁드립니다. 6. 문자랑 숫자를 더하는 수식 수정 부탁드립니다. if MaxEntries < 10 and 이펑5 < 이평10 then Sell("S"+NumToStr(maxentries),AtLimit,이평5,1) ; 위와 같이 코딩시 에러가 납니다. 진입계약수를 매도명으로 사용하여 아래와 같이 매도명을 나타내고 싶습니다. 한계약 매도시 "s1" 두계약 매도시 "s2" 세계약 매도시 "s3" 위 수식 수정 부탁드립니다. 감사합니다.