커뮤니티
문의 드립니다.
2014-04-23 14:36:46
190
글번호 74625
If IsExitName("StopProfittarget",1) == True Then
{
Buy("BS",AtStop,ExitPrice(1)+PriceScale*40,1);
Buy("BL",AtLimit,ExitPrice(1)-PriceScale*40,1);
}
위 구문은 최근 거래가 StopProfittarget 으로 끝나면
매수 예약주문을 하는데 최근에 청산된 가격에서
+40틱 올라가면 매수하거나 -40틱 내려가면 매수하게 만드는 구문입니다.
근데 이상한것이 처음에만 원하는 가격에 매수진입이 되는데
그 이후부터는 자꾸 청산가격에 매수주문을 넣습니다.
이건 왜이러는 걸까요??
예)
StopProfittarget 가격이 500 에서 끝났다.
이후에 시세가 올라서 540에 매수했다. <-여기까지는 정상으로 됩니다.
근데 그 이후부터 갑자기 StopProfittarget 가격이 600으로 끝났는데
바로 600으로 매수가 잡힙니다.
ExitPrice(1)+PriceScale*40
위 구문을 무시하구요...
아무리 봐도 수식에는 문제가 없는데
왜이러는 걸까요??
답변 1
예스스탁 예스스탁 답변
2014-04-24 10:37:26
안녕하세요
예스스탁입니다.
atstop은 현재봉에서 조건충족되면
다음봉에서 시세 조건만족하면 신호가 발생하게 되는데
포지션이 있는 상태에서도 셋팅이 되고
다음봉 미완성시에 청산이 나와 무포지션이 되면 바로 나오게
가격조건충족되면 바로 발생하게 됩니다.
그러므로 포지션이 있는 상태에서는
셋팅이 되지 않도록 아래와 같이 봉완성시에
최종 무포지션임을 확인하고 직전청산이름 확인한후에
진입하게 marketpostion == 0 조건을 추가해 주시면 됩니다.
If MarketPosition == 0 and IsExitName("StopProfittarget",1) == True Then
{
Buy("BS",AtStop,ExitPrice(1)+PriceScale*40,1);
Buy("BL",AtLimit,ExitPrice(1)-PriceScale*40,1);
}
즐거운 하루되세요
> 무결점 님이 쓴 글입니다.
> 제목 : 문의 드립니다.
> If IsExitName("StopProfittarget",1) == True Then
{
Buy("BS",AtStop,ExitPrice(1)+PriceScale*40,1);
Buy("BL",AtLimit,ExitPrice(1)-PriceScale*40,1);
}
위 구문은 최근 거래가 StopProfittarget 으로 끝나면
매수 예약주문을 하는데 최근에 청산된 가격에서
+40틱 올라가면 매수하거나 -40틱 내려가면 매수하게 만드는 구문입니다.
근데 이상한것이 처음에만 원하는 가격에 매수진입이 되는데
그 이후부터는 자꾸 청산가격에 매수주문을 넣습니다.
이건 왜이러는 걸까요??
예)
StopProfittarget 가격이 500 에서 끝났다.
이후에 시세가 올라서 540에 매수했다. <-여기까지는 정상으로 됩니다.
근데 그 이후부터 갑자기 StopProfittarget 가격이 600으로 끝났는데
바로 600으로 매수가 잡힙니다.
ExitPrice(1)+PriceScale*40
위 구문을 무시하구요...
아무리 봐도 수식에는 문제가 없는데
왜이러는 걸까요??
다음글