Ist doch ganz eindeutig! Die Dok. überlässt es Dir es auszuprobieren, da es ein ..exist.. wie auch immer nicht gibt. Ist die Methode learning by doing ;)
Ich würde es mal mit einem 'falschen' namen versuchen und sehen, was 'rauskommt.
Aber berichte mal, wie Deine Experimente so liefen ;)
Calli,
PS Ich habe mich heute auch über mangelhaft Doku. geärgert.
Hallo Otto,
das Template hast Du ja in einem File.
Du kannst also die Existenz dieses Files überprüfen.
bool FileIsExist( const string file_name, // File name int common_flag=0 // Search area );Grüße!
Danke für Infos!
@Calli - die Funktion ChartApplyTemplate() gibt imme true zurück, egal ob das Template vorhanden ist oder nicht. Sie prüft laut Dok ja nur das eingereiht werden in der Warteschlange.
@Lars - FileIsExist() ist dafür leider nicht brauchbar weil ich nicht in den richtigen Verzeichnisast gelange.
Die Templates stehen in: C:\Users\Otto\AppData\Roaming\MetaQuotes\Terminal\FE0E65DDB0B7B40DE125080872C34D61\MQL5\Profiles\Templates
ohne Common_flag land ich in: C:\Users\Otto\AppData\Roaming\MetaQuotes\Terminal\FE0E65DDB0B7B40DE125080872C34D61\MQL5\Files
mit Common_flag lande ich in: C:\Users\Otto\AppData\Roaming\MetaQuotes\Terminal\Common
Also bei beiden Verzeichnissen lande ich im Aus, weil ja ..\ Konstruktionen nicht akzeptiert werden.
Mit der Kernel32.dll bin ich auch gescheitert, obwohl der Code von Metaquotes ist (oder vielleicht gerade deswegen). https://www.mql5.com/de/articles/1540
void OnStart() { string buffer=ReadFile("c:\\users\\otto\\test.txt"); int count=StringLen(buffer); Print("Bytes counted:",count); WriteFile("c:\\users\\otto\\test2.txt",buffer); }Funktioniert einfach nicht.
Mittlerweile habe ich einen dicken Hals, weil wegen solchen Blödheiten soviel Zeit draufgeht.
Vielleicht hat doch jemand eine Lösung !?
Grüße Otto
- 2016.03.28
- MetaQuotes Software Corp.
- www.mql5.com
Hallo Otto,
das Template hast Du ja in einem File.
Du kannst also die Existenz dieses Files überprüfen.
Hallo Lars,
Dein Hinweis und der Service-Desk hat mich letztendlich doch auf eine Lösung gebracht https://www.mql5.com/en/docs/chart_operations/chartapplytemplate
Ganz unten im Beispiel wird ein Template aus dem Ordner 'MQL5\Files' geladen, das lässt sich natürlich mit FileIsExist() abfragen.
Ich wusste nicht das man die Templates irgendwohin speichern kann. Die erscheinen zwar nicht in der Liste der Templates, aber das macht in diesem Fall nichts.
Grüße Otto
- www.mql5.com
Hallo Lars,
Dein Hinweis und der Service-Desk hat mich letztendlich doch auf eine Lösung gebracht https://www.mql5.com/en/docs/chart_operations/chartapplytemplate
Ganz unten im Beispiel wird ein Template aus dem Ordner 'MQL5\Files' geladen, das lässt sich natürlich mit FileIsExist() abfragen.
Ich wusste nicht das man die Templates irgendwohin speichern kann. Die erscheinen zwar nicht in der Liste der Templates, aber das macht in diesem Fall nichts.
Grüße Otto
Das Problem einer solchen Lösung ist, dass Du irgendwann später uU. dieses Teplate suchst und nicht findest oder es änderst (im Template-Ordner) und dann verrückt wirst, weil sich doch nichts ändert!
Das ist manchmal so bei Sonderlösungen!
Hallo Lars,
Dein Hinweis und der Service-Desk hat mich letztendlich doch auf eine Lösung gebracht https://www.mql5.com/en/docs/chart_operations/chartapplytemplate
Ganz unten im Beispiel wird ein Template aus dem Ordner 'MQL5\Files' geladen, das lässt sich natürlich mit FileIsExist() abfragen.
Ich wusste nicht das man die Templates irgendwohin speichern kann. Die erscheinen zwar nicht in der Liste der Templates, aber das macht in diesem Fall nichts.
Grüße Otto
Freut mich, dann klappt jetzt alles?
Das Codebeispiel macht ja genau die Überprüfung, Anwendung bei Existenz (true) oder entsprechende Fehlerrückmeldung (false) - fertig.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo!
Nachdem es hier kein Kapitel für MQL5 gibt (eigentlich pervers im MQL5 Forum, aber mich überrascht immer weniger) poste ich meine Frage halt hier.
Die Funktionen ChartSaveTemplate() und ChartApplyTemplate() sind mir bekannt.
Wie kann ich vor ChartApplyTemplate() überprüfen ob das zu ladende Template überhaupt vorhanden ist?
ChartApplyTemplate() gibt ja true zurück wenn in der Warteschlange eingereiht. Also immer! imho Ziemlich schräg!
Gibt's irgendeine Funktion wie ChartTemplateExists() oder muss ich auf die WinApi zurückgreifen ?Grüße Otto