커뮤니티

시스템식 부탁드립니다.

프로필 이미지
양치기
2024-07-18 21:55:49
700
글번호 181647
답변완료
항상 도움 주셔서 감사합니다. 시스템식) 종목 : 해외선물 차트 : 5분봉 매수, 매도 포지션 조건 : 외부 변수로 설정 매수진입 : 포지션이 매수인 경우 - 처음 진입(무포지션 일 경우)은 지정가(외부변수로 설정)로 진입하며, 10틱씩 하락할때 마다 추가매수 - 진입 포지션별로 10틱 수익(상승) 발생시 포지션별 익절 매도 조건 : 포지션이 매도인 경우 - 처음 진입(무포지션 일 경우)은 지정가(외부변수로 설정)로 진입하며, 10틱 씩 상승할때 마다 추가매도 - 진입 포지션별로 10틱 수익(하락) 발생시 포지션별 익절 매수/매도시 기타 조건 1. 매수/매도 포지션 방향은 외부변수로 설정 2. 매수/매도 수량은 변수로 설정 3. 처음 포지션 진입가격은 외부변수로 지정 4. 포지션 추가 진입 가격은 매수의 경우 남아 있는 포지션의 가장 최근 진입가격 대비 10틱씩 하락할때마다 추가 매수 5. 포지션 추가 진입 가격은 매도의 경우 남아 있는 포지션의 가장 최근 진입가격 대비 10틱씩 상승할때마다 추가 매도 6. 최대 포지션 진입 횟수는 외부변수로 설정하되 최대 포지션 이내에서만 추가 진입 가능 7. 익절폭은 외부변수(예:10틱)로 설정 8. 포지션 진입은 봉완성 기준이 아닌 가격기준으로 진입 9. 일자가 변경되고 청산되지 않은 포지션이 있는 경우 미청산 포지션이 최대 포지션 이내일 경우 가장 최근 진입가격 대비 10틱씩 변동시 추가 포지션 진입 위와 같은 조건식 코딩 부탁드립니다. 문의1) 위 시스템식에서 선입 선 청산(익절) 방법과 선입 후 청산(익절) 하는 시스템식 부탁드립니다. 문의2) 만약에 1계약씩 여러번 진입 하였을 경우 또는 청산되지 않고 남아 있는 계약이 여러개 있을 경우 가장 마지막 진입가격이나 진입 가격 중 가격 높거나 낮은 진입가격을 알수 있는 방법 좀 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2024-07-19 11:34:36

안녕하세요 예스스탁입니다. 매수는 가격이 10틱씩 낮아질때 매수, 매도는 가격이 10틱씩 높아질때 매도이므로 1번식과 같이 강제청산함수로 익절 지정하면 자동으로 가장 최근 진입부터 청산됩니다. 위와 같은 진입이 아니면 최근진입수량부터 청산되게 작성은 어렵습니다. 2번식은 첫진입부터 청산하게 됩니다. 1 input : 포지션(1);#1:매수, -1:매도 input : 수량(1),첫진입가(375),익절틱수(10),최대진입횟수(10); var : hbp(0),lbp(0),hsp(0),lsp(0); if 포지션 == 1 Then { if MarketPosition == 0 Then { if L > 첫진입가 Then Buy("b",AtLimit,첫진입가,수량); } if MarketPosition == 1 Then { #매수포지션 최고진입가, 최저진입가 if CurrentContracts > CurrentContracts Then { if Hbp == 0 or (hbp > 0 and LatestEntryPrice(0) > hbp) Then hbp = LatestEntryPrice(0); if Lbp == 0 or (lbp > 0 and LatestEntryPrice(0) < lbp) Then lbp = LatestEntryPrice(0); } if MaxEntries < 최대진입횟수 Then Buy("bb",AtLimit,LatestEntryPrice(0)-PriceScale*10,수량); } Else { hbp = 0; lbp = 0; } } if 포지션 == -1 Then { if MarketPosition == 0 Then { if H < 첫진입가 Then Sell("s",AtLimit,첫진입가,수량); } if MarketPosition == -1 Then { #매도포지션 최고진입가, 최저진입가 if CurrentContracts > CurrentContracts Then { if Hsp == 0 or (hsp > 0 and LatestEntryPrice(0) > hsp) Then hsp = LatestEntryPrice(0); if Lsp == 0 or (lsp > 0 and LatestEntryPrice(0) < lsp) Then lsp = LatestEntryPrice(0); } if MaxEntries < 최대진입횟수 Then Sell("ss",AtLimit,LatestEntryPrice(0)-PriceScale*10,수량); } Else { hsp = 0; lsp = 0; } } SetStopProfittarget(PriceScale*익절틱수,PointStop); 2 input : 포지션(1);#1:매수, -1:매도 input : 수량(1),첫진입가(375),익절틱수(10),최대진입횟수(10); var : hbp(0),lbp(0),hsp(0),lsp(0),bb(0),ss(0); if 포지션 == 1 Then { if MarketPosition == 0 Then { if L > 첫진입가 Then Buy("b",AtLimit,첫진입가,수량); } if MarketPosition == 1 Then { #매수포지션 최고진입가, 최저진입가 if CurrentContracts > CurrentContracts Then { if Hbp == 0 or (hbp > 0 and LatestEntryPrice(0) > hbp) Then hbp = LatestEntryPrice(0); if Lbp == 0 or (lbp > 0 and LatestEntryPrice(0) < lbp) Then lbp = LatestEntryPrice(0); } if MaxEntries < 최대진입횟수 Then Buy("bb",AtLimit,LatestEntryPrice(0)-PriceScale*익절틱수,수량); if CurrentContracts > CurrentContracts[1] Then bb = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then bb = LatestExitPrice(0); ExitLong("bx",AtLimit,bb+PriceScale*10,"",수량,1); } Else { hbp = 0; lbp = 0; } } if 포지션 == -1 Then { if MarketPosition == 0 Then { if H < 첫진입가 Then Sell("s",AtLimit,첫진입가,수량); } if MarketPosition == -1 Then { #매도포지션 최고진입가, 최저진입가 if CurrentContracts > CurrentContracts Then { if Hsp == 0 or (hsp > 0 and LatestEntryPrice(0) > hsp) Then hsp = LatestEntryPrice(0); if Lsp == 0 or (lsp > 0 and LatestEntryPrice(0) < lsp) Then lsp = LatestEntryPrice(0); } if MaxEntries < 최대진입횟수 Then Sell("ss",AtLimit,LatestEntryPrice(0)-PriceScale*익절틱수,수량); if CurrentContracts > CurrentContracts[1] Then ss = LatestEntryPrice(0); if CurrentContracts < CurrentContracts[1] Then ss = LatestExitPrice(0); ExitShort("sx",AtLimit,ss-PriceScale*10,"",수량,1); } Else { hsp = 0; lsp = 0; } } 즐거운 하루되세요 > 양치기 님이 쓴 글입니다. > 제목 : 시스템식 부탁드립니다. > 항상 도움 주셔서 감사합니다. 시스템식) 종목 : 해외선물 차트 : 5분봉 매수, 매도 포지션 조건 : 외부 변수로 설정 매수진입 : 포지션이 매수인 경우 - 처음 진입(무포지션 일 경우)은 지정가(외부변수로 설정)로 진입하며, 10틱씩 하락할때 마다 추가매수 - 진입 포지션별로 10틱 수익(상승) 발생시 포지션별 익절 매도 조건 : 포지션이 매도인 경우 - 처음 진입(무포지션 일 경우)은 지정가(외부변수로 설정)로 진입하며, 10틱 씩 상승할때 마다 추가매도 - 진입 포지션별로 10틱 수익(하락) 발생시 포지션별 익절 매수/매도시 기타 조건 1. 매수/매도 포지션 방향은 외부변수로 설정 2. 매수/매도 수량은 변수로 설정 3. 처음 포지션 진입가격은 외부변수로 지정 4. 포지션 추가 진입 가격은 매수의 경우 남아 있는 포지션의 가장 최근 진입가격 대비 10틱씩 하락할때마다 추가 매수 5. 포지션 추가 진입 가격은 매도의 경우 남아 있는 포지션의 가장 최근 진입가격 대비 10틱씩 상승할때마다 추가 매도 6. 최대 포지션 진입 횟수는 외부변수로 설정하되 최대 포지션 이내에서만 추가 진입 가능 7. 익절폭은 외부변수(예:10틱)로 설정 8. 포지션 진입은 봉완성 기준이 아닌 가격기준으로 진입 9. 일자가 변경되고 청산되지 않은 포지션이 있는 경우 미청산 포지션이 최대 포지션 이내일 경우 가장 최근 진입가격 대비 10틱씩 변동시 추가 포지션 진입 위와 같은 조건식 코딩 부탁드립니다. 문의1) 위 시스템식에서 선입 선 청산(익절) 방법과 선입 후 청산(익절) 하는 시스템식 부탁드립니다. 문의2) 만약에 1계약씩 여러번 진입 하였을 경우 또는 청산되지 않고 남아 있는 계약이 여러개 있을 경우 가장 마지막 진입가격이나 진입 가격 중 가격 높거나 낮은 진입가격을 알수 있는 방법 좀 부탁드립니다. 감사합니다.