본문 바로가기

EA 교육자료

OrderModify() 활용 EA실전코딩

3-2. OrderModify() 활용

OrderModify()함수는 오픈되어 있는 오더의 속성을 변경하는 역할을 합니다. 일부 선물사의 경우, OrderSend()함수의 ‘손절매’와 ‘이익실현’ 설정기능을 제한하고 있습니다. 그렇기 때문에 OrderSend()함수로 오더 오픈 시 ‘손절매’와 ‘이익실현’은 ‘0’’으로 두고, OrderModify()함수를 사용하여 ‘손절매’와 ‘이익실현’ 값을 넣어주게 됩니다. 아래에는 OrderModify()함수를 구성하는 속성에 대한 설명입니다.

3-2-1. OrderModify()함수 구조

bool  OrderModify(
   int        ticket,      // 오더티켓번호
   double     price,       // 가격
   double     stoploss,    // 손절매
   double     takeprofit,  // 이익실현
   datetime   expiration,  // 지정가주문유효기간
   color      arrow_color  // 색상
   );

3-2-2OrderModify()함수 작성법
[표기]
OrderModify(ticket,price,stoploss,takeprofit,expiration,arrow_color)
[해석]
OrderModify(오더티켓번호,가격,손절매,이익실현,지정가주문유효기간,오더색상)

3-2-3OrderModify()함수 속성 상세설명

a. 오더티켓번호(ticket)

변경 할 오더의 티켓번호를 넣습니다. 특정 오더를 지정하는 경우가 아니라면OrderTicket()함수를 사용합니다.

b. 가격(price)

지정가오더만 사용되며, 일반시장가 오더는 OrderOpenPrice()가 사용됩니다.

c. 손절매(stopprofit)

손절매 지점을 핍으로 설정합니다.

d. 이익실현(takeprofit)

이익실현 지점을 핍으로 설정합니다.

e. 지정가주문유효기간(expiration)

오픈된 지정가주문(pending order)을 취소할 때 사용합니다. 현재 대부분의 trade server에서 받아들이지 않는 기능이므로, ‘0’으로 두고 사용하면 됩니다. 

f. 색상(color)

해당 오더를 챠트 상에서 색깔로 표시합니다.