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

 

다른 사람들은 거래 내역에 액세스 할 때 보류중인 주문 및 포지션과 완전히 혼동되었습니다.

보류 중인 주문이 트리거되어 위치로 이동하고 성공적으로 마감된 경우(거래), 주문 또는 위치로 히스토리 캐시에 어떻게 저장됩니까?

그에게 연락하는 방법? 포지셔닝하는 방법? 또는 상태를 통해 주문하는 방법?

 
vladzeit :

다른 사람들은 거래 내역에 액세스 할 때 보류중인 주문 및 포지션과 완전히 혼동되었습니다.

보류 중인 주문이 트리거되어 위치로 이동하고 성공적으로 마감된 경우(거래), 주문 또는 위치로 히스토리 캐시에 어떻게 저장됩니까?

그에게 연락하는 방법? 포지셔닝하는 방법? 또는 상태를 통해 주문하는 방법?

문서의 섹션을 공부하면 도움이 될 것입니다.

먼저 주문, 거래에 들어간 다음 포지션에 들어갑니다. 또한, 더 많은 오더와 딜이 들어오는 계정이고 반대 방향으로 오더가 끝나면 기존 포지션과 같은 랏으로 딜이 있고 포지션은 없습니다. 마감되었으며 기록에 없습니다. 이 위치를 생성, 변경 및 마감한 주문과 거래만 있습니다. 그러나 그들은 모두 위치 ID로 상호 연결되어 있습니다.
Документация по MQL5: Торговые функции / HistorySelectByPosition
Документация по MQL5: Торговые функции / HistorySelectByPosition
  • www.mql5.com
Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть  в закладке "История" на панели "Инструменты" клиентского терминала. Функция...
 

4758

이익 또는 마진 값을 계산하지 못했습니다.


그것을 고치는 방법??

 
Alexey Viktorov :

문서의 섹션을 공부하면 도움이 될 것입니다.

먼저 주문, 거래에 들어간 다음 포지션에 들어갑니다. 또한, 더 많은 오더와 딜이 들어오는 계정이고 반대 방향으로 오더가 끝나면 기존 포지션과 동일한 랏으로 딜이 있고 포지션은 없습니다. 마감되었으며 기록에 없습니다. 이 위치를 생성, 변경 및 마감한 주문과 거래만 있습니다. 그러나 그들은 모두 위치 ID로 상호 연결되어 있습니다.

알렉세이. 나는 입문서를 읽었지만 당신은 어떻게 든 거기에 쓰여진 것보다 더 간단하게 자신의 말로 모든 것을 설명했습니다 ... 모든 것이 이해할 수 있고 이해할 수 있습니다. 고맙습니다)

 
vladzeit :

알렉세이. 나는 입문서를 읽었 지만 당신은 어떻게 든 거기에 쓰여진 것보다 더 간단하게 자신의 말로 모든 것을 설명했습니다 ... 모든 것이 이해할 수 있고 이해할 수 있습니다. 고맙습니다)

물론이죠.




그러나 나는 읽기가 아니라 "섹션을 배운다"고 말했다. 이 모든 것이 여기에 기록되어 있지만 이 섹션의 다양한 기능에 대한 설명 전체에 흩어져 있습니다. 이것은 입문서가 아니라 문서일 뿐입니다. 더 많은 기사가 있습니다. 확실히 그들 중 하나는 그것에 대해 뭔가가 있습니다.

 
Alexey Viktorov :
물론이죠.




그러나 나는 읽기가 아니라 "섹션을 배운다"고 말했다. 이 모든 것이 여기에 기록되어 있지만 이 섹션의 다양한 기능에 대한 설명 전체에 흩어져 있습니다. 이것은 입문서가 아니라 문서일 뿐입니다. 더 많은 기사가 있습니다. 확실히 그들 중 하나는 그것에 대해 뭔가가 있습니다.

예). 당신 말이 맞아요. 단순히 읽는 것이 아니라 현재 관심을 불러일으키는 것이 무엇인지 공부해야 할 것입니다. 그러나 나는 분명히 작동 알고리즘의 형태로 구현 된 일종의 빠른 실제 결과를 얻으려는 감정과 열망을 따릅니다.

mql5에서 이 협소한 작업을 해결하는 데 필요한 것만 얻으려고 하고 있습니다... 결과적으로 교육에 확고한 격차가 있습니다)

익숙한 글자는 이미 떨어지는 것 같지만 여전히 단어와 문장을 합치고 싶지 않습니다.)

또한 예제와 연습 문제가 있는 교과서가 없고, 이미 프로그래밍 경험이 있고 기본적으로 자신만의 구문만 설명한다는 점에서 도움말이 설계되어 있기 때문에 어렵습니다.

물론 포럼에는 많은 정보가 있지만 mql5의 새로운 변경 사항으로 인해 모든 것이 매우 파편화되고 때로는 신뢰할 수 없습니다.

아마 mql4에 익숙해지기 시작했어야 했는데... 분명히 더 많은 교육 자료가 있고, 이미 기본 경험과 아이디어를 얻은 다음 mql5로 전환하고 차이점을 연구합니다.

나는 부분적으로 이것을 하고, mql4의 예제를 위해 올라가서 유추에 의해 5번째에서 그것들을 구현하려고 합니다. 그러나 때로는 일부 기능과 원리의 근본적인 차이로 인해 더 많은 혼란을 야기합니다.)))

독학하신 분들은 다 겪으시는 것 같습니다.)

물론 위에서 말한 내용을 고려할 것입니다. 어쨌든 시도 할 것입니다)

 

터미널을 업데이트 한 후 고문은 수집을 중단했습니다.

실수

'INIT_FAILED' - expression not boolean  

무엇이 문제가 될 수 있습니까?

 //+------------------------------------------------------------------+
//| Lots or risk in percent for a deal from a free margin            |
//+------------------------------------------------------------------+
bool LotsOrRisk( const double lots, const double risk, const int digits_adjust)
  {
   if (lots< 0.0 && risk< 0.0 )
     {
       Print ( __FUNCTION__ , ",ERROR: Parameter(\"lots\" or \"risk\") can't be less than zero" );
       return ( false );
     }
   if (lots== 0.0 && risk== 0.0 )
     {
       Print ( __FUNCTION__ , ", ERROR: Trade is impossible: You have set \"lots\" == 0.0 and \"risk\" == 0.0" );
       return ( false );
     }
   if (lots> 0.0 && risk> 0.0 )
     {
       Print ( __FUNCTION__ , ", ERROR: Trade is impossible: You have set \"lots\" > 0.0 and \"risk\" > 0.0" );
       return ( false );
     }
   if (lots> 0.0 )
     {
       string err_text= "" ;
       if (!CheckVolumeValue(lots,err_text))
        {
         Print ( __FUNCTION__ , ", ERROR: " ,err_text);
         return ( false );
        }
     }
   else if (risk> 0.0 )
     {
       if (m_money!= NULL )
         delete m_money;
      m_money= new CMoneyFixedMargin;
       if (m_money!= NULL )
        {
         if (!m_money.Init( GetPointer (m_symbol), Period (),m_symbol. Point ()*digits_adjust))
             return ( INIT_FAILED );
         m_money.Percent(risk);
        }
       else
        {
         Print ( __FUNCTION__ , ", ERROR: Object CMoneyFixedMargin is NULL" );
         return ( INIT_FAILED );
        }
     }
//---
   return ( true );
  }
//+------------------------------------------------------------------+

컴파일러는 이 함수에 대해 불평합니다.

 return ( INIT_FAILED );
 
ilvic :

터미널을 업데이트 한 후 고문은 수집을 중단했습니다.

실수

무엇이 문제가 될 수 있습니까?

컴파일러는 이 함수에 대해 불평합니다.

LottesOrRisk() 함수는 bool로 선언됩니다. 따라서 OR true 또는 false만 반환할 수 있습니다.

 
Juer :

분명히 내 하드웨어가 여기에 더 책임이 있습니다 ... 그리고 시스템입니다.

시스템을 win10으로 업데이트하고 불량 섹터의 현지화로 디스크를 확인했습니다. 글쎄, 그것은 아마도 SSD에서 업데이트하는 것입니다.

또한 10분 이상 컴파일됩니다. 그래도 컴파일 시간이 너무 오래 걸리는 것은 어쩐지 비정상...

 
안녕하세요.
표시기가 차트에 입력 매개변수를 넣을 수 있습니까? 기성품 예가 있습니까?
사유: