Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL5 (http://www.expert-advisor.com/forum/forumdisplay.php?f=221)
-   -   ChartApplyTemplate (http://www.expert-advisor.com/forum/showthread.php?t=5172)

SautaRoc 19.09.16 09:23

ChartApplyTemplate
 
hallo,
folgendes Problem kennt vermutlich jeder:

für ein beliebiges währungspaar erstelle ich ein Profil mit z.B. vier timeframes. in einem der drei chatfenster zeichne ich alle meine benötigten Linien, fibus usw. ein. dieses Chart speichere ich dann als vorlage pairxy. wenn ich diese vorlage dann auf die restlichen drei chartfenster anwende habe ich überall meine Linien drin. soweit so gut. jetzt habe ich aber einen haufen Profile die auch Kombinationen von währungspaaren enthalten. jetzt wäre es sehr praktisch wenn bei öffnen eines profiles auf alle vorhandenen Charts die entsprechenden vorlagen angewendet würden um nicht jeden morgen eine stunde damit zu verbringen alles auf den neuesten stand zu bringen: auf meiner suche bin ich auf folgende mql Funktion gestosse: ChartApplyTemplate.

kann mir jemand einen tipp geben wie ich das einbinden kann?

ziel: wenn ein Profil geöffnet wird soll auf jedes im Profil enthaltene Chart die entsprechende vorlage angewendet werden.

danke für denkanstösse

Kronenchakra 19.09.16 21:41

ChartApplyTemplate
 
Hi SautaRoc!

Dieses kleine Script verwende ich regelmäßig.
Getestet mit MT5, für MT4 sollte es eigentlich auch funktionieren.
Den Namen des Templates am besten im Sourcecode ändern.

Code:

//+------------------------------------------------------------------+
//|                                              Apply_Template.mq5 |
//|                                Copyright © 2016 Ing. Otto Pauser |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016 Ing. Otto Pauser"
#property link      ""
#property version  "1.00"
#property description "Simple Script for ChartApplyTemplate in all charts opened"
#property script_show_inputs

#include  <Charts\Chart.mqh>;

input string template_name = "PlainCandles";    // Name of Template (without '.tpl')

void OnStart()
  {
  long currChart=ChartFirst();
  while(currChart>=0)
    {
      if(!ChartApplyTemplate(currChart,  template_name+".tpl"))
        {
          Print("Error:",GetLastError(),"  Template "+template_name+".tpl nicht gefunden ");
          break;
        }
      currChart=ChartNext(currChart);
    }
 
    PlaySound("ok");
  }

Ich hoffe es ist das, was du brauchst.

Grüße vom OPA-Trader

SautaRoc 19.09.16 23:30

vielen Dank
ich denke das wird helfen. Ich werde es noch ein bischen auf meine Situation anpassen müssen, aber das Prinzip habe ich verstanden.

:)

marquez 22.09.16 23:01

kleiner Hinweis von mir:

ich habe eins, was sehr ähnlich dem hier ist...

wenn Du aber viele Charts hast, und im Template "ne Menge" an Indikatoren drin hast, dann kann Dir der MT5 schonmal abschwirren.

Soll heißen, dass z.B. nicht alle indikatoren richtig geladen werden in jedem Asset.

Normalerweise müsste man ne kleine Verzögerung einbauen, dass die Schleife von Chart zu Chart ne kleine Verzögerung bekommt um obigen möglichen Fehler zu vermeiden / minimieren.

Besonders, wenn Du Indikatoren dabei hast, die die ganze History vom Chart nutzen für ihr "calculate" !


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:20 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum