Ohne code kann ich nichts sagen. Verwendet der EA dll ist allow dll gesetzt?
Aber such mal nach dem Fehler cannot set timer. (Oben rechts die Lupe)
Gesucht hab ich schon. Ich weiß nur nicht ob diese Aussage stimmt:
Hi, this is how indicators and timers work. Timer can not work in indicator which is called from an EA. So, not all custom indicators can be used from the EA.
Dieser Aussage nach geht es wohl grundsätzlich nicht. Deswegen war ja meine Hauptfrage, ob das tatsächlich so ist. Ob diese Aussage richtig ist.
Gesucht hab ich schon. Ich weiß nur nicht ob diese Aussage stimmt:
Hi, this is how indicators and timers work. Timer can not work in indicator which is called from an EA. So, not all custom indicators can be used from the EA.
Dieser Aussage nach geht es wohl grundsätzlich nicht. Deswegen war ja meine Hauptfrage, ob das tatsächlich so ist. Ob diese Aussage richtig ist.
EventSetTimer - Arbeit mit Ereignissen - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
Hier steht zwar nicht, dass es nicht geht, aber auch nicht das es geht. In dem Artikel wird ja immer nur ein Produkt beschrieben (entweder Indikator oder EA) mit einer Timer-Funktion.
Aber in meinem Fall benutzt ein EA einen Indikator mit Timer-Funktion. Das ist ja wohl das Problem?!
Eregnisse des Client-Terminals - MQL5 Programme - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
Hier mal ein einfacher Code. Ich bin mir nicht sicher, ob es richtig ist. Der EA startet zumindest, bringt jedoch den gleichen Fehler: 2021.03.22 20:17:12.560profit EURAUD,M15: cannot set timer (1)
//+------------------------------------------------------------------+//| Test2.mq4 |//| Copyright 2021, MetaQuotes Software Corp. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property strict//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick() {
double UP = iCustom(NULL,0,"Examples\\profit",0,1,0);
double DN = iCustom(NULL,0,"Examples\\profit",0,1,0);
if (OrdersTotal ()<1) {
if (UP > 35) { //... ein Wert Deiner Wahlint buy = OrderSend(Symbol(),OP_BUY,0.10,Ask,3,(Ask - 0.0100),(Ask + 0.0025),NULL,0,0,clrNONE);
}
if (DN < 10) { //... ein Wert Deiner Wahlint sell = OrderSend(Symbol(),OP_SELL,0.1,Bid,3,(Bid + 0.0100),(Bid - 0.0025),NULL,0,0,clrNONE);
}
}
}
Das wollte ich wissen ob es richtig oder falsch ist.
Wie gesagt OnTimer funzt laut Doku in Indikatoren (auch in MQL4: https://docs.mql4.com/eventfunctions/eventsettimer), nur Sleep wird in Indikatoren ignoriert: "Die Funktion Sleep() kann aus Benutzerindikatoren nicht aufgerufen werden, .."
Aber, dann versuch halt den Timer aus dem Indikator zu entfernen, oder nimm mal einen anderen EA aus den \Examples\ und starte dort mal den Indikator...
Ohne code kann ich nichts sagen. Verwendet der EA dll ist allow dll gesetzt?
Aber such mal nach dem Fehler cannot set timer. (Oben rechts die Lupe)
Huch?
Hier steht davon nix: https://www.mql5.com/de/docs/eventfunctions/eventsettimer
?
Dort steh:
Punkt 2 bedeutet, dass Indi und/oder EA jew. ihren eigenen Timer verwenden - nicht ein und denselben.
Der EA kann jeder Zeit die aktuellen Werte des Indis abfragen - ganz unabhängig, ob der Timer des Indis 'zugeschlagen' hat oder nicht .
Also was soll da nicht gehen?
ich habe jetzt nochmal gelesen und gesucht, aber ich finde nichts.
Hier ein vereinfachter Code mit einer simplen Funktion. Hoffentlich kannst du helfen.
Das sind 11.000 Zeilen Code - soviel Zeit habe ich nicht.
Außerdem scheint es, dass ein Timer gar nicht gestartet wurde - timer konnte ich nicht finden.
Warum fragst Du nicht den, der den Codegenerator erstellt hat? Es sollte ihn interessieren, wenn der Code seines Generators nicht funktioniert.
Aber nicht hier, sondern in dem Kommentar-Thread des Produktes.
Zum einen habe ich ja geschrieben, dass nur der aufgerufene Indikator Timer hat und nicht der EA.
Natürlich habe ich den Ersteller als erstes gefragt (https://www.mql5.com/en/market/product/2468#!tab=comments&page=1&comment=21379478 Beitrag 10) und dieser hat ja behauptet, dass es generell technisch nicht möglich ist Indikatoren mit Timer-Funktionen in einem EA aufzurufen.
Das wollte ich wissen ob es richtig oder falsch ist.
Zum einen habe ich ja geschrieben, dass nur der aufgerufene Indikator Timer hat und nicht der EA.
Natürlich habe ich den Ersteller als erstes gefragt (https://www.mql5.com/en/market/product/2468#!tab=comments&page=1&comment=21379478 Beitrag 10) und dieser hat ja behauptet, dass es generell technisch nicht möglich ist Indikatoren mit Timer-Funktionen in einem EA aufzurufen.
Das wollte ich wissen ob es richtig oder falsch ist.
Ich würde mal vorschlagen probiers aus das du den indi in einen ea bringst und gib dir die werte aus, bin ziemlich überzeugt das es funktioniert
Hier mal ein einfacher Code. Ich bin mir nicht sicher, ob es richtig ist. Der EA startet zumindest, bringt jedoch den gleichen Fehler: 2021.03.22 20:17:12.560 profit EURAUD,M15: cannot set timer (1)
Zum einen habe ich ja geschrieben, dass nur der aufgerufene Indikator Timer hat und nicht der EA.
Natürlich habe ich den Ersteller als erstes gefragt (https://www.mql5.com/en/market/product/2468#!tab=comments&page=1&comment=21379478 Beitrag 10) und dieser hat ja behauptet, dass es generell technisch nicht möglich ist Indikatoren mit Timer-Funktionen in einem EA aufzurufen.
Das wollte ich wissen ob es richtig oder falsch ist.
Wie gesagt OnTimer funzt laut Doku in Indikatoren (auch in MQL4: https://docs.mql4.com/eventfunctions/eventsettimer), nur Sleep wird in Indikatoren ignoriert: "Die Funktion Sleep() kann aus Benutzerindikatoren nicht aufgerufen werden, .."
Aber, dann versuch halt den Timer aus dem Indikator zu entfernen, oder nimm mal einen anderen EA aus den \Examples\ und starte dort mal den Indikator...