커뮤니티

수식문의

프로필 이미지
에구머니
2023-09-01 10:35:12
932
글번호 172005
답변완료
안녕하세요? 수식 부탁드립니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-09-01 09:50:12

안녕하세요 예스스탁입니다. 초기 정배열,역배열 진입은 반대 배열발생시까지 유지가 되어야 하므로 수식내 추가진입분에 대해서만 평단가 계산해서 추가진입된 수량만 청산되게 작성해 드립니다. 손절되면 이후 반대 배열까지 추가진입은 되지 않습니다. input : P1(10),P2(30),P3(100); Input: gap(1), n1(2), n2(1), 익절(5), 손절(10); var : mav1(0),mav2(0),mav3(0); var : vol(0),hh(0),ll(0); var : bvsum(0),bpsum(0),bavg(0),bloss(False); var : svsum(0),spsum(0),savg(0),sloss(False); mav1 = ma(C,P1); mav2 = ma(C,P2); mav3 = ma(C,P3); Condition1 = mav1 > mav2 and mav2 > mav3; Condition2 = mav1 < mav2 and mav2 < mav3; if MarketPosition <= 0 and Condition1 == true and Condition1[1] == False Then Buy("b",OnClose,Def,n1); if MarketPosition >= 0 and Condition2 == true and Condition2[1] == False Then Sell("s",OnClose,Def,n2); if MarketPosition == 1 Then { if CurrentContracts < CurrentContracts[1] Then { hh = h; bvsum = 0; bpsum = 0; Bavg = 0; if LatestExitName(0) == "bl" Then { bloss = true; } } if h > hh then hh = h; vol = n1+ Floor((HH-C)/Gap)*n1; if bavg > 0 Then { ExitLong("bp",AtLimit,bavg*(1+익절/100),"",bvsum,2); ExitLong("bl",AtStop,bavg*(1-손절/100),"",bvsum,2); } if vol > CurrentContracts and CurrentContracts == CurrentContracts[1] and bloss == False Then { Buy("bb",OnClose,Def, vol-CurrentContracts); bvsum = bvsum + (vol-CurrentContracts); bpsum = bpsum + ((vol-CurrentContracts)*c); bavg = bpsum/bvsum; } } Else { hh = h; bvsum = 0; bpsum = 0; Bloss = False; } if MarketPosition == -1 Then { if CurrentContracts < CurrentContracts[1] Then { ll = l; svsum = 0; spsum = 0; savg = 0; if LatestExitName(0) == "sl" Then { sloss = true; } } if l < ll then ll = l; vol = n2+ Floor((C-ll)/Gap)*n2; if savg > 0 Then { ExitShort("sp",AtLimit,savg*(1-익절/100),"",svsum,2); ExitShort("sl",AtStop,savg*(1+손절/100),"",svsum,2); } if vol > CurrentContracts and CurrentContracts == CurrentContracts[1] and sloss == False Then { Sell("ss",OnClose,Def, vol-CurrentContracts); svsum = svsum + (vol-CurrentContracts); spsum = spsum + ((vol-CurrentContracts)*c); savg = spsum/svsum; } } Else { ll = l; svsum = 0; spsum = 0; sloss = False; } 즐거운 하루되세요 > 에구머니 님이 쓴 글입니다. > 제목 : 수식문의 > 안녕하세요? 수식 부탁드립니다. 감사합니다.