critical runtime Error 565 - Seite 2

 
Ich bin nun vollständig auf den 1m OHLC Testmodus umgestiegen. Ich dachte, damit wäre ich dem problem davon gekommen. Allerdings spuckt er bei manchen tests noch den "oninit returned non-zero code 1" aus...

Der test läuft trotzdem weiter. Habt ihr irgendwelche weiteren Ansätze, welche ich verfolgen könnte?

Vielen Dank!

 
steyr6155:
Ich bin nun vollständig auf den 1m OHLC Testmodus umgestiegen. Ich dachte, damit wäre ich dem problem davon gekommen. Allerdings spuckt er bei manchen tests noch den "oninit returned non-zero code 1" aus...

Der test läuft trotzdem weiter. Habt ihr irgendwelche weiteren Ansätze, welche ich verfolgen könnte?

Vielen Dank!

Poste mal den Code von OnInit()
 
Carl Schreiber:
Poste mal den Code von OnInit()
Der Code ist in meinem ersten Beitrag bereits enthalten.

Ein kleines Update. gerade ging der schnelle "nur open Price" modus und nach einem Timeframe wechsel ging der "open price" modus nicht mehr. da wollte ich auf den "1mOHLC" Modus umsteigen und auch dieser funktionierte nicht. Dann wollte ich mir zumindest das system viseull darstellen und dann kam folgender error im Tester:

(Ich habe nichts am code geändert und bin auch bei dem Errorcode völlig überfragt...)




Wenn ich unter den Symbolen nachsehe, steht bei jedem Währungspaar unter Handel: "Nur schließen". Da es keine Custom Symbols sind, kann ich diesen Wert auch nicht ändern...

Ich verstehe das ganz und garnicht:


 
steyr6155:
Der Code ist in meinem ersten Beitrag bereits enthalten.

Ein kleines Update. gerade ging der schnelle "nur open Price" modus und nach einem Timeframe wechsel ging der "open price" modus nicht mehr. da wollte ich auf den "1mOHLC" Modus umsteigen und auch dieser funktionierte nicht. Dann wollte ich mir zumindest das system viseull darstellen und dann kam folgender error im Tester:

(Ich habe nichts am code geändert und bin auch bei dem Errorcode völlig überfragt...)




Wenn ich unter den Symbolen nachsehe, steht bei jedem Währungspaar unter Handel: "Nur schließen". Da es keine Custom Symbols sind, kann ich diesen Wert auch nicht ändern...

Ich verstehe das ganz und garnicht:


Krypto? Wenn so etwas ist schau als erstes mal in die Spezifikationen  (Marktübersicht => Rechtsklick Symbol => Spezifikationen). Ich vermute, dass der Broker da etwas geändert hat
 
steyr6155:
Der Code ist in meinem ersten Beitrag bereits enthalten.

Ein kleines Update. gerade ging der schnelle "nur open Price" modus und nach einem Timeframe wechsel ging der "open price" modus nicht mehr. da wollte ich auf den "1mOHLC" Modus umsteigen und auch dieser funktionierte nicht. Dann wollte ich mir zumindest das system viseull darstellen und dann kam folgender error im Tester:

(Ich habe nichts am code geändert und bin auch bei dem Errorcode völlig überfragt...)




Wenn ich unter den Symbolen nachsehe, steht bei jedem Währungspaar unter Handel: "Nur schließen". Da es keine Custom Symbols sind, kann ich diesen Wert auch nicht ändern...

Ich verstehe das ganz und garnicht:


das bedeutet, das du keine neuen Positionen eröffnen kannst, sondern nur bestehende schliessen. 

Meistens hat das was mit einer Umstellung beim Broker zu tun, frag dort mal nach. Auf Forex ist das eher unüblich. Könnte mir eventuell vorstellen, das du bei IC Australien bist und die haben den Hebel geändert, die haben jetzt alles neu und du hast vergessen dich als professioneller Händler zu registrieren

 

Alles klar, Ich werde den Broker einmal kontaktieren. Habe auf den standard MT5 von mql5.com gewechselt. Hier gab es bisher keine probleme bezüglich dem 10044er Errod .

Wenn ich den "1mOHLC" Testmodus verwende, funktioniert alles reibungslos.

Bei dem "Nur öffnungspreise" modus geht allerdings alles schief (error 565, siehe Bild). Sollte mich aber jetzt nicht in meinen Vorhaben aufhalten. Werde das Problem weiterhin beobachten und ggf. eine Lösung posten oder nocheinmal nachhaken.


Vielen Dank für alles!



 
Poste mal OnInit()
 
int OnInit()
{

  if(TradeSymbols == "CURRENT")  //Override TradeSymbols input variable and use the current chart symbol only
  {
    NumberOfTradeableSymbols = 1;

    ArrayResize(SymbolArray, 1);
    SymbolArray[0] = Symbol();

    Print("EA will process ", SymbolArray[0], " only");
  }
  else
  {
    string TradeSymbolsToUse = "";

    if(TradeSymbols == "ALL")
      TradeSymbolsToUse = AllSymbolsString;
    else
      TradeSymbolsToUse = TradeSymbols;

    //CONVERT TradeSymbolsToUse TO THE STRING ARRAY SymbolArray
    NumberOfTradeableSymbols = StringSplit(TradeSymbolsToUse, '|', SymbolArray);

    Print("EA will process: ", TradeSymbolsToUse);
  }

//RESIZE OPEN TRADE ARRAYS (based on how many symbols are being traded)
  ResizeCoreArrays();

//RESIZE INDICATOR HANDLE ARRAYS
  ResizeIndicatorHandleArrays();

  Print("All arrays sized to accomodate ", NumberOfTradeableSymbols, " symbols");

//INITIALIZE ARAYS
  for(int SymbolLoop = 0; SymbolLoop < NumberOfTradeableSymbols; SymbolLoop++)
  {
    OpenTradeOrderTicket1[SymbolLoop] = 0;
    OpenTradeOrderTicket2[SymbolLoop] = 0;
    sellOrder[SymbolLoop] = 0;
    buyOrder[SymbolLoop] = 0;
    openOrders[SymbolLoop] = 0;
    currentAtr[SymbolLoop] = 0;
    triggerLong1[SymbolLoop] = 0;
    triggerShort1[SymbolLoop] = 0;
    slOldBuy[SymbolLoop] = 0;
    slOldSell[SymbolLoop] = 0;
    tradeOpenTime[SymbolLoop] = 0;
    tradeClosuretime[SymbolLoop]  = 0;
    stoSignalFirstHigh[SymbolLoop] = 0;
    stoSignalSecondHigh[SymbolLoop] = 0;
    stoSignalFirstLow[SymbolLoop] = 0;
    stoSignalSecondLow[SymbolLoop] = 0;
    currentPriceShort[SymbolLoop] = 0;
    positionOpenPrice[SymbolLoop] = 0;
    currentPriceLong[SymbolLoop] = 0;
    firstClose[SymbolLoop] = 0;
    secondClose[SymbolLoop] = 0;
    thirdClose[SymbolLoop] = 0;
    highPrice[SymbolLoop] = 0;
    lowPrice[SymbolLoop] = 0;
    timeStoSignalFirstHigh[SymbolLoop] = 0;
    timeStoSignalFirstLow[SymbolLoop] = 0;
    newM1Bar[SymbolLoop] = 0;
    lastM1Bar[SymbolLoop] = 0;
    newTriggerBar[SymbolLoop]=0;
    lastTriggerBar[SymbolLoop]=0;
  }

//INSTANTIATE INDICATOR HANDLES
  if(!SetUpIndicatorHandles())
    return(INIT_FAILED);
//## YOUR OWN CODE HERE ##

      //THE FOLLOWING CODE SEGMENT IS SUPPLIED AS AN ILLUSTRATION OF HOW AN INITIAL SANITY CHECK CAN BE PERFORMED TO ENSURE THAT YOUR 
      //CHOSEN POSITION SIZING METHOD IS PROPERLY ALIGNED TO THE CHOSEN PERFORMANCE METRIC
      if(MQLInfoInteger(MQL_TESTER))
      {
         if(PositionSizingMethod == RELATIVE_LOT_SIZE && CustomPerfCriterium == STANDARD_PROFIT_FACTOR)
         {
            Print("You have attempted to test the EA in the Strategy Tester using a RELATIVE_LOT_SIZE which is not compatible with the CustomPerfCriterium of STANDARD_PROFIT_FACTOR (Trades when equity is high have a disproportionate effect on the Profit Factor calculation than trades taken when equity is low)");
            return(INIT_PARAMETERS_INCORRECT);
         }
      }
      
      //---Ende des performancemetric teils
  return(INIT_SUCCEEDED);
}


void ResizeCoreArrays()
  {
   ArrayResize(currentAtr, NumberOfTradeableSymbols);
   ArrayResize(OpenTradeOrderTicket1, NumberOfTradeableSymbols);
   ArrayResize(OpenTradeOrderTicket2, NumberOfTradeableSymbols);
   ArrayResize(sellOrder, NumberOfTradeableSymbols);
   ArrayResize(openOrders, NumberOfTradeableSymbols);
   ArrayResize(buyOrder, NumberOfTradeableSymbols);
   ArrayResize(triggerLong1, NumberOfTradeableSymbols);
   ArrayResize(triggerShort1, NumberOfTradeableSymbols);
   ArrayResize(slOldBuy, NumberOfTradeableSymbols);
   ArrayResize(slOldSell, NumberOfTradeableSymbols);
   ArrayResize(tradeOpenTime, NumberOfTradeableSymbols);
   ArrayResize(tradeClosuretime, NumberOfTradeableSymbols);
   ArrayResize(closePrice, NumberOfTradeableSymbols);
   ArrayResize(stoSignalFirstLow, NumberOfTradeableSymbols);
   ArrayResize(stoSignalSecondLow, NumberOfTradeableSymbols);
   ArrayResize(stoSignalFirstHigh, NumberOfTradeableSymbols);
   ArrayResize(stoSignalSecondHigh, NumberOfTradeableSymbols);
   ArrayResize(currentPriceShort, NumberOfTradeableSymbols);
   ArrayResize(positionOpenPrice, NumberOfTradeableSymbols);
   ArrayResize(currentPriceLong, NumberOfTradeableSymbols);
   ArrayResize(firstClose, NumberOfTradeableSymbols);
   ArrayResize(secondClose, NumberOfTradeableSymbols);
   ArrayResize(thirdClose, NumberOfTradeableSymbols);
   ArrayResize(highPrice, NumberOfTradeableSymbols);
   ArrayResize(lowPrice, NumberOfTradeableSymbols);
   ArrayResize(timeStoSignalFirstHigh, NumberOfTradeableSymbols);
   ArrayResize(timeStoSignalFirstLow, NumberOfTradeableSymbols);
   ArrayResize(newM1Bar, NumberOfTradeableSymbols);
   ArrayResize(lastM1Bar, NumberOfTradeableSymbols);
   ArrayResize(newTriggerBar, NumberOfTradeableSymbols);
   ArrayResize(lastTriggerBar, NumberOfTradeableSymbols);

  }

//+------------------------------------------------------------------+
//| Resize Handle Arrays                                             |
//+------------------------------------------------------------------+
void ResizeIndicatorHandleArrays()
  {
//Indicator Handles
   ArrayResize(fracFHandle, NumberOfTradeableSymbols);
   ArrayResize(atrHandle, NumberOfTradeableSymbols);
   ArrayResize(stoHandle, NumberOfTradeableSymbols);  
   ArrayResize(sarHandle, NumberOfTradeableSymbols);  
  }
 

Hmm - ich habe keine Ahnung, sorry.

Aber es geht ja OHLC - viel Erfolg.

 

Gibt es hierzu Neuigkeiten? Ich habe das gleiche Problem mit dem gleichen Code. Error:



Dies passiert, wenn ich mit Multisymbolen optimiere.

Wenn ich mit nur einem Symbol optimiere, gibt es keinen Fehler.

Könnte jemand helfen?
Vielen Dank!