Ich habe es jetzt noch einmal getestet, mit einem neuen Chart funktioniert es auch aus einem Indikator heraus. Ist ganz einfach (scSymbol ist der Symbolname aus einer Liste, Template1 die Variable für das gewünschte Template):
long NewChartID = ChartOpen(scSymbol,0);
ChartApplyTemplate(NewChartID,Template1);
Allerdings habe ich jetzt das Problem, dass der mit dem neuen Template geladene EA nicht automatisch tradet, das Kontrollkästchen "Life Trading zulassen" ist deaktiviert. Lade ich das Template dagegen manuell, ist das Kästchen aktiviert (wie bei dem gespeicherten Template).
Wie kann ich das Kästchen per Code aktivieren? Ich habe es schon mit
bool TradeAllowedThisChart = MQLInfoInteger(MQL_TRADE_ALLOWED);
if(TradeAllowedThisChart == false) MQLSetInteger(MQL_TRADE_ALLOWED,true);
probiert, das funktioniert aber nicht. Die Variable TradeAllowedThisChart wird zwar korrekt auf "false" gesetzt, bei MQLSetInteger hapert es aber irgendwie.
Kennt jemand eine Lösung?