MQL 전문가를 위한 질문 - 페이지 10

 
FAQ :
하나의 주문을 열고 개봉 여부를 확인하고 개봉한 경우 두 번째 주문을 수표로 엽니다...

감사합니다, 알아냈어요, 회백질을 조금 움직여야 했어요))) 상황에 따라 다르게 열리는 함수 2개를 작성했습니다. 각각의 끝에 체크를 붙일 것입니다. 별도의 기능) 어떤 주문과 얼마나 많은 주문이 열려 있고 어떤 주문이 충분하지 않을 것인지 다시 엽니다.

leonid553 안녕하세요! 통화와 관련된 스프레드에 대한 주제를 성공적으로 구현했습니다. 다시 한 번 감사드립니다. (오프토픽 죄송합니다)

 

좋은 아침.

문제가 있었습니다. 주어진 악기의 "누적" 위치 크기를 반환하는 함수를 찾을 수 없습니다! 나는 전체 포럼 검색을 삽질했습니다. 그리고 I.KIMA 지점, https://www.mql5.com/en/forum/131859 ​- - 내가 필요한 기능을 제외하고 제비에 따라 다른 기능이 있습니다!

예를 들어 유로로 "구매" 거래가 여러 개 있는 경우 총 규모를 결정하는 방법을 알려주세요.

GetLot (EURUSD, OP_BUY, 매직)

 double GetLot( string sy= "" , int op=- 1 , int mn=- 1 ) {// возвращает сувокупный размер поз.
   double    l=- 1 ;
   int       i, k= OrdersTotal ();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if ( OrderSymbol ()==sy || sy== "" ) {
         if ( OrderType ()==OP_BUY || OrderType ()==OP_SELL) {
           if (op< 0 || OrderType ()==op) {
             if (mn< 0 || OrderMagicNumber ()==mn) {

              I = ------  ???????????
              ------ ????????????
              

            }
          }
        }
      }
    }
  }
  return (l);
}
 

질문이 삭제되었습니다! 찾은 기능:

 //+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает сумму лотов открытых позиций                        |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double GetAmountLotFromOpenPos( string sy= "" , int op=- 1 , int mn=- 1 ) {
   double l= 0 ;
   int     i, k= OrdersTotal ();
 
   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {
       if ( OrderSymbol ()==sy || sy== "" ) {
         if ( OrderType ()==OP_BUY || OrderType ()==OP_SELL) {
           if (op< 0 || OrderType ()==op) {
             if (mn< 0 || OrderMagicNumber ()==mn) {
              l+= OrderLots ();
            }
          }
        }
      }
    }
  }
   return (l);
}
 
그게 아니고)
 

어때요? 그러면 이 f-I는 무엇을 반환합니까?

" 오픈 포지션 의 랏수를 돌려줍니다" - 라고 쓰여있지 않습니까?

https://www.mql5.com/ru/code/9394

 
Rita :

"열린 포지션의 양을 반환합니다" - 쓰여지지 않았나요?

모든 것이 맞습니다. 이것은 결코 포지션의 전체 볼륨 이 아닙니다. 자물쇠를 열고 확인할 수 있습니다.
 

나는 lok를 고려할 필요가 없습니다. 더 정확하게는 다음과 같습니다.

이거 필요해 열린 매도 및 매수 포지션이 여러 개 있는 경우 반대(보상) 포지션을 제거하여 한 방향만 남도록 해야 합니다.

나는 먼저 모든 "구매"의 합계를 계산한 다음 모든 X "마을"의 합계를 계산하고 싶었습니다. 그런 다음 차이를 찾으십시오(즉, 전체 크기가 더 큰 경우). 그리고 이 "차이"를 시장에 남겨두고 모든 카운터를 제거하십시오!

그렇다면 이 GetAmountLotFromOpenPos 함수는 여기에 적합하지 않습니까? 예를 들어 내가 묻는다면

GetAmountLotFromOpenPos(EURUSD,OP_SELL, -1)

-그녀는 모든 매도 포지션의 제비를 나에게 돌려주지 않을 것입니까?

 
Rita :

-그녀는 모든 매도 포지션의 제비를 나에게 돌려주지 않을 것입니까?

죄송합니다. 그렇다면 괜찮습니다. 월요일. 아직 헤드가 완전히 켜지지 않았습니다 :)
 
Rita :

나는 lok를 고려할 필요가 없습니다. 더 정확하게는 다음과 같습니다.

이거 필요해 열린 매도 및 매수 포지션이 여러 개 있는 경우 반대(보상) 포지션을 제거하여 한 방향만 남도록 해야 합니다.

나는 먼저 모든 "구매"의 합계를 계산한 다음 모든 X "마을"의 합계를 계산하고 싶었습니다. 그런 다음 차이를 찾으십시오(즉, 전체 크기가 더 큰 경우). 그리고 이 "차이"를 시장에 남겨두고 모든 카운터를 제거하십시오!

그렇다면 이 GetAmountLotFromOpenPos 함수는 여기에 적합하지 않습니까? 예를 들어 내가 묻는다면

GetAmountLotFromOpenPos(EURUSD,OP_SELL, -1)

-그녀는 모든 매도 포지션의 제비를 나에게 돌려주지 않을 것입니까?

일반적으로:

SummLot = GetAmountLotFromOpenPos("0", OP_BUY, MagicNumber)- GetAmountLotFromOpenPos("0", OP_SELL, MagicNumber);

 
네, "깨끗한" 균형을 잡기 위해 그렇게 했습니다.