CloseBySequence () - 함수 필요 도움 - MQL5
결과 1 - 9 / 9

실: CloseBySequence () - 함수 필요 도움 - MQL5

  1. #1
    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; }}}

  2. #2

    Quote 원래에 의해 게시 됨 ;
    MQL5 : 시퀀스로 닫기위한 함수를 작성하려고합니다. 컴파일 후 오류는 없지만 실행되지는 않습니다. 나는 이유를 알 수 없었다. 도와 드릴까요? 고맙습니다! 주문 순서별 마감. 즉 거래 1 거래 2가 수익을 올렸습니다. 거래 3을 종료하고 거래 4가 수익을 얻었습니다. 5 6 7 8 9 10을 종료합니다. 거래 1은 가장 작은 주문 번호를 가지고 있으며 가장 빠른 시간에 개설됩니다. 거래 10에는 가장 큰 주문 번호가 있으며 최신 시간에 개설됩니다. void CloseBySequence () {datetime from = 0; datetime = TimeCurrent (); HistorySelect (에서,까지); 더블...
    미국에 계시다면 FIFO 규칙을 고려해 보셨습니까? 거래를 종료하려고 할 때 어떤 오류가 발생했는지 말하지 않았습니다. Print () 문을 추가하여 출력물을 보았습니까?

  3. #3
    안녕 조니, MT4에서 우리는 거래와 계류중인 주문을 나타내는 주문을 가지고 있습니다. MT5에서는 Order, Deals 및 Positions이있는 곳에서 조금 더 준수했습니다. Oder는 브로커의 서버에 대한 요청이며 Market 또는 Pending Order가 될 수 있습니다. 거래는 실행 된 시장 질서 또는 사용 가능한 입찰물가로 트리거 된 보류 주문입니다. 하나의 주문으로 여러 거래가 발생할 수 있습니다 (거래량이 많은 경우). Position은 현재 거래의 총 합계이며, 길거나 짧을 수 있습니다. # 8203; 따라서 MT4와 MT5 간의 주문 처리에는 큰 차이가 있습니다. 시작하려면 다음과 같이하십시오. if (! trade.PositionClose (PositionGetSymbol (x))) 전체 위치를 닫습니다 (모든 거래 종료). 대신 전체 거래가 아닌 특정 거래를 처리해야합니다. 따라서 PositionClose 메서드를 닫고 자하는 거래 티켓 번호를 전달해야합니다. 모든 최고, Khalil

  4. #4

    Quote 원래에 의해 게시 됨 ;
    {인용} - 미국에 계시면서 FIFO 규칙을 고려하셨습니까? 거래를 종료하려고 할 때 어떤 오류가 발생했는지 말하지 않았습니다. Print () 문을 추가하여 출력물을 보았습니까?
    컴파일 후 오류가 없습니다. egy 테스터는 약간의 거래 후에 매달린다. 미국 이외의 버전의 egy 테스터를 사용하고 있습니다. 표시된 오류는 없으며 단지 멈 춥니 다.

  5. #5

    Quote 원래에 의해 게시 됨 ;
    컴파일 후 오류가 발생하지 않습니다. egy 테스터가 멈 춥니 다. 나는 egy 테스터의 헤지 버전을 사용하고있다.
    고마워, 나는 다음과 같은 편집 여전히 같은 문제가 있습니다. 전략 테스터는 약간의 거래 후에 멈춘다. 삽입 코드 이중 이익 = 거래 # 91, x # 93, # 91, # 93, 거래 # 91, x 1 # 93, # 91, # 93 ;; if (profitgt; = Minimum_Profit) {ulong deal_ticket_sym1 = HistoryDealGetTicket ((int) 거래 # 91; x # 93; # 91; 0 # 93; if (! trade.PositionClose (deal_ticket_sym1,9999)) Print (오류 닫기 (쌍 1/2)), IntegerToString (OrderGetTicket (x)), 오류 코드, GetLastError ());

  6. #6

    Quote 원래에 의해 게시 됨 ;
    {quote} 고마워, 나는 다음과 같은 것을 편집했지만 여전히 같은 문제가있다. 전략 테스터는 약간의 거래 후에 멈춘다. 이중 이익 = 거래 [x] [1] 거래 [x 1] [1]; if (profitgt; = Minimum_Profit) {ulong deal_ticket_sym1 = HistoryDealGetTicket ((int) trades [x] [0]); if (! trade.PositionClose (deal_ticket_sym1,9999)) Print (오류 닫기 (쌍 1/2)), IntegerToString (OrderGetTicket (x)), 오류 코드, GetLastError ());
    가장 가능성있는 while 루프의 가치. 각 간격마다 당신이 기대했던 것과 일치하는지 확인 했습니까?

  7. #7
    cyber1 님 덕분에. 너희들은 천재 야! 문제는 루프 중 하나입니다. 하지만 지금은 계속 오류가 발생합니다. 오류 (쌍 1/2) # 0, 오류 코드 4753 닫기 또는 거래 쌍을 잃는 대신 거래 쌍을 잃는 것입니다.

  8. #8

    Quote 원래에 의해 게시 됨 ;
    감사합니다. 너희들은 천재 야! 문제는 루프 중 하나입니다. 하지만 지금은 계속 오류가 발생합니다. 오류 (쌍 1/2) # 0, 오류 코드 4753 닫기 또는 거래 쌍을 잃는 대신 거래 쌍을 잃는 것입니다.
    johnnybegood- 존재하지 않는 주문을 찾고 있습니다 # 0
    https://www.mql5.com/en/docs/constan...ngs/errorcodes

  9. #9

게시 권한

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
쿠키 정책
쿠키 정책: koreaforex 웹사이트는 쿠키를 사용하며, 웹사이트를 사용자는 쿠키 사용에 동의하는 것입니다. 자세한 정보는 '쿠키 공개' 를 읽어주십시오.