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

 
MT4에 기존 거래 로봇이 있고 거래 계정에 연결된 코드를 추가했지만 여전히 작동하지 않습니다. 오류를 던집니다. 우리는 그것을 가능하게 해줄 누군가가 필요합니다. 내 전보   @Starinkov 나는 매우 감사 할 것입니다)))
 

번역이 충실했으면 좋겠지만 분명히 그렇지 않을 것입니다..

Global THREADS가 필요하지 않은 것은 이것과 다른 이유 때문입니다...

그렇지 않으면 지역 포럼이 없을 것입니다 ...

기이한 움직임...

:(

 
안녕하세요! 최적화 속도 를 높이고 M1, M2 등과 같은 짧은 기간에 전략을 최적화하기 위해 24개의 코어가 있는 컴퓨터를 조립했습니다. 나는 프로세스가 주기적으로 멈추고 오랫동안 멈추는 것을 시작하고 봅니다. 나는 그것에 대해 세 장의 사진을 첨부합니다. 오래된 컴퓨터(8코어)에서는 이와 같은 일이 발생하지 않습니다. 더욱이 이러한 제동의 결과로 강력한 컴퓨터를 사용하는 데에는 아무런 이점이 없습니다. 현재 8코어가 24배보다 빠른 결과를 제공한다는 것을 알았습니다. 그리고 저는 프로세스를 10배 가속화하고 싶었습니다. 아마도 어딘가에서 뭔가를 구성해야 합니까? 문제가 될 수있는 것을 아는 사람이 있으면 알려주십시오.
 

안녕하세요.

모든 EA에 포함될 수 있는 범용 포함 파일을 만들고 싶습니다. 그리고 그 문제는 추가 사항 없이 단 하나의 포함으로 제한됩니다. 암호.

문제는 파일이 OnTimer()를 진입점으로 사용하고 있다는 것입니다.

EA(내 인클루드 파일이 연결된)도 OnTimer()를 사용한다면? 해결책이 있습니까?

 

안녕하세요. 나는 Moex 주식 시장에서 거래합니다. 브로커 발견. 위치가 여러 상품에 대해 열려 있는 경우 로봇은 부분 폐쇄 요청을 보낼 때 혼동합니다(예: Magnit 주식에 대한 Sberbank 주식 가격과 함께 요청을 보낼 수 있습니다. 즉, 요청의 상품은 다음과 같습니다. Magnit 및 가격은 Sber에 대해 표시됨) 또는 단순히 요청을 보내지 않습니다. 매수 포지션에 대한 마감 알고리즘 코드(상품 Price_Close_1_Buy 가격에 도달하면 시작됨):

 void Price_Close_1_Buy()
  {

   MqlTradeRequest arequest;
   MqlTradeResult aresult;
   ZeroMemory (arequest);
   ZeroMemory (aresult);

   for ( int i= PositionsTotal ()- 1 ; i>= 0 ; i--)
      {
       if ( Symbol ()== PositionGetSymbol (i))
      {
       arequest.action   = TRADE_ACTION_DEAL ;
       arequest.position = PositionGetTicket (i);
       arequest.symbol   = Symbol ();
       arequest.volume   = NormalizeDouble ((Lots_Close_1/ 100 *Lots_current()), 0 );
       arequest.price    = aposition.PriceCurrent();
       arequest.type_filling = ORDER_FILLING_FOK ;
       arequest.type     = ORDER_TYPE_SELL ;
       Price_Close_1_Buy_Request_Send = true ;
      }
       OrderSend (arequest,aresult);
       Print ( "=================================================================================================== " );
       Print (asymbol.Name());
       Print ( "Price_Close_1_Buy_request() " ,arequest.price);
       Print ( "Lots_Close_1_Buy_request() " ,arequest.volume);
       Print ( "Result " , aresult.comment);
       Print ( "Retcode " ,aresult.retcode);
      }
  }
 
leonerd # :

안녕하세요.

모든 EA에 포함될 수 있는 범용 포함 파일을 만들고 싶습니다. 그리고 그 문제는 추가 사항 없이 단 하나의 포함으로 제한됩니다. 암호.

문제는 파일이 진입점으로 OnTimer()를 사용하고 있다는 것입니다.

EA(내 인클루드 파일이 연결된)도 OnTimer()를 사용한다면? 해결책이 있습니까?

절대 그러지 마세요.

그냥 조언. 나는 설득하지 않을 것이다.

 
Manter84 위치가 여러 상품에 대해 열려 있는 경우 로봇은 부분 폐쇄 요청을 보낼 때 혼동합니다(예: Magnit 주식에 대한 Sberbank 주식 가격과 함께 요청을 보낼 수 있습니다. 즉, 요청의 상품은 다음과 같습니다. Magnit 및 가격은 Sber에 대해 표시됨) 또는 단순히 요청을 보내지 않습니다. 매수 포지션에 대한 마감 알고리즘 코드(상품 Price_Close_1_Buy 가격에 도달하면 시작됨):
가격 문제 - 발굴
aposition.PriceCurrent()
 
Koldun Zloy # :

절대 그러지 마세요.

그냥 조언. 나는 설득하지 않을 것이다.

이것은 프로젝트의 요구 사항입니다.

 

기본 OrderSend()를 재정의하는 방법은 무엇입니까?

 #define OrderSend ( MqlTradeRequest , MqlTradeResult )  MyOrderSend( MqlTradeRequest , MqlTradeResult )

의 한 줄을 추가했습니다 .

MyOrderSend()에서 몇 가지 계산을 수행하고 OrderSend()를 다시 호출합니다. 저것들. 기본 OrderSend()를 호출하고 싶지만 대신 재귀가 발생하고 MyOrderSend()가 다시 호출됩니다.

그리고 이 호출은 ::OrderSend()에도 도움이 되지 않습니다.
 
leonerd 줄 추가했습니다 .

MyOrderSend()에서 몇 가지 계산을 수행하고 OrderSend()를 다시 호출합니다. 기본 OrderSend() 함수를 호출하고 싶지만 대신 재귀가 발생하고 MyOrderSend()가 다시 호출됩니다.

전혀 작동하지 않습니다. #define은 프로그램 코드에서 첫 번째(호출)를 두 번째로 교체합니다. OrderSend(..)는 발생 시마다 MyOrderSend(..)로 교체됩니다.

사유: