예를 들어,
If MarketPosition == 1 AND C > DayOpen + 1 Then
ExitLong("XL_1", AtLimit, DayOpen + 1.7);
If MarketPosition == 1 AND C > DayOpen + 2 Then
ExitLong("XL_2", AtLimit, DayOpen + 2.7);
와 같은 두 AtLimit 수식이 한 시스템 작성 코드 안에 있을 때.
질문1) MarketPosition == 1 AND C == DayOpen + 1.5 인 상황이 되면,
다음 봉에 한해 가격이 DayOpen + 1.7 을 찍으면 첫번째 수식만 실행되는 게 맞나요?
질문2) MarketPosition == 1 AND C == DayOpen + 2.5 이 되고, 그 다음 봉에 가격이 DayOpen + 1.7 을 찍으면, 두번째 주문은 나갈 것 같습니다.
그러면 첫번째 수식은 AtLimit 가격을 이미 많이 지나간 상황이 되는데, 첫번째 주문은 실행이 되나요?
즉, 두번째 주문과 동시에 두 번 작동되어, 매도 2계약이 되는 상황이 발생하나요?
질문3) 이런 식으로 수식이 작성되면, 두 식이 다 의미가 있나요?
아니면 최종적으로 작성한 두번째 수식이 앞에 수식을 대체하게 되나요?
SetStopLoss() 같은 경우에는 두 개가 있으면 앞에 것을 무시하고 맨 마지막 것만으로 실행이 되는 것 같아서 여쭤봅니다.
답변 1
예스스탁
예스스탁 답변
2020-03-16 17:32:25
안녕하세요
예스스탁입니다.
If MarketPosition == 1 AND C > DayOpen + 1 Then
ExitLong("XL_1", AtLimit, DayOpen + 1.7);
If MarketPosition == 1 AND C > DayOpen + 2 Then
ExitLong("XL_2", AtLimit, DayOpen + 2.7);
위 수식은
현재봉 종가가 시초가대비 1포인트 보다 크면
다음봉에서 시초가+1.7 이상의 가격발생하면 청산
현재봉 종가가 시초가대비 2포인트 보다 크면
다음봉에서 시초가+2.7 이상의 가격발생하면 청산
입니다.
1
예 맞습니다.
종가가 시초가+1보다 크고 시초가 +2보다는 작으면 DayOpen + 1.7만 감시합니다.
2
청산은 먼저 만족한 것 하나만 발생합니다.
청산식이 여러개이고 동시에 만족을 해도
작성상 위에 청산신호 하나만 발생합니다.
3
문의하신 내용은 아래와 같이
1번청산은 +1~+2 사이에만, 2번은 +2이상에만 셋팅되어 동작하게 하셔야 합니다.
분할청산을 하는 내용이 아니므로 +2이상에서 동시셋팅되는 것은 의미가 없습니다.
If MarketPosition == 1 AND C > DayOpen + 1 and C < dayopen+2 Then
ExitLong("XL_1", AtLimit, DayOpen + 1.7);
If MarketPosition == 1 AND C > DayOpen + 2 Then
ExitLong("XL_2", AtLimit, DayOpen + 2.7);
4
SetStopLoss와 강제청산은 if문으로 상황에 따라 구별하지 않는한
여러게 셋팅하는 것은 의미가 없습니다.
마지막으로 셋팅된것 하나로 셋팅됩니다.
그러므로 식상 가장 마지막으로 적으신 내용만 의미가 있습니다.
즐거운 하루되세요
> idnotbe 님이 쓴 글입니다.
> 제목 : AtLimit 주문을 두 번 쓰면?
> 예를 들어,
If MarketPosition == 1 AND C > DayOpen + 1 Then
ExitLong("XL_1", AtLimit, DayOpen + 1.7);
If MarketPosition == 1 AND C > DayOpen + 2 Then
ExitLong("XL_2", AtLimit, DayOpen + 2.7);
와 같은 두 AtLimit 수식이 한 시스템 작성 코드 안에 있을 때.
질문1) MarketPosition == 1 AND C == DayOpen + 1.5 인 상황이 되면,
다음 봉에 한해 가격이 DayOpen + 1.7 을 찍으면 첫번째 수식만 실행되는 게 맞나요?
질문2) MarketPosition == 1 AND C == DayOpen + 2.5 이 되고, 그 다음 봉에 가격이 DayOpen + 1.7 을 찍으면, 두번째 주문은 나갈 것 같습니다.
그러면 첫번째 수식은 AtLimit 가격을 이미 많이 지나간 상황이 되는데, 첫번째 주문은 실행이 되나요?
즉, 두번째 주문과 동시에 두 번 작동되어, 매도 2계약이 되는 상황이 발생하나요?
질문3) 이런 식으로 수식이 작성되면, 두 식이 다 의미가 있나요?
아니면 최종적으로 작성한 두번째 수식이 앞에 수식을 대체하게 되나요?
SetStopLoss() 같은 경우에는 두 개가 있으면 앞에 것을 무시하고 맨 마지막 것만으로 실행이 되는 것 같아서 여쭤봅니다.