커뮤니티

AtLimit 주문을 두 번 쓰면?

프로필 이미지
idnotbe
2020-03-15 02:56:37
149
글번호 136877
답변완료
예를 들어, 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() 같은 경우에는 두 개가 있으면 앞에 것을 무시하고 맨 마지막 것만으로 실행이 되는 것 같아서 여쭤봅니다.