Experten Starten

 

Hallo,


hab da wieder mal einen Spezialfall.

Ich versuche, bei einem Chart, wo ein Custom Symbol geladen ist, in dem Fall ein Renko Chart von hier

https://www.mql5.com/de/code/20254

wieder zurück auf das normale Symbol zu kommen und einen EA dort der immer dort liegt und im Template ist zu starten


mein Problem ist, das alle Funktionen bei MQL wieder mal tun was sie wollen

ich will ja zurück zum Ursprungssymbol und dann das Custom Symbol aus dem Market Watch rausnehmen um es anschliessend zu löschen

jetzt dachte ich zuerst ich setze mit

ChartSetSymbolPeriod

einfach wieder den rest, das funktioniert nur nicht, da es irgendwann passiert und man keine Kontrolle darüber hat, falls es mal passiert

obwohl ich im Chart wieder das ursprüngliche Symbol und den richtigen Timeframe sehe, ist im Hintergrund noch das Custom Symbol geladen.

gibt es dafür irgendeine Möglichkeit für das Custom Symbol ein Release zu erzwingen?


jetzt habe ich es mit 

SafeTemplate

ChartClose

ChartOpen

LoadTemplate

probiert


nur hier scheitere ich an den Sicherheitseinstellungen von MQL

https://www.mql5.com/de/docs/chart_operations/chartapplytemplate


auch wenn das unten keiner versteht, weder in Deutsch noch Englisch

Steht dort unter Einschränkungen: 

Wenn durch diese Funktion eine neue Schablone in den Chart geladen wird, zu der die Schablone angehängt ist, wird Expert ausgeladen und seine Arbeit nicht fortsetzen kann.

Aus Sicherheitsgründen kann die Erlaubnis zum Handeln unter Anwendung einer Vorlage begrenzt werden:

Die Erlaubnis zum Handeln kann nicht beim Start des Expert Advisors mithilfe der Vorlage anhand der ChartApplyTemplate() Funktion erweitert werden.

Wenn das mql5-Programm, das die ChartApplyTemplate() Funktion aufruft, über keine Erlaubnis zum Handeln verfügt, wird der Expert Advisor, der über die Vorlage gestartet wurde, auch keine Rechte auf Handel haben unabhängig von den Einstellungen der Vorlage.

Wenn das mql5-Programm, das die ChartApplyTemplate() Funktion aufruft, die Erlaubnis zum Handeln hat, und in den Einstellungen der Vorlage gibt es die Erlaubnis nicht, wird der Expert Advisor, der mit der Vorlage gestartet wurde, auch keine Erlaubnis zum Handel haben.


Hat wer eine Idee wie ich das hinbekomme?

kann ich irgendwie einen EA laden aus einem Programm raus?


danke

amando

Renko 2.0 Offline
Renko 2.0 Offline
  • www.mql5.com
MACD of average Dies ist ein MACD, der Mittelwerte als Eingangspreise verwenden kann, anstatt des "reinen" Preises. Das kann helfen, einige falsche Signale zu filtern, aber der Hauptzweck dieses Codes ist zu zeigen, wie einfach einige Dinge mit MetaTrader 5 gemacht werden können. Zusätzlich zu allen üblichen Optionen, wenn es um diese Art von...
 

Indikatoren und EAs, die auf versch. Charts laufen können über globale Variablen kommunizieren.

Wäre das eine Lösung für Dich?

Den Status kannst Du sogar Life im Terminal einsehen über F3 (Extras => Globale Variablen). Im Terminal F1 drücken und Globale Variablen eingeben.

Globale Variablen

Name (string), Wert (double) und Zeit (datetime) können verwendet werden.

Dokumentation zu MQL5: Globalvariablen des Kundenterminals
Dokumentation zu MQL5: Globalvariablen des Kundenterminals
  • www.mql5.com
Globale Variablen befinden sich im Client-Terminal innerhalb von 4 Wochen seit dem letzten Zugang, dann werden sie automatisch entfernt. Zugang zur globalen Variable ist nicht nur die Einstellung des neuen Wertes, sondern auch Lesen des Wertes der globalen Variable.
 
Carl Schreiber:

Indikatoren und EAs, die auf versch. Charts laufen können über globale Variablen kommunizieren.

Wäre das eine Lösung für Dich?

Den Status kannst Du sogar Life im Terminal einsehen über F3 (Extras => Globale Variablen). Im Terminal F1 drücken und Globale Variablen eingeben.

Globale Variablen

Name (string), Wert (double) und Zeit (datetime) können verwendet werden.

 Ein ist es nicht, ich kommuniziere über files, das ist einfacher und der zeitverluadt ist mir gleich.

ich benötige aber nur, das ich das chart neu initialisiere und dabei die alten werte rausschmeisse. Das geht mit globale variablen auch nicht

 

Und was ist, wenn Du mit long newChart = ChartOpen() und if (!ChartClose(0)){ ..} arbeitest?

Nachtrag die Handelserlaubnis auf dem Terminal kann nur abgefragt nicht programmtechnisch gesetzt werden: https://www.mql5.com/de/docs/runtime/tradepermission

Dokumentation zu MQL5: Operationen mit Charts / ChartOpen
Dokumentation zu MQL5: Operationen mit Charts / ChartOpen
  • www.mql5.com
ChartOpen - Operationen mit Charts - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
 
Luctor:

Hallo

Ich bin neu hier und unerfahren.

Welches ist die beste Unterstützung von Zusatzsoftware für den Handel mit <gelöscht bitte keine (indirekte) Werbung und Diskussionen über Broker oder Produkte>?

Welches hältst du für das beste Werkzeug?

Beste Grüsse

Lucky

Bitte nicht andere Threads 'kapern'

 
Carl Schreiber:

Und was ist, wenn Du mit long newChart = ChartOpen() und if (!ChartClose(0)){ ..} arbeitest?

Nachtrag die Handelserlaubnis auf dem Terminal kann nur abgefragt nicht programmtechnisch gesetzt werden: https://www.mql5.com/de/docs/runtime/tradepermission

verstehen muss das jetzt keiner Mehr


ich habe den Code mal so geändert

das passiert beim rausnehmen des Charts

   if(sparam == "RenkoOff")
     {
      RenkoState = false;
      RenkoOffline.Stop();

     // Print("RenkoOffButton");
      string Name = SymbolName(0,true);
      int Stelle = StringFind(Name,"_",0);
      string sym = StringSubstr(Name,0,Stelle);

     // Print("Renko Deinit Name: ",Name," Stelle: ",Stelle," Sym: ", sym);
    
      if(!ChartSetSymbolPeriod(0,sym,PERIOD_H4))
         Print("Fehler beim setzen des originalen Symbols");
         
      if(!ChartSaveTemplate(0,"xxxx")) Print("Fehler beim sichern des Templates");
      
      int ID = ChartID();
      
      
      long ID_New =ChartOpen(sym,PERIOD_CURRENT);
      ChartSetSymbolPeriod(ID,sym,PERIOD_H4);
     // ChartNavigate(ID,CHART_BEGIN,0);
      
      ChartClose(ID_New);
      
      Print("Symbol: ",_Symbol);
≠

und beim nächsten Init geb ich das rein

  bool deletecustom= false;
  for(int idx = 0; idx < SymbolsTotal(true); idx++)
     {
      string sym = SymbolName(idx, true);
      SymbolSelect((string)sym[idx], true);

      if(sym == custom_symbol) deletecustom = true;
      }


 if(!RenkoState && deletecustom)
     {
     
     // Print("Custom: ",custom_symbol, " Active: ", Symbol()," Periode: ",_Period);
      
      if(!SymbolSelect(custom_symbol,false))
         Print("Fehler beim Entfernen von ",custom_symbol);
      
      if(!CustomSymbolDelete(custom_symbol)) Print("Fehler beim Entfernen des custom Symbols");
      //ChartOpen("EURUSD",PERIOD_H4);
      //if(!ChartApplyTemplate(0,"xxxx") 
     
     custom_symbol="";
     original_symbol="";
        
   // Print(GetLastError());
     }

Das Symbol beim rausnehmen gibt er mir zwar immer noch falsch an, aber beim Init kann er zumindest die Custom Symbole rauslöschen


verstehen tu Ichs nicht

 
Schau Dir einmal diese Bibliothek an: https://www.mql5.com/ru/code/19003
Expert
Expert
  • www.mql5.com
A library for reading/writing the parameters of arbitrary Expert Advisors.