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

 
costy_ :

내가 전화를받을 때

2013.05.31 13:08:41 임시 직원 (USDUSD,M5) TERMINAL_COMPANY = MetaQuotes Software Corp.

하지만 다른 브로커가 있어야 합니다. 감사합니다.

 AccountInfoString ( ACCOUNT_SERVER )

터미널은 MetaQuotes Software Corp에 속합니다.

브로커 AccountInfoString ( ACCOUNT_SERVER )

 
pako :

터미널은 MetaQuotes Software Corp에 속합니다.

브로커 AccountInfoString ( ACCOUNT_SERVER )

덕분에 아직도 망했습니다.
 

안녕하세요!

다중 통화 표시기를 작성 중입니다. 다음 코드 변경으로 컴파일은 정상적으로 진행되지만 차트에 칠면조를 걸려고 하면 "잘못된 ex5 파일"이 나타납니다. 다른 이름으로 재저장을 시도했습니다. 동일한 것입니다. 문제는 코드에 있지만 컴파일은 정상적으로 진행됩니다.

 //+------------------------------------------------------------------+
//|                                                      Therm02.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+

#include <ST_ServicesAndAbstracts.mqh>

#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link        "http://www.mql5.com"
#property version    "1.00"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 120
#property indicator_buffers 1
#property indicator_plots    2
//--- plot Label1
#property indicator_label1   "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1   clrBlack
#property indicator_style1   STYLE_SOLID
#property indicator_width1   1
//--- indicator buffers
double          gThermB[];

double          gEURThermB[];
double          gCHFThermB[];

CRangeManager  *gEURRM, *gCHFRM;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,gEURThermB, INDICATOR_DATA );
   SetIndexBuffer ( 0 ,gCHFThermB, INDICATOR_DATA );
   gEURRM = new CRangeManager( 1 , 0.2 , 20 , "EURUSD" );
   gCHFRM = new CRangeManager( 1 , 0.2 , 20 , "USDCHF" );
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,       // size of input time series
                 const int prev_calculated,   // bars handled in previous call
                 const datetime & time[],     // Time
                 const double & open[],       // Open
                 const double & high[],       // High
                 const double & low[],         // Low
                 const double & close[],       // Close
                 const long & tick_volume[],   // Tick Volume
                 const long & volume[],       // Real Volume
                 const int & spread[]         // Spread
   )

  {
//---
   double lEUR[], lCHF[];
   int copied;
   copied= CopyClose ( "EURUSD" , PERIOD_CURRENT , 0 , 5000 ,lEUR); 
   if (copied==- 1 ){ Print ( "Ждите...EUR" ); return ( 0 );}
   copied= CopyClose ( "USDCHF" , PERIOD_CURRENT , 0 , 5000 ,lCHF); 
   if (copied==- 1 ){ Print ( "Ждите...CHF" ); return ( 0 );}


   sThermometer lT;
   for ( int i=prev_calculated;i<rates_total;i++)
      {
         lT = gEURRM.getState(lEUR[i]);
         gEURThermB[i] = lT.currentT; 
         
         lT = gEURRM.getState(lCHF[i]);
         gEURThermB[i] = lT.currentT; 
      }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction & trans,
                         const MqlTradeRequest & request,
                         const MqlTradeResult & result)
  {
//---
   
  }
//+------------------------------------------------------------------+

슬픔을 돕는 방법?

고맙습니다!

 
ns_k :

안녕하세요!

다중 통화 표시기를 작성 중입니다. 다음 코드 변경으로 컴파일은 정상적으로 진행되지만 차트에 칠면조를 걸려고 하면 "잘못된 ex5 파일"이 나타납니다. 다른 이름으로 재저장을 시도했습니다. 동일한 것입니다. 문제는 코드에 있지만 컴파일은 정상적으로 진행됩니다.

슬픔을 돕는 방법?

고맙습니다!

컴파일은 오류와 경고 없이 통과합니까? 권리?
 
tol64 :
컴파일은 오류와 경고 없이 통과합니까? 권리?
오류가 없고 경고가 있으며 대부분 사용하지 않는 값과 같이 무해합니다. 사실, 이 표시기 버퍼 양이 필요한 것보다 적습니다. 나는 여기에서 파헤쳐 보려고 한다.

 
ns_k :
오류가 없고 경고가 있으며 대부분 사용하지 않는 값과 같이 무해합니다. 사실, 이 표시기 버퍼 양이 필요한 것보다 적습니다. 나는 여기에서 파헤쳐 보려고 한다.

그렇습니다. 다음은 오류입니다.

 //+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,gEURThermB, INDICATOR_DATA );
   SetIndexBuffer ( 0 ,gCHFThermB, INDICATOR_DATA );
   gEURRM = new CRangeManager( 1 , 0.2 , 20 , "EURUSD" );
   gCHFRM = new CRangeManager( 1 , 0.2 , 20 , "USDCHF" );
//---
   return ( INIT_SUCCEEDED );
  }
빨간색으로 강조 표시됩니다. 1 로 바꿉니다.
 
#property indicator_buffers 1
#property indicator_plots    2
버퍼 수는 플롯 수보다 작을 수 없습니다. 이것은 메시지에서 컴파일러에 의해 보고됩니다.
 
tol64 :

그렇습니다. 다음은 오류입니다.

빨간색으로 강조 표시됩니다. 1 로 바꿉니다.
 #property indicator_buffers 1
#property indicator_plots    2
 Спасибо всем!
 
ns_k :

MT4 Built 500. 경보를 특정 수준으로 설정했는데 작동하며 모든 것이 정상입니다. 경고(공백)를 끄면 일시 중지된 것으로 표시됩니다. 그런 다음 도구가 임계값에 도달하고 경고가 트리거됩니다. 그것은해야한다?

추신. 네, 참고하세요. 먼저 모든 알림을 마우스로 선택하고(6개 있음) 스페이스바를 누르면 모두 일시 중지되었습니다. 하나를 트리거 한 후 이미 공백으로 만 껐는데 여전히 작동합니다.

 

더 부어줄게

 //+------------------------------------------------------------------+
//|                                                      Therm02.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+

//#include <ST_ServicesAndAbstracts.mqh>

#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link        "https://www.mql5.com"
#property version    "1.00"
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 120
#property indicator_buffers 2
#property indicator_plots    2
//--- plot Label1
#property indicator_label1   "Label1"

#property indicator_type1   DRAW_LINE
#property indicator_color1   clrBlack
#property indicator_style1   STYLE_SOLID
#property indicator_width1   1
//--- indicator buffers
double          gThermB[];

double          gEURThermB[];
double          gCHFThermB[];

//CRangeManager  *gEURRM, *gCHFRM;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- indicator buffers mapping
   SetIndexBuffer ( 0 ,gEURThermB, INDICATOR_DATA );
   SetIndexBuffer ( 1 ,gCHFThermB, INDICATOR_DATA );
   //gEURRM = new CRangeManager(1,0.2,20,"EURUSD");
   //gCHFRM = new CRangeManager(1,0.2,20,"USDCHF");
//---
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate ( const int rates_total,       // size of input time series
                 const int prev_calculated,   // bars handled in previous call
                 const datetime & time[],     // Time
                 const double & open[],       // Open
                 const double & high[],       // High
                 const double & low[],         // Low
                 const double & close[],       // Close
                 const long & tick_volume[],   // Tick Volume
                 const long & volume[],       // Real Volume
                 const int & spread[]         // Spread
   )

  {
//---
   double lEUR[], lCHF[];
   int copied;
   // copied=CopyClose("EURUSD",PERIOD_CURRENT,0,5000,lEUR); 
   if (copied==- 1 ){ Print ( "Ждите...EUR" ); return ( 0 );}
   // copied=CopyClose("USDCHF",PERIOD_CURRENT,0,5000,lCHF); 
   if (copied==- 1 ){ Print ( "Ждите...CHF" ); return ( 0 );}


   //sThermometer lT;
   for ( int i=prev_calculated;i< 5000 ;i++)
      {
         //lT = gEURRM.getState(lEUR[i]);
       //  gEURThermB[i] = lT.currentT; 
         
     //    lT = gCHFRM.getState(lCHF[i]);
     //    gCHFThermB[i] = lT.currentT; 
      }
//--- return value of prev_calculated for next call
   return (rates_total);
  }
//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction ( const MqlTradeTransaction & trans,
                         const MqlTradeRequest & request,
                         const MqlTradeResult & result)
  {
//---
   
  }
//+------------------------------------------------------------------+

터미널을 시작할 때 지정된 기호가 선택되지 않은 것을 맹세합니다. 클라우드를 통해 다른 MT5로 드래그 - 작동하며 티커를 사용하여 주석 처리되지 않은 라인이 있습니다.

나는 그 이유의 근원을 찾으려고 노력할 것입니다. 그러나 나는 그러한 방황 오류를 어디서부터 잡아야 할지조차 모릅니다. 터미널을 즉시 다시 정렬할 수 있습니까?

사유: