초보라... 부디 부탁 좀 드리겠습니다 ㅠ
​
진입1 : 60일 신고가에 진입 (진입수량 100주로 기본 설정)
진입2 : 진입1을 한 상태에서, 이전 진입가격*1.1 (10% 상승) 할때마다 계속 진입 (이전 진입 물량 * 0.9)
진입3 : 진입2을 한 상태에서, 이전 진입가격*1.1 (10% 상승) 할때마다 계속 진입 (이전 진입 물량 * 0.9)​
진입4 : 진입3를 한 상태에서, 이전 진입가격*1.1 (10% 상승) 할때마다 계속 진입 (이전 진입 물량 * 0.9)​
​
​
청산1 : 개별 진입 별로 청산선이 개별로, 진입가 - n*atr(20)보다 하락하면 손절하도록.
예시) 청산1 : 종가가 진입1의 진입 가격 - n*atr(20) 보다 하락하면 손절 (진입1때 진입한 물량 손절)
청산2 : 종가가 진입2의 진입 가격 - n*atr(20) 보다 하락하면 손절(진입2때 진입한 물량 손절)
청산3 : 종가가 진입3의 진입 가격 - n*atr(20) 보다 하락하면 손절(진입3때 진입한 물량 손절)​
청산4 : 종가가 진입4의 진입 가격 - n*atr(20) 보다 하락하면 손절(진입4때 진입한 물량 손절)​
​
답변 1
예스스탁
예스스탁 답변
2023-03-07 13:23:01
안녕하세요
예스스탁입니다.
1
진입별로 청산을 동작하기 위해서는 강제청산 함수를 이용하셔야 합니다.
식상 진입횟수도 유동적이고 가격도 다르므로 일반청산함수로 구현이 어렵습니다.
또한 진행중에 계속 진입별로 atr값을 셋팅할수 없습니다.
아래식의 첫진입시점의 atr*n값을 기준으로 이후 모든 진입에 적용됩니다.
적용시 피라미딩은 모든진입신호 허용으로 설정하고 적용하시면 됩니다.
2
input : n(1.5);
var : vol(0);
if MarketPosition == 0 Then
{
Buy("b",AtStop,highest(H,60)+PriceScale*1,100);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
vol = CurrentContracts-CurrentContracts[1];
Buy("bb",AtStop,LatestEntryPrice(0)*1.10,Floor(vol*0.9));
}
Else
SetStopLoss(n*ATr(20),PointStop);
즐거운 하루되세요
> 루라라라 님이 쓴 글입니다.
> 제목 : 안녕하세요 수식 부탁 좀 드리겠습니다 ㅠ
> 초보라... 부디 부탁 좀 드리겠습니다 ㅠ
​
진입1 : 60일 신고가에 진입 (진입수량 100주로 기본 설정)
진입2 : 진입1을 한 상태에서, 이전 진입가격*1.1 (10% 상승) 할때마다 계속 진입 (이전 진입 물량 * 0.9)
진입3 : 진입2을 한 상태에서, 이전 진입가격*1.1 (10% 상승) 할때마다 계속 진입 (이전 진입 물량 * 0.9)​
진입4 : 진입3를 한 상태에서, 이전 진입가격*1.1 (10% 상승) 할때마다 계속 진입 (이전 진입 물량 * 0.9)​
​
​
청산1 : 개별 진입 별로 청산선이 개별로, 진입가 - n*atr(20)보다 하락하면 손절하도록.
예시) 청산1 : 종가가 진입1의 진입 가격 - n*atr(20) 보다 하락하면 손절 (진입1때 진입한 물량 손절)
청산2 : 종가가 진입2의 진입 가격 - n*atr(20) 보다 하락하면 손절(진입2때 진입한 물량 손절)
청산3 : 종가가 진입3의 진입 가격 - n*atr(20) 보다 하락하면 손절(진입3때 진입한 물량 손절)​
청산4 : 종가가 진입4의 진입 가격 - n*atr(20) 보다 하락하면 손절(진입4때 진입한 물량 손절)​
​