커뮤니티

매도 수식을 부탁합니다.

프로필 이미지
bestway
2026-09-28 13:35:45
84
글번호 233748
답변완료

안녕하세요.


매수는 피라미딩 100회 분할로 A 조건에 도달할 시에 여러번에 걸쳐 매수하게 하는데

매도는 아래의 2개의 매도 조건을 분할로 매도하려고 합니다. 매도조건의 수식을 부탁드립니다.


첫번째 매도조건은 최근 분할매수 횟수 20회의 매수가 중 최고가에 대한 수익률 5% (Max (Entryprice *1.05 )) 도달시

총 보유량의 50%를 매도하고, 같은조건이 나타나면 그때의 총 보유량의 50%를 매도한다. 이 방삭으로 계속 매도를 반복한다.

Exitlong ("S1", onclose, def, "",Floor (Currentcontracts*0.5),1) 식으로 해 보았는데 원하는 결과가 나오지 않아 문의드립니다.


두번째 조건은 양봉이 3번이상 연속으로 나올경우인데, 이 경우에는 총보유량의 20%를 매도하고, 같은조건이 나타나면

그때의 총보유량의 20%씩 매도하고, 이 방식으로 계속 매도를 반복한다. 첫번째 매도식과 유사하게 해 보았는데 마찬가지였습니다.


항상 보유량이 0 (Zero)이상 되어도 상관없습니다.


감사합니다.


시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2026-09-29 14:21:10

안녕하세요 예스스탁입니다. 아래식 참고하시기 바랍니다. 최근 20회의 매수가 중 최고가+5%일때 매도는 연속봉에서 계속 발생할 수 있습니다. 진입이후 조건만족하면 1회만 발생하게 작성했습니다. 3회연속 양봉은 양봉이 아니다가 3회 연속 양봉일경우 청산하게 작성했습니다. var : HE(0),cnt(0); if MarketPosition == 1 Then { if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "bx1" Then Condition1 = False; //20회 이상 진입이 피라미딩된 후 if MaxEntries >= 20 Then { //진입발생시 if CurrentContracts > CurrentContracts[1] Then { //최근 20개 진입의 진입가 중 최고가 계산 HE = 0; For cnt = 0 to 19 { if HE == 0 or (HE > 0 and LatestEntryPrice(cnt) > HE) Then HE = LatestEntryPrice(cnt); } Condition1 = true; } //20개 진입 최고가+5%이상 상승시 청산 //진입과 진입사이 1회만 발생 if Condition1 == true and HE > 0 Then ExitLong("bx1",AtLimit,HE*1.05,"",max(1,Floor(CurrentContracts*0.5)),2); } //양봉이 아니었다가 3연속 양봉 발생 if BarsSinceEntry >= 3 and CountIf(C>O,3) == 3 and C[3] <= O[3] Then ExitLong("bx2",OnClose,Def,"",max(1,Floor(CurrentContracts*0.2)),2); } Else HE = 0; 즐거운 하루되세요