안녕하세요.
지난주에
1. 당일 시초가를 기준으로 1% 상승하면 현재가로 매수 (1일 1회만 매수)
2. 매수가 기준으로 2% 하락하면 현재가로 모든 잔고 손절
3. 당일 (직전)최고가를 추적, 최고가 대비 2% 하락하면 현재가로 모든 잔고 청산(익절)
이런 시스템을 만들고 싶다고 요청드려서 아래와 같은 코드를 받았습니다.
if NextBarSdate != sDate Then
Buy("b1",AtStop,NextBarOpen*1.02);
Else
{
if MarketPosition == 0 and ExitDate(1) != sDate Then
Buy("b2",AtStop,DayOpen*1.02);
}
if MarketPosition == 1 Then
ExitLong("bx",AtStop,DayHigh*0.98);
SetStopLoss(2,PercentStop);
오늘 적용하여 시연을 해보니, 매수와 손절은 잘 작동하나 익절이 작동하지 않는 것 같았습니다. "당일 최고점을 추적하여 최고점 대비 2% 떨어지면 청산" 이 부분이 작동하지 않습니다. 오늘 거래한 종목 중에 덕성이라는 종목이 있었는데, 종일 4~6% 상승을 반복하다가 최종적으로 -3.14%에 청산이 되었습니다. 다른 종목도 대부분 비슷하게 -3% 대에서 청산으로 마무리 되었고요..
만들어주신 수식에 익절 부분이 제대로 되어 있는지 확인 좀 부탁드리겠습니다.
또한 "4. 당일 오후 3시에 보유한 모든 종목의 잔고를 시장가로 청산한다"는 로직도 추가로 요청드리겠습니다.
직접 작성을 해야 하는데, 공부를 이제 막 시작해서 스스로 하기가 아직 좀 어렵네요.
작성해주신 로직을 분석하면서 공부도 하고 있으니 잘 부탁드리겠습니다.
답변 1
예스스탁
예스스탁 답변
2024-02-19 16:35:07
안녕하세요
예스스탁입니다.
1
아래 내용과 같이 당일 최고가-2% 청산은 이미 있습니다.
if MarketPosition == 1 Then
ExitLong("bx",AtStop,DayHigh*0.98);
다만 랭귀지에서 atstop이라는 신호타입은 봉미완성시에 가격조건을 충족하면 즉시 신호가 발생하는데
셋팅되는 가격은 봉완성기준입니다.
즉 봉완성시 완성봉 기준으로 당일최고가-2%를 셋팅하고
다음봉 현재가가 해당 셋팅된 가격이하가 발생하면 즉시 신호가 발생하게 됩니다.
그러므로 분봉 이하 차트주기서 적용하셔야 하며 가급적 낮은 주기에 적용하셔야 합니다.
2
청산함수에 포지션확인하는 내용이 있는데
진입신호가 발생하면 해당봉 완성시부터 셋팅이 됩니다.
진입봉에서도 발생가능하게 포지션확인 if조건은 제외하고 당일청산 추가해 드립니다.
if NextBarSdate != sDate Then
Buy("b1",AtStop,NextBarOpen*1.02);
Else
{
if MarketPosition == 0 and ExitDate(1) != sDate Then
Buy("b2",AtStop,DayOpen*1.02);
}
ExitLong("bx",AtStop,DayHigh*0.98);
SetStopLoss(2,PercentStop);
SetStopEndofday(150000);
즐거운 하루되세요
> mh 님이 쓴 글입니다.
> 제목 : 수식 확인부탁드립니다.
>
안녕하세요.
지난주에
1. 당일 시초가를 기준으로 1% 상승하면 현재가로 매수 (1일 1회만 매수)
2. 매수가 기준으로 2% 하락하면 현재가로 모든 잔고 손절
3. 당일 (직전)최고가를 추적, 최고가 대비 2% 하락하면 현재가로 모든 잔고 청산(익절)
이런 시스템을 만들고 싶다고 요청드려서 아래와 같은 코드를 받았습니다.
if NextBarSdate != sDate Then
Buy("b1",AtStop,NextBarOpen*1.02);
Else
{
if MarketPosition == 0 and ExitDate(1) != sDate Then
Buy("b2",AtStop,DayOpen*1.02);
}
if MarketPosition == 1 Then
ExitLong("bx",AtStop,DayHigh*0.98);
SetStopLoss(2,PercentStop);
오늘 적용하여 시연을 해보니, 매수와 손절은 잘 작동하나 익절이 작동하지 않는 것 같았습니다. "당일 최고점을 추적하여 최고점 대비 2% 떨어지면 청산" 이 부분이 작동하지 않습니다. 오늘 거래한 종목 중에 덕성이라는 종목이 있었는데, 종일 4~6% 상승을 반복하다가 최종적으로 -3.14%에 청산이 되었습니다. 다른 종목도 대부분 비슷하게 -3% 대에서 청산으로 마무리 되었고요..
만들어주신 수식에 익절 부분이 제대로 되어 있는지 확인 좀 부탁드리겠습니다.
또한 "4. 당일 오후 3시에 보유한 모든 종목의 잔고를 시장가로 청산한다"는 로직도 추가로 요청드리겠습니다.
직접 작성을 해야 하는데, 공부를 이제 막 시작해서 스스로 하기가 아직 좀 어렵네요.
작성해주신 로직을 분석하면서 공부도 하고 있으니 잘 부탁드리겠습니다.