오류, 버그, 질문 - 페이지 1916

 

서비스 데스크가 요청에 응답하지 않는 이유는 무엇입니까? 대기 메시지가 나타납니다: " 귀하의 신청서가 검토를 위해 승인되었습니다" 그리고 그것이 전부입니다. 침묵. 코멘트도, 질문도, 결과도 없습니다. 지난 한 달 동안 나는 이미 버그와 제안에 대한 다양한 주제에 대한 그런 응용 프로그램을 많이 보유하고 있습니다. 하는 사람이 있는지 없는지는 불명. 이전에는 항상 대화 형식이 있었지만 지금은 무엇인지 명확하지 않습니다. 아무도 그것을 필요로하지 않기 때문에 거기에 쓰는 것이 합리적입니다.

 

전문가가 설치되지 않은 다른 차트에서 이벤트를 가져오는 방법은 무엇입니까?

추신. 내가 다 결정했는데 방송메세지를 보내야 한다는 걸 깜빡했어))
 

개발자에게 요청합니다.

그런 농담이 있습니다. 습관적으로 MT4에서와 같이 최적화 후 시작을 누르고 어드바이저에서 몇 가지 매개변수를 변경합니다.

문제는 그 전에 몇 시간 동안 전략을 테스트하고 최적화에서 전환하지 않으면 결과가 사라집니다.

MT4에서와 같이 최적화가 끝날 때 단일 테스트의 매개변수가 선택되도록 할 수 있습니까?

미리 감사드립니다.

 
시각화 의 전략 테스터 에서 현재 기록은 거래 또는 주문으로 전환할 때까지 늦게 열리며(두 번째 거래부터 시작), 또는 1-2 거래 후에 업데이트됩니다.
 
Anton Ohmat :
시각화 의 전략 테스터 에서 현재 기록은 거래 또는 주문으로 전환할 때까지 늦게 열리며(두 번째 거래부터 시작), 또는 1-2 거래 후에 업데이트됩니다.

되감기 속도에서 최대 속도에서 3단계를 뺀 값을 설정합니다. 또한 차트에 "설명"을 표시하고 있을 것입니다. "설명"은 항상 최대에 가까운 되감기 속도로 테스터의 정보 업데이트를 중지합니다.


 
Anton Ohmat :
시각화 의 전략 테스터 에서 현재 기록은 거래 또는 주문으로 전환할 때까지 늦게 열리며(두 번째 거래부터 시작), 또는 1-2 거래 후에 업데이트됩니다.

애플리케이션이 SD에 매달려 있습니다( 응답 없음 ).

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

오류, 버그, 질문

fxsaber , 2017.06.07 22:33

히스토리(스피드 슬라이더 - 최대)에서 디버깅할 때 거래 환경의 GUI가 현실과 일치하지 않음
 #include <Trade\Trade.mqh>

input int Interval = 3600 ;
input int AmountLastDeals = 5 ;
input double Lots = 1 ;

double CorrectLot( const double Lot )
{
   static const double StepVol = SymbolInfoDouble ( _Symbol , SYMBOL_VOLUME_STEP );
   static const double MaxVol = SymbolInfoDouble ( _Symbol , SYMBOL_VOLUME_MAX );
   static const double MinVol = SymbolInfoDouble ( _Symbol , SYMBOL_VOLUME_MIN );
  
   const double Vol = StepVol * ( int )(Lot / StepVol + 0.5 );
  
   return ((Vol < MinVol) ? MinVol : ((Vol > MaxVol) ? MaxVol : Vol));
}

void OnTick ()
{
   static CTrade Trade;
   static CDealInfo Deal;
   static CPositionInfo Position; 

   if (!Position.Select( _Symbol ))
  {
     if ( HistorySelect ( 0 , TimeCurrent ()))
    {
       const int Total = HistoryDealsTotal () - 1 ;

       double SumProfit = 0 ;
       double SumLots = 0 ;

       for ( int i = Total, Count = 0 ; (i >= 0 ) && (Count < AmountLastDeals); i--)
         if (Deal.SelectByIndex(i) && (Deal.Entry() == DEAL_ENTRY_OUT ))
        {        
          SumProfit += Deal.Profit() * (AmountLastDeals - Count) / AmountLastDeals;
          SumLots += Deal. Volume () * (AmountLastDeals - Count) / AmountLastDeals;
          
          Count++;
        }

       if (Total == 2 )
      {
         string Str;
        
         for ( int i = Total; i >= 0 ; i--)
           if (Deal.SelectByIndex(i))
             Print (Deal.FormatDeal(Str));
        
         DebugBreak ();
      }

       if ((Total >= 0 ) && Deal.SelectByIndex(Total) && (Deal.DealType() == DEAL_TYPE_SELL ))
        Trade.Sell((SumProfit >= 0 ) ? Lots : CorrectLot(SumLots));
       else
        Trade.Buy((SumProfit >= 0 ) ? Lots : CorrectLot(SumLots));
    }       
  }
   else if ( TimeCurrent () - Position. Time () >= Interval)
    Trade.PositionClose( _Symbol );
}
DebugBreak 시 로그
2017.06.07 23:29:03.554 EURUSD : real ticks begin from 2017.04.10 00:00:00
2017.06.07 23:29:03.564 2017.04.10 00:00:00   instant buy 1.00 EURUSD at 1.05918 (1.05885 / 1.05918)
2017.06.07 23:29:03.564 2017.04.10 00:00:00   deal #2 buy 1.00 EURUSD at 1.05918 done (based on order #2)
2017.06.07 23:29:03.564 2017.04.10 00:00:00   deal performed [#2 buy 1.00 EURUSD at 1.05918]
2017.06.07 23:29:03.564 2017.04.10 00:00:00   order performed buy 1.00 at 1.05918 [#2 buy 1.00 EURUSD at 1.05918]
2017.06.07 23:29:03.566 2017.04.10 00:00:00   CTrade::OrderSend: instant buy 1.00 EURUSD at 1.05918 [done at 1.05918]
2017.06.07 23:29:03.569 2017.04.10 01:00:00   instant sell 1.00 EURUSD at 1.05833 (1.05833 / 1.05845 / 1.05831)
2017.06.07 23:29:03.569 2017.04.10 01:00:00   deal #3 sell 1.00 EURUSD at 1.05833 done (based on order #3)
2017.06.07 23:29:03.569 2017.04.10 01:00:00   deal performed [#3 sell 1.00 EURUSD at 1.05833]
2017.06.07 23:29:03.569 2017.04.10 01:00:00   order performed sell 1.00 at 1.05833 [#3 sell 1.00 EURUSD at 1.05833]
2017.06.07 23:29:03.570 2017.04.10 01:00:00   CTrade::OrderSend: instant sell 1.00 EURUSD at 1.05833 [done at 1.05833]
2017.06.07 23:29:03.570 2017.04.10 01:00:00   #3 sell 1.00 EURUSD at 1.05833
2017.06.07 23:29:03.570 2017.04.10 01:00:00   #2 buy 1.00 EURUSD at 1.05918
2017.06.07 23:29:03.570 2017.04.10 01:00:00   CSymbolInfo::CheckMarketWatch: Unknown symbol ''
2017.06.07 23:29:03.570 2017.04.10 01:00:00   #1 balance 100000.00 []
화면


마지막 거래는 GUI에 표시되지 않습니다. 1596-1606에 의해 재생산.

 
fxsaber :

SD에 응용 프로그램이 있습니다

비주얼 테스터의 최고 속도 슬라이더에서는 진실을 찾지 말라는 말이 여러 번 있습니다. Gui는 100% 막혔고 많은 구성 요소(주로 시트 컨트롤)를 업데이트할 수 없습니다.
 
Slava :
비주얼 테스터의 최고 속도 슬라이더에서는 진실을 찾지 말라는 말이 여러 번 있습니다. Gui는 100% 막혔고 많은 구성 요소(주로 시트 컨트롤)를 업데이트할 수 없습니다.

SD에서는 100% 재생으로 디버깅하는 것에 대해 이야기하고 있습니다.

 
Slava :
비주얼 테스터의 최고 속도 슬라이더에서는 진실을 찾지 말라는 말이 여러 번 있습니다. Gui는 100% 막혔고 많은 구성 요소(주로 시트 컨트롤)를 업데이트할 수 없습니다.
속도는 최대가 아닙니다. 일시 중지 중입니다. 이것은 f12를 누를 때 발생합니다. 동시에 릴리스 f12 - 여전히 아무 일도 일어나지 않음 - 기록이 업데이트되지 않음
 
Anton Ohmat :
속도는 최대가 아닙니다. 일시 중지 중입니다. 이것은 f12를 누를 때 발생합니다. 동시에 릴리스 f12 - 여전히 아무 일도 일어나지 않음 - 기록이 업데이트되지 않음

속도를 최대값에서 3단계 뺀 값으로 설정하십시오. 그렇지 않으면 인터페이스 업데이트가 보장되지 않습니다.