[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 300

 
costy_:
senza sovrascrivere questo buffer.
E come immaginate la logica dell'aggiunta di una nuova cella?
Allora implementalo...
 
artmedia70:
E come immaginate la logica dell'aggiunta di una nuova cella?
Allora implementalo...

Non sta funzionando come vorrei).

Dovrò riscriverlo, se questo è il caso ((.

//---------------------------------------------------------------------
// функция 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:

:) Il femminile è uscito...

E c'era un concorso di battute...

Oh... uomini... :)


>
 
Aiuto con questo errore

10
sanches83 28.10.2011 18:24

Buona sera a tutti! Aiutate a risolvere il problema, perché in questa lingua non ha alcun senso quindi mi appello a voi

La situazione è la seguente:

C'è una parte del codice:


Si prega di consigliare come fare invece di visualizzare un messaggio che il programma sta cercando di aprire di nuovo il file, e così via fino a quando si apre.

Grazie a tutti in anticipo!


Prova il ciclo while(). Vedi qui - https://docs.mql4.com/ru/basis/operators/while
 
22333222:

))

Non viviamo senza sorrisi.

>
 
drknn:

Prova il ciclo while(). Vedi qui - https://docs.mql4.com/ru/basis/operators/while

Come questo.

int handle=0;
while(handle<1){
   handle=FileOpen("firstfile.xlsx",FILE_CSV|FILE_READ|FILE_WRITE,'\t');
   if(handle<1){
     Alert("Ашыпка ",GetLastError());
     Sleep(1000);
    }
} 
 
Non ha bisogno di un avviso - capisco che da qualche parte nel codice, il file è probabilmente già aperto ma non chiuso. Questo è probabilmente il motivo per cui il file non può essere riaperto e la finestra di avviso gli dà fastidio. Forse mi sbaglio però - non sono un membro del club dei telepati :(
 
Hanno cercato nel forum ma non hanno trovato una soluzione rapida, aiutare a risolvere il problema con mentre in tester non funziona, nella vita reale sì.

Grazie.

  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); 
        }
...........................

 

Ahhhhh, vedo - l'uomo sta cercando di aprire un file exel in modalità testo, e non un exel qualsiasi, ma la versione 2007 e superiore. L'estensione del file è *.xlsx. Questo non è un file di testo. Un tentativo di aprirlo come file di testo darà il seguente risultato

Non sarebbe male salvare questo file in eksel come documento di testo con un nome diverso e specificare il nuovo nome del file (di testo) in handle=FileOpen("firstfile.xlsx",FILE_CSV|FILE_READ|FILE_WRITE,'\t'); nella linea handle

 
rustein:
Hanno cercato nel forum ma non hanno trovato una soluzione rapida, aiutare a risolvere il problema con mentre in tester non funziona, nella vita reale sì.

Grazie.


È difficile dire quale sia il problema. Fate una regola in MQL4: mettete sempre i numeri negativi tra parentesi nel vostro codice. A volte possono verificarsi errori senza parentesi.

Anche se non dovreste prendere valori negativi tra parentesi nelle linee di codice che iniziano con extern. Non so perché sia così.

Motivazione: