커뮤니티
매도 수식을 부탁합니다.
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;
즐거운 하루되세요
다음글
이전글