커뮤니티

특정전략의 PositionProfit 문의

프로필 이미지
기사단장
2020-08-13 14:04:40
1318
글번호 141481
답변완료
안녕하세요. 항상 도와주셔서 정말 많은 도움을 받고있습니다. 다름이아니라, 한개의 시스템에 2개의 진입전략을 가지고 운용하고 있습니다. 그중 A전략을 사용하여 손실이 날 경우 다음 전략에서 2배를 매수하는 전략을 아래 수식으로 구현하였습니다. 문제는 이 경우 A전략에서 손실이 난 이후 B전략에서 수익이 나면, 다음 A전략에서 2배를 매수하지 않는 문제가 있습니다.(바로전 B전략에 수익이 났으므로) (A전략손실(50만원) -> B전략수익(100만원) -> A전략진입(50만원: 100만원 진입해야하나 50만 진입)) 혹시 Positionprofit을 매수전략을 구분하여 사용할 수 있을까요? 이해를 돕기 위해 사용중인 전략아래와 같이 발췌하였습니다. #마틴게일 #이전 거래에서 손실 시 2배 배팅을 위한 로직 var : MT(0); MT = 1; if positionprofit(1) <0 then MT = 2; #매수 조건 # 1. A전략: 이전 A전략이 손실을 봤을 시 2배 금액 진입 if stime > 093000 and crossup(ma(C,period),value1) and CsumScore >= Cscore then buy("A전략",Atmarket,DEF,floor((Deposit-entryprice*CurrentContracts)/2*MT/C)); #3. B전략: 동일 금액 진입 if stime > 093000 and crossup(ma(C,period),value3) and BsumScore >= BScore then buy("B전략",Atmarket,DEF,floor((Deposit-entryprice*CurrentContracts)/C));
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-08-13 14:15:50

안녕하세요 예스스탁입니다. 문의하신 내용은 진입명을 지정해서 지정한 이름의 진입이 발생후 청산되었을때만 별도로 손익을 체크하셔야 합니다. var : MT(0); #진입명 "A전략"인 진입이 진입후 청산되면 if IsEntryName("A전략",1) == true and TotalTrades > TotalTrades[1] Then { #MT는 기본값은 1 MT = 1; #손실이었으면 2 if positionprofit(1) < 0 then MT = 2; } #매수 조건 # 1. A전략: 이전 A전략이 손실을 봤을 시 2배 금액 진입 if stime > 093000 and crossup(ma(C,period),value1) and CsumScore >= Cscore then buy("A전략",Atmarket,DEF,floor((Deposit-entryprice*CurrentContracts)/2*MT/C)); #3. B전략: 동일 금액 진입 if stime > 093000 and crossup(ma(C,period),value3) and BsumScore >= BScore then buy("B전략",Atmarket,DEF,floor((Deposit-entryprice*CurrentContracts)/C)); 즐거운 하루되세요 > 기사단장 님이 쓴 글입니다. > 제목 : 특정전략의 PositionProfit 문의 > 안녕하세요. 항상 도와주셔서 정말 많은 도움을 받고있습니다. 다름이아니라, 한개의 시스템에 2개의 진입전략을 가지고 운용하고 있습니다. 그중 A전략을 사용하여 손실이 날 경우 다음 전략에서 2배를 매수하는 전략을 아래 수식으로 구현하였습니다. 문제는 이 경우 A전략에서 손실이 난 이후 B전략에서 수익이 나면, 다음 A전략에서 2배를 매수하지 않는 문제가 있습니다.(바로전 B전략에 수익이 났으므로) (A전략손실(50만원) -> B전략수익(100만원) -> A전략진입(50만원: 100만원 진입해야하나 50만 진입)) 혹시 Positionprofit을 매수전략을 구분하여 사용할 수 있을까요? 이해를 돕기 위해 사용중인 전략아래와 같이 발췌하였습니다. #마틴게일 #이전 거래에서 손실 시 2배 배팅을 위한 로직 var : MT(0); MT = 1; if positionprofit(1) <0 then MT = 2; #매수 조건 # 1. A전략: 이전 A전략이 손실을 봤을 시 2배 금액 진입 if stime > 093000 and crossup(ma(C,period),value1) and CsumScore >= Cscore then buy("A전략",Atmarket,DEF,floor((Deposit-entryprice*CurrentContracts)/2*MT/C)); #3. B전략: 동일 금액 진입 if stime > 093000 and crossup(ma(C,period),value3) and BsumScore >= BScore then buy("B전략",Atmarket,DEF,floor((Deposit-entryprice*CurrentContracts)/C));