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

 
gumgum :

물론 디포 기능이 없고 수익만 있는게 아쉽네요

1.#INF를 제공합니다.

서비스 데스크가 쓴...

그리고 점 뒤의 0은 이렇게 쓰는 것이 운명이 아닙니다.
 double pro= AccountInfoDouble ( ACCOUNT_BALANCE )/ 10000. 0 ;
 
sergey1294 :
그리고 점 뒤의 0은 이렇게 쓰는 것이 운명이 아닙니다.

예, 모두 동일한 1.#INF를 작성합니다.

10. 10.0 차이가 없는듯

 
gumgum :

예, 모두 동일한 1.#INF를 작성합니다.

10. 10.0 차이가 없는듯

방금 표현을 확인했습니다

 double pro= AccountInfoDouble ( ACCOUNT_BALANCE )/ 10000 .; 
или 
double pro= AccountInfoDouble ( ACCOUNT_BALANCE )/ 10000.0 ;

오류 없음, 모든 것이 잘 작동합니다.

 2010.08 . 07 22 : 27 : 13      проверка (EURUSD,M5)    pro = 0.5929100000000001
 
sergey1294 :

방금 표현을 확인했습니다

오류 없음, 모든 것이 잘 작동합니다.

물론 모든 것이 잘되고 모든 것이 잘 될 것입니다!

두 개의 라이브러리를 사용합니다.... 전체 상황을 설명하지는 않겠습니다.

 
gumgum :

물론 모든 것이 잘되고 모든 것이 잘 될 것입니다!

두 개의 라이브러리를 사용합니다.... 전체 상황을 설명하지는 않겠습니다.

그럼 왜 오류가 나는지 물어보세요. 예를 들어 말씀하신 표현에는 오류가 없고, 오류는 다른 것이 있다는 뜻입니다.
 
sergey1294 :
그럼 왜 오류가 나는지 물어보세요. 예를 들어 말씀하신 표현에는 오류가 없고, 오류는 다른 것이 있다는 뜻입니다.
나는 묻지 않았다.)
 
gumgum :
나는 묻지 않았다.)

당신은 당신의 게시물을 어떻게 이해합니까?

Жадь конечно что нет функции депо и прибыли просто у меня

double pro= AccountInfoDouble ( ACCOUNT_BALANCE )/ 10000 .;

дает 1 . #INF. 

Сервисдеск уже написал... 
 
sergey1294 :

당신은 당신의 게시물을 어떻게 이해합니까?

질문을 어디에서 보았습니까? (이제 질문))))
 
gumgum :
질문을 어디에서 보았습니까? (이제 질문))))
질문이 아니었다면 문제 해결에 도움을 드려 죄송합니다.
 

나는 하나의 전략을 테스트하기로 결정했다. 그런데 테스터의 전문가가 어쩐지 이상하게 행동하기 시작했다.

오랫동안 생각합니다. 알고리즘은 거의 스캘퍼이지만. ;)


그래서 확인하기로 했고 어떤 데이터가 입력으로 수신되나요?

소박한 전문가 고문 출시 -

input bool diskret=false;  // работать по открытию бара?

input bool File=true;
MqlTradeRequest mReq;
MqlTradeResult mRez;
int handle1,handle2;
double iBuffer1[],iBu1[];
double iBuffer2[],iBu2[];
double vol[22],OTS;
MqlDateTime newT,oldT;
datetime newTT,oldTT;

string FName;

int hF;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--------------Set default vaules for all new order requests
   mReq.action=TRADE_ACTION_DEAL;
   mReq.magic=777;
   mReq.symbol=Symbol();                 // Trade symbol
   mReq.deviation=3;                     // Maximal possible deviation from the requested price
   mReq.type_filling=ORDER_FILLING_AON;  // Order execution type
   mReq.type_time=ORDER_TIME_GTC;        // Order execution time
   mReq.comment="MAMASKHA_"+IntegerToString(PeriodSeconds()/60,2);
//----------------------- Set Volume pi
    Print ("----- Start init ---");
   
   oldTT=TimeCurrent()+51;TimeToStruct(oldTT,oldT);
   oldTT-=oldT.hour; oldTT-=oldT.min;
   printf("%02d.%02d.%4d %2d:%2d   %3d",oldT.day,oldT.mon,
          oldT.year,oldT.hour,oldT.min,
          SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL));
   StringConcatenate(FName,mReq.comment,"_",oldT.year,"x",oldT.mon,"x",
         oldT.day,"_",oldT.hour,"_",oldT.min,".csv");
   if (File) {hF=FileOpen(FName, FILE_WRITE|FILE_CSV|FILE_COMMON);
              if (hF<-1) Print ("Ошибка открытия файла ",FName," ",
                            GetLastError());
              if (File) FileWrite(hF,oldT.day,oldT.mon,
                   oldT.year,oldT.hour,oldT.min,"I"
                );
               Print ("Start on ",FName);   
              }
   Print ("Start ",mReq.comment);                              
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   if (File) FileClose(hF);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {   

   bool poz=true;

   int i,per=PeriodSeconds();

   MqlTick tick;
   //------------------
   if(!SymbolInfoTick(Symbol(),tick))
     {
      Print("Failed to get Symbol info!",per);
      return;
     }
   
   newTT=tick.time;
   if(newTT<=oldTT+per+1)
       {if (diskret)return;}
   else
   {
     
      MqlRates rates[];
      
     int copied=CopyRates(Symbol(),0,0,1,rates);
     if(copied<=0)
        Print("Ошибка копирования ценовых данных ",GetLastError());
        else oldTT=rates[0].time;
          
      
      TimeToStruct(oldTT,oldT);
      printf("%02d.%02d.%4d %2d:%2d",oldT.day,oldT.mon,
                  oldT.year,oldT.hour,oldT.min);
      TimeToStruct(newTT,newT);
      printf(" New %02d.%02d.%4d %2d:%2d",newT.day,newT.mon,
                  newT.year,newT.hour,newT.min);            
      if (File) FileWrite(hF,oldT.day,oldT.mon,
                   oldT.year,oldT.hour,oldT.min,"I",
                tick.ask,tick.bid,tick.last,tick.volume);
    }
   

   return;
  }

이상한 로그를 얻었습니다. 데이터 기간의 차이에 대한 이유를 누가 알려줄까요?

그리고 한 가지 더 - 생성해야 할 파일(xp2sp)이 디렉토리에 없습니다.

나를 깨우쳐 줘. 그렇지 않으면 오랫동안 MT5를 들여다 보지 않았고 지금은 완전히 길을 잃었습니다 ...

:(