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

 
costy_ :
이 버퍼를 덮어쓰지 않고.
그리고 새 셀을 추가하는 논리를 어떻게 상상하십니까?
그래서 구현...
 
artmedia70 :
그리고 새 셀을 추가하는 논리를 어떻게 상상하십니까?
그래서 구현...

그리고 원하는 대로 되지 않습니다.

그렇다면 다시 녹음하겠습니다((.

 //---------------------------------------------------------------------
// функция dIndBuf_In
// для эмуляции индикаторного буфера в любого рода скрипте
// bufIn[] ссылка на созданный ранее буфер  | double mine[]; for(i=0;i=10;i++)dIndBuf_In(mine,i,Close[i]); |
// position - смещение баров
// value - значение присваемое смещением бара
//---------------------------------------------------------------------
double dIndBuf_In( double &bufIn[], int position, double value){
   if ( ArrayIsSeries (bufIn)) ArraySetAsSeries (bufIn,false);
   if ( ArraySize (bufIn)!= Bars + 1 ) ArrayResize (bufIn, Bars + 1 );
   bufIn[ Bars -position]=value;
}
//---------------------------------------------------------------------
// функция dIndBuf_Out 
// для извлечения значений эмуляции индикаторного буфера в любого рода скрипте
// bufIn[] ссылка на созданный ранее буфер  | double mine[]; for(i=0;i=10;i++)dIndBuf_In(mine,i,Close[i]); double x=dIndBuf_Out(mine,i)|
// position - смещение баров
//---------------------------------------------------------------------
double dIndBuf_Out( double bufIn[], int position){
   if ( ArrayIsSeries (bufIn)) ArraySetAsSeries (bufIn,false);
   return (bufIn[ Bars -position]);
}
 
artmedia70 :

:) 여성미가 나타났다...

그리고 재치 경쟁이 시작되었습니다 ...

에... 여러분... :)


>
 
오류 수정에 도움

sanches83 28.10.2011 18:24

모두 좋은 저녁! 이 언어로 아무것도 이해하지 못하기 때문에 문제를 해결할 수 있도록 도와주세요.

상황은 다음과 같습니다.

다음과 같은 코드가 있습니다.


여기에서 파일이 열리고 열려 있지 않은지 확인하면 오류 메시지가 표시됩니다. 메시지를 표시하는 대신 프로그램이 메시지를 다시 열도록 하는 방법을 알려주십시오.

모두 미리 감사드립니다!


while() 루프를 시도하십시오. 여기에서 시청 - https://docs.mql4.com/en/basis/operators/while
 
22333222 :

))

우리는 미소 없이 살지 않습니다.

>
 
drknn :

while() 루프를 시도하십시오. 여기에서 시청 - https://docs.mql4.com/en/basis/operators/while

그렇게

 int handle= 0 ;
while (handle< 1 ){
   handle= FileOpen ( "firstfile.xlsx" , FILE_CSV | FILE_READ | FILE_WRITE , '\t' );
   if (handle< 1 ){
     Alert ( "Ашыпка " , GetLastError ());
     Sleep ( 1000 );
    }
} 
 
그는 경고가 필요하지 않습니다. 코드의 어딘가에 파일이 이미 열려 있지만 닫혀 있지는 않은 것으로 알고 있습니다. 따라서 분명히 파일을 다시 열 수 없으며 그 사람은 경고 창으로 고통받습니다. 비록 내가 틀렸을 수도 있지만 - 나는 텔레파시 클럽의 회원이 아닙니다 :(
 
포럼에서 검색했지만 빠른 해결책을 찾지 못했습니다. 테스터에서 작동하지 않는 동안 문제를 해결하도록 도와주세요. 실생활에서 작동합니다.

고맙습니다.

   if (NewBar() == true)
  {
     int Result = - 1 ;
     while (Result == - 1 )
    {
       if (TotalOpenOrders() < TotalOrders)
      {
         if (TrendDetection() == BULL)
        {
          Result = OrderSend ( Symbol (),OP_BUY,Lots, NormalizeDouble (Ask, Digits ),Slippage, NormalizeDouble (Ask, Digits )-(StopLoss* Point ), NormalizeDouble (Ask, Digits )+(TakeProfit* Point ),OrderComments,Magic, 0 , CLR_NONE ); 
        }
...........................

 

Aaaaaa, 음, 분명합니다. 한 사람이 Excel 파일뿐만 아니라 버전 2007 이상에서 텍스트 모드로 Excel 파일을 열려고 합니다. 파일 확장자는 *.xlsx입니다. 텍스트 파일이 아닙니다. 텍스트로 열려고 시도하면 이 결과가 나타납니다.

이 파일을 Excel에서 다른 이름으로 텍스트 문서로 먼저 저장하고 handle=FileOpen("firstfile.xlsx",FILE_CSV|FILE_READ|FILE_WRITE,'\t'); 새(텍스트) 파일 이름 지정

 
rustein :
포럼에서 검색했지만 빠른 해결책을 찾지 못했습니다. 테스터에서 작동하지 않는 동안 문제를 해결하도록 도와주세요. 실생활에서 작동합니다.

고맙습니다.


당신에게 무엇이 문제인지 말하기 어렵습니다. 코드의 괄호 안에 항상 음수를 넣는 것을 MQL4의 규칙으로 만드십시오. 대괄호가 없으면 때때로 어떤 이유로 오류가 나타납니다.

그러나 extern으로 시작하는 코드 줄에서는 반대로 괄호 안에 음수 값을 사용할 필요가 없습니다. 왜 그렇게 - 나는 모른다.