첨부 이미지
그림1
수고하십니다
일전에 주신 답변이 많은 도움이되어 로직을 짜고 있는데....
막혀서 해결이 되지 않는 부분이 있습니다
도움 부탁드립니다
제가 원하는건 (매수의 경우 예시)
최초 진입신호시 1계약을 진입하고
1. 일정틱수[추가진입]만큼 하락하였을때 1계약을 추가 진입합니다
2. 2계약 진입 후 평균단가 대비 [손절]설정 틱에서 손절 또는
3. 2계약 진입 후 평균단가 대비 [익절]설정 틱만큼 상승시 1계약 청산으로 1계약 수익확보 후
4. 나머지 1계약은 계속 가져가다가 최고점 대비 [수익감소]틱 만큼 하락시 강제청산
5. 또는 1계약 수익확보를 못한 상태에서 [익절]틱수 만큼 상승을 하지 못했더라도) [최소수익]틱수 이상 상승하였다가 하락할 시 고점대비 [수익감소]틱 만큼 하락시 모든계약 강제청산 입니다
근데 제가 아래와 같이 만든걸 적용해보면 굉장히 짧은 틱수에서 청산이 되어버리는 경우만 발생하고 추가진입이나 수익확보같은 일들이 일어나질 않습니다
이유를 모르겠습니다
부탁드립니다
if MarketPosition == 1 and
MaxContracts == 1 Then
Buy("매수추가",AtLimit,LatestEntryPrice - PriceScale*추가진입,1);
//최신진입가 대비 추가진입틱수 만큼 하락시 1계약 매수추가 진입
if CurrentContracts == MaxContracts Then
ExitLong("매수1청",AtStop,avgEntryPrice + PriceScale*익절,"",1,1);
//평균진입가 대비 익절틱수 만큼 상승하면 1계약 수익확보 청산
If CurrentContracts == MaxContracts Then
ExitLong("매수손절",AtStop,AvgEntryPrice-PriceScale*손절);
//지정한 손절틱수이하 하락하면 전량청산
If MaxContractsHeld == 1 or 2 and
marketposition == 1 and Highest(H,0) >= 최소수익 Then
ExitLong("B+Ieast",AtStop,Highest(H,0) - 수익감소);
//현 포지션이 1 또는 2계약 매수일때 최소수익틱수를 상향돌파했다가 고점보다 수익감소틱수만큼 내려오면 모든계약 강제청산
답변 2
예스스탁
예스스탁 답변
2021-09-16 13:47:10
안녕하세요
예스스탁입니다.
추가진입을 하는 시스템식은
적용하실때 시스템 트레이딩 설정창의 피라미딩 탭에서
피라미딩을 설정하셔야 추가진입이 발생합니다.
기본설정이 피라미딩을 안함으로 되어 있어
수식에서 추가진입이 있어도 발생하지 않습니다.
if MarketPosition == 1 Then
{
if MaxContracts == 1 Then
Buy("b",AtLimit,LatestEntryPrice-PriceScale*추가진입,1);
if MaxContracts == 2 Then
{
if CurrentContracts == MaxContracts Then
{
ExitLong("매수1청",AtStop,AvgEntryPrice+PriceScale*익절,"",1,1);
ExitLong("매수손절",AtStop,AvgEntryPrice-PriceScale*손절);
}
}
ExitLong("B+Ieast",AtStop,Highest(H,BarsSinceEntry)-수익감소*PriceScale);
}
즐거운 하루되세요
> 인내로다 님이 쓴 글입니다.
> 제목 : 수고하십니다~~~또 도움 받고자 여쭤봅니다
> 수고하십니다
일전에 주신 답변이 많은 도움이되어 로직을 짜고 있는데....
막혀서 해결이 되지 않는 부분이 있습니다
도움 부탁드립니다
제가 원하는건 (매수의 경우 예시)
최초 진입신호시 1계약을 진입하고
1. 일정틱수[추가진입]만큼 하락하였을때 1계약을 추가 진입합니다
2. 2계약 진입 후 평균단가 대비 [손절]설정 틱에서 손절 또는
3. 2계약 진입 후 평균단가 대비 [익절]설정 틱만큼 상승시 1계약 청산으로 1계약 수익확보 후
4. 나머지 1계약은 계속 가져가다가 최고점 대비 [수익감소]틱 만큼 하락시 강제청산
5. 또는 1계약 수익확보를 못한 상태에서 [익절]틱수 만큼 상승을 하지 못했더라도) [최소수익]틱수 이상 상승하였다가 하락할 시 고점대비 [수익감소]틱 만큼 하락시 모든계약 강제청산 입니다
근데 제가 아래와 같이 만든걸 적용해보면 굉장히 짧은 틱수에서 청산이 되어버리는 경우만 발생하고 추가진입이나 수익확보같은 일들이 일어나질 않습니다
이유를 모르겠습니다
부탁드립니다
if MarketPosition == 1 and
MaxContracts == 1 Then
Buy("매수추가",AtLimit,LatestEntryPrice - PriceScale*추가진입,1);
//최신진입가 대비 추가진입틱수 만큼 하락시 1계약 매수추가 진입
if CurrentContracts == MaxContracts Then
ExitLong("매수1청",AtStop,avgEntryPrice + PriceScale*익절,"",1,1);
//평균진입가 대비 익절틱수 만큼 상승하면 1계약 수익확보 청산
If CurrentContracts == MaxContracts Then
ExitLong("매수손절",AtStop,AvgEntryPrice-PriceScale*손절);
//지정한 손절틱수이하 하락하면 전량청산
If MaxContractsHeld == 1 or 2 and
marketposition == 1 and Highest(H,0) >= 최소수익 Then
ExitLong("B+Ieast",AtStop,Highest(H,0) - 수익감소);
//현 포지션이 1 또는 2계약 매수일때 최소수익틱수를 상향돌파했다가 고점보다 수익감소틱수만큼 내려오면 모든계약 강제청산