[아카이브!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 2. - 페이지 246

 
BBSL :

에디는 누구에게도 기분을 상하게 하고 싶지 않다고 말했다

실은 I don't care:D 누군가의 기분을 상하게 해도 바르게 행동할 테니까 이것이 그들의 문제입니다. 그러나 그것은 자신의 이익을 위해 문제를 해결하기 위해 이유를 찾기 시작하고 결국 근절하기위한 것입니다. 그렇지 않으면 문제는 항상
 
Ais :

하나의 파일에서 모든 작업을 수행하는 이유 중 하나 -> https://docs.mql4.com/ru/basis/variables/formal :

"참조로 매개변수를 전달할 수 있습니다. 이 경우 이러한 매개변수를 수정하면 참조로 전달된 호출된 함수의 해당 변수에 영향을 미칩니다. 배열 요소는 참조로 전달할 수 없습니다. 참조 에 의한 매개변수는 하나 내에서만 전달할 수 있습니다 . 모듈, 라이브러리 기능의 경우 이 가능성이 제공되지 않습니다 . "


예, 아마도 이것이 문제 일 것입니다 ...

매개변수 중 하나가 참조로 전달된 배열인 함수가 많이 있습니다...

저것들. 문제를 피하기 위해 프로그램의 다중 파일 구조를 포기할 필요가 있습니다. 다르게 해결할 수 있습니까?

 
Bicus :

여러분, 그런 질문입니다.

테스터에서 어드바이저를 실행 중입니다. EA에는 역사에 대한 참조가 있습니다. 마지막 중 하나, 예를 들어 20개의 마감된 주문이 검색됩니다.

실생활에서는 모든 것이 간단합니다. 주문이 표시되어야 하는 내역에 대한 기간을 지정할 수 있습니다. 따라서 최신 주문은 항상 "상위"에 있습니다. 그러나 테스터에서는 거래가 많을수록 마감된 주문이 많을수록 처리해야 하는 주문 목록이 더 많아지고 고문이 작동하기 시작하는 속도가 느려집니다.

일반적으로 비슷한 문제를 어떻게 해결했습니까?

최신 컴퓨터는 초당 수억 번의 작업을 수행합니다.

컴퓨터가 느려지기 시작하려면 얼마나 많은 거래가 있어야 합니까?

"하드"의 경우 지난 달/반년 동안만 주문을 조회할 조건을 입력할 수 있습니다.

 
eddy :
실은 I don't care:D 누군가의 기분을 상하게 해도 바르게 행동할 테니까 이것이 그들의 문제입니다. 그러나 그것은 자신의 이익을 위해 문제를 해결하기 위해 이유를 찾기 시작하고 결국 근절하기위한 것입니다. 그렇지 않으면 문제는 항상


eddy, 개념이 정확합니다 - 매우 주관적입니다))

한 그룹의 사람들이 어떤 것이 일반적으로 받아 들여지고 옳다고 믿는다면 이것이 이 그룹의 규칙 규범입니다. 이 포럼에 그런 그룹이 있습니다.

자신 만의 세계관이 있다는 것은 좋은 일이지만, 이것에 대해 토론하는 데 시간을 할애하고 더군다나 사람들을 설득하거나 재교육하는 것은 매우 큰 사치입니다))

아이디어의 정확성에 대해 논쟁하면서 자원을 낭비하고 질문이 해결되지 않습니다.

나는 당신을 존중하고 당신 아이디어를 이해하고 프로그래밍으로 돌아갈 것을 제안합니다))

 
tmt0086 :
안녕하세요 =) 방금 고문을 썼습니다.. 조건이 없습니다. GBPUSD 및 EURUSD에서 시작합니다. 따라서 테스트할 때 EURUSD에 있을 때 GBPUSD 주문을 열지 않습니다. 그 반대. 스레드로 설정할 수 있습니까? 주문을 여는 방법.. 데모에서는 모든 것이 정상이지만 테스트할 수는 없습니다.

누군가에게 대답..
 
Sergey_Rogozin :

"어려운" 경우에는 지난 달/반년 동안만 주문 집계가 수행되는 조건을 입력할 수 있습니다.

어떤 조건?

테스터에서 이력을 정렬할 수 없습니다. 마지막 주문은 맨 아래로 떨어집니다. 그것에 도달하려면 전체 스토리를 스크롤해야 합니다.

내가 틀렸어?

 
tmt0086 :

누군가에게 대답..

MT4에는 다중 통화 전략 테스터 가 없습니다.
 
BBSL :


eddy, 개념이 정확합니다 - 매우 주관적입니다))

객관적인 규칙이 있으므로 정확성이 있습니다. 규칙의 중요성과 규칙의 계층도 있습니다. 규칙이 다른 규칙보다 덜 중요하거나 계층적으로 더 낮은 경우 더 중요하거나 더 높은 규칙에 의해 요구되는 경우 무시되어야 합니다. 나는 평생 동안 규칙과 정확성을 연구했습니다.
 
Roman. :

MT4에는 다중 통화 전략 테스터가 없습니다.

어디서 구할 수 있는지 알려주실 수 있나요? MT5에 표시되나요?
 
Bicus :

어떤 조건?

테스터에서 이력을 정렬할 수 없습니다. 마지막 주문은 맨 아래로 떨어집니다. 그것에 도달하려면 전체 스토리를 스크롤해야 합니다.

내가 틀렸어?


아니요. 다음은 추가 작업을 위해 주문 내역 에서 가장 최근에 마감된 주문을 선택하는 예입니다...

 //---Поиск последнего отработавшего ордера для открытия очередной позиции ---
   
   for (orderIndex = (OrdersHistoryTotal() - 1 ); orderIndex >= 0 ; orderIndex--)
   {   
       if (! OrderSelect (orderIndex, SELECT_BY_POS, MODE_HISTORY))
      {
         Print ( "Ошибка при доступе к исторической базе (" , GetLastError (), ")" );
         continue ;
      }
   
       if ((OrderSymbol() != Symbol ()) || (OrderMagicNumber() != MagicNumber))
      {
         continue ;
      }
      
        
   //-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------
if (time<OrderCloseTime())     //(сравниваем его с хранящимся в пероеменной time) 
  {
    time=OrderCloseTime();     //если время закрытия ордера больше - ложим его в переменную
         
         
     
         int lastType = OrderType();
         double lastLots = OrderLots();
         double lastProfit = OrderProfit() + OrderSwap();
.....
.....
.....
사유: