초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 1005

 

보류 중인 설정 요청을 여기에 보냅니다. 그러나 거래일이 끝날 때 만료되지 않습니다. ORDER_TIME_SPECIFIED_DAY 시도도 도움이 되지 않습니다. 무엇이 문제일 수 있습니까?\

 MqlTradeRequest   request = { 0 };
         request.action = TRADE_ACTION_PENDING ;
         request.symbol = _Symbol ;
         request.volume = Lot;
         request.price  = high(Quant_Bars); 
         request.sl     = sl;
         request.tp     = tp;
         request.type   = ORDER_TYPE_BUY_STOP ; 
         request.expiration = ORDER_TIME_DAY ;
         request.magic = magicN;
MqlTradeResult result = { 0 };

if ( OrderSend (request,result))
    {
     Print ( "Ордер успешно отправлен, ошибок нет =  " , GetLastError ());
    } else
       {
         Print ( "Не удалось отправить запрос, ошибка = " , GetLastError ());
       }
 

기능 TrendLineVisible - 표준 CCurve 클래스 에서 - 회귀선입니까?

이 선을 차트에 완전히 떨어지고 잘리지 않게 하려면 어떻게 해야 합니까?


 

여기 에서 ... 위치는 방법으로만 선택되어야 한다고 말하는 이유는 무엇입니까?   고르다   또는   인덱스별 선택 ,

SelectByTicket 메서드도 작동한다면 ?

 

ArrayPrint 함수를 알아내는 데 도움을 주세요 . 배열의 마지막 100개 요소 와 처음 100개와 마지막 100개 요소를 얻고 싶습니다.

               ArrayPrint (arr_P_val_X, 8 , NULL ,Calc_XY- 100 , 100 , ARRAYPRINT_INDEX ); //Ожидаю получить 100 последних элементов, выдает первые
               ArrayPrint (arr_P_val_X, ARRAYPRINT_LIMIT ); //Хочу получить 100 и 100 последний - выдает весь массив - что не так?

Calc_XY - 배열의 요소 수.

 

새로 열린 거래의 티켓을 받는 방법?
CTrade 클래스와 Buy() 함수를 사용하는 경우.

MT4 에서 OrderSend() 함수 는 즉시 티켓을 제공했습니다.



포지션 인덱스로 포지션 티켓을 주는 기능이 있나요?

아니면 먼저 직위를 선택해야 합니까(선택)?

 
multiplicator :

새로 열린 거래의 티켓을 받는 방법?
CTrade 클래스와 Buy() 함수를 사용하는 경우.

MT4 에서 OrderSend() 함수 는 즉시 티켓을 제공했습니다.



포지션 인덱스로 포지션 티켓을 주는 기능이 있나요?

아니면 먼저 위치를 선택해야 합니까(선택)?

OnTradeTransaction에서 트랜잭션 유형이 trans.type == TRADE_TRANSACTION_DEAL_ADD인 경우 trans.position 구조에서 티켓을 찾습니다.

 struct MqlTradeTransaction 
  { 
   ulong                          deal;             // Тикет сделки 
   ulong                          order;             // Тикет ордера 
   string                         symbol;           // Имя торгового инструмента 
   ENUM_TRADE_TRANSACTION_TYPE    type;             // Тип торговой транзакции 
   ENUM_ORDER_TYPE                order_type;       // Тип ордера 
   ENUM_ORDER_STATE               order_state;       // Состояние ордера 
   ENUM_DEAL_TYPE                 deal_type;         // Тип сделки 
   ENUM_ORDER_TYPE_TIME           time_type;         // Тип ордера по времени действия 
   datetime                       time_expiration;   // Срок истечения ордера 
   double                         price;             // Цена  
   double                         price_trigger;     // Цена срабатывания стоп-лимитного ордера 
   double                         price_sl;         // Уровень Stop Loss 
   double                         price_tp;         // Уровень Take Profit 
   double                         volume;           // Объем в лотах 
   ulong                          position;         // Тикет позиции 
   ulong                          position_by;       // Тикет встречной позиции 
  };
 
안녕하세요 여러분, 친애하는 포럼 참가자, 중재자, 관리자 등 
MQL5에서 열린 포지션의 총 이익을 계산하는 방법을 알려주세요. MQL4에서는 이에 대한 문제가 없습니다. 게으름으로 여기에 글을 쓰는 것이 아닙니다. 
하지만 구현 방법을 모르기 때문입니다. PositionGetDouble (POSITION_PROFIT)을 사용하여 첫 번째 오픈 포지션에 대해서만 이익을 계산하고, 
나머지는 계산되지 않습니다. 

MQL4에서 OrderProfit()은 모든 주문에 대한 이익을 표시합니다 . 뭔가 놓쳤을 수도... 


죄송합니다. 헤지 계정 유형을 지정하는 것을 잊었습니다.
 
Ramiz Mavludov :
죄송합니다. 헤지 계정 유형을 지정하는 것을 잊었습니다.

문맹 퇴치 과정에 반드시 참석해야 합니다. mql4에서와 마찬가지로 mql5에서도 위치로 작업하기 전에(mql4에서 주문 포함) 위치를 선택해야 합니다. mql4와 달리 mql5에서는 3개의 위치 선택 기능을 기억합니다. 문서에 잘 설명되어 있습니다. 도중에 ... 무례하게 받아들이지 마십시오.

 
Ramiz Mavludov :
죄송합니다. 헤지 계정 유형을 지정하는 것을 잊었습니다.

코드 이전 촛불 분석 3 , CalculatePositions 기능, 전체 이익

 //+------------------------------------------------------------------+
//| Calculate positions Buy and Sell                                 |
//+------------------------------------------------------------------+
void CalculatePositions( int &count_buys, int &count_sells, double &profit)
  {
   count_buys= 0 ;
   count_sells= 0 ;
   profit= 0.0 ;

   for ( int i= PositionsTotal ()- 1 ;i>= 0 ;i--)
       if (m_position.SelectByIndex(i)) // selects the position by index for further access to its properties
         if (m_position. Symbol ()==m_symbol.Name() && m_position.Magic()==m_magic)
           {
            profit+=m_position.Commission()+m_position.Swap()+m_position.Profit();
             if (m_position.PositionType()== POSITION_TYPE_BUY )
               count_buys++;

             if (m_position.PositionType()== POSITION_TYPE_SELL )
               count_sells++;
           }
//---
   return ;
  }

이 기호와 이 Magic'y에 대한 모든 위치를 우회한 후 이익 변수에는 총 이익이 포함됩니다.

 
Vladimir Karputov :

코드 이전 촛불 분석 3 , CalculatePositions 기능, 전체 이익

이 기호와 이 Magic'y에 대한 모든 위치를 우회한 후 이익 변수에는 총 이익이 포함됩니다.

블라디미르 감사합니다.

사유: