MQL5 :
시퀀스를 닫는 함수를 작성하려고합니다.
컴파일 후 오류는 없지만 실행되지는 않습니다.
나는 이유를 알 수 없었다. 도와 드릴까요?
고맙습니다!
주문 순서별 마감.


거래 1 거래 2가 수익을 올렸습니다.
거래 3 거래 4가 수익을 올렸습니다.

5 6
7 8
9 10
등등 ...
거래 1은 가장 작은 주문 번호를 가지고 있으며 가장 빠른 시간에 영업을 시작합니다.
거래 10에는 가장 큰 주문 번호가 있으며 최신 시간에 개설됩니다.

삽입 된 코드 void CloseBySequence () {datetime from = 0; datetime = TimeCurrent (); HistorySelect (에서,까지); double Minimum_Profit = 5.00; ulong 티켓; uint x; 이중 거래 # 91; # 93; # 91; 2 # 93 ;; uint total = HistoryDealsTotal (); if (totalgt; 1) {ArrayResize (trades, total); (trades # 91; x # 93; # 91; 0 # 93; = HistoryDealGetInteger (x = total-1; xgt; = 0; x--) (티켓, DEAL_ORDER); = HistoryDealGetDouble (티켓, DEAL_PROFIT) HistoryDealGetDouble (티켓, DEAL_COMMISSION) HistoryDealGetDouble (티켓, DEAL_SWAP); }} ArraySort (trades); x = 0; (xlt; total-1) (이중 이익 = 거래 # 91, x # 93, # 91, # 93, 거래 # 91, x 1 # 93, # 91; if (! trade.PositionClose (PositionGetSymbol (x))) Print (오류 닫는 중 (오류가 발생했습니다.)) (if (profitgt; = Minimum_Profit) {if (HistoryDealSelect (int) trade # 91; x # 93; # 91; 0 # 93; Deal 1/2), IntegerToString (OrderGetTicket (x)), 오류 코드, GetLastError ()); if (! trade.PositionClose (PositionGetSymbol (x))) Print (오류 닫힘 (거래 2/2)) # (HistoryDealSelect ((int) trades # 91; x 1 # 93; # 91; 0 # 93; , IntegerToString (OrderGetTicket (x)), 오류 코드, GetLastError ()); } x = 2; }}}