[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 300

 
costy_:
ohne diesen Puffer zu überschreiben.
Und wie stellen Sie sich die Logik des Hinzufügens einer neuen Zelle vor?
Dann setzen Sie es um...
 
artmedia70:
Und wie stellen Sie sich die Logik des Hinzufügens einer neuen Zelle vor?
Dann setzen Sie es um...

Es funktioniert nicht so, wie ich es möchte).

Wenn das der Fall ist, muss ich ihn neu schreiben ((.

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

:) Das Weibliche kam heraus...

Und es gab einen Witze-Wettbewerb...

Oh... Männer... :)


>
 
Hilfe bei diesem Fehler

10
sanches83 28.10.2011 18:24

Helfen Sie mir, das Problem zu lösen, denn in dieser Sprache macht es keinen Sinn, also appelliere ich an Sie

Die Situation stellt sich wie folgt dar:

Es gibt einen Teil des Codes:


Bitte geben Sie einen Ratschlag, wie man anstelle der Meldung, dass das Programm versucht, die Datei erneut zu öffnen, und so weiter, bis sie geöffnet wird.

Ich danke Ihnen allen im Voraus!


Versuchen Sie die while()-Schleife. Siehe hier - https://docs.mql4.com/ru/basis/operators/while
 
22333222:

))

Wir leben nicht ohne Lächeln.

>
 
drknn:

Versuchen Sie die while()-Schleife. Siehe hier - https://docs.mql4.com/ru/basis/operators/while

Zum Beispiel so.

int handle=0;
while(handle<1){
   handle=FileOpen("firstfile.xlsx",FILE_CSV|FILE_READ|FILE_WRITE,'\t');
   if(handle<1){
     Alert("Ашыпка ",GetLastError());
     Sleep(1000);
    }
} 
 
Er braucht keine Warnung - ich verstehe, dass irgendwo im Code die Datei wahrscheinlich bereits geöffnet, aber nicht geschlossen ist. Das ist wahrscheinlich der Grund, warum die Datei nicht wieder geöffnet werden kann und das Warnfenster ihn stört. Vielleicht irre ich mich aber auch - ich bin kein Mitglied des Telepathenclubs :(
 
Habe das Forum durchsucht, aber keine schnelle Lösung gefunden, helfen Sie das Problem mit, während in Tester nicht funktioniert, im wirklichen Leben tut es.

Ich danke Ihnen.

  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, ich verstehe - der Mann versucht, eine exel-Datei im Textmodus zu öffnen, und zwar nicht irgendeine exel, sondern die Version 2007 und höher. Die Dateierweiterung ist *.xlsx. Es handelt sich nicht um eine Textdatei. Der Versuch, sie als Textdatei zu öffnen, führt zu folgendem Ergebnis

Es kann nicht schaden, diese Datei in eksel als Textdokument unter einem anderen Namen zu speichern und den neuen (Text-)Dateinamen in handle=FileOpen("firstfile.xlsx",FILE_CSV|FILE_READ|FILE_WRITE,'\t') anzugeben; den neuen (Text-)Dateinamen angeben

 
rustein:
Habe das Forum durchsucht, aber keine schnelle Lösung gefunden, helfen Sie das Problem mit, während in Tester nicht funktioniert, im wirklichen Leben tut es.

Danke.


Es ist schwer zu sagen, was das Problem ist. Machen Sie eine Regel in MQL4: Setzen Sie in Ihrem Code immer negative Zahlen in Klammern. Manchmal können Fehler ohne Klammern auftreten.

Allerdings sollte man in Codezeilen, die mit extern beginnen, keine negativen Werte in Klammern setzen. Ich weiß nicht, warum das so ist.