Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1911

 
rriaz #:
Es gibt noch mehr Punkte. Papa sagt sogar, dass er das Passwort nicht kennt! ( Ich werde morgen bei ihm sein, dann kann ich Screenshots oder so machen. Die Software wird nur auf dem Telefon installiert

Es tut mir leid, aber es ist wahrscheinlicher, dass es sich um Gauner handelt, und Sie müssen sich an die Strafverfolgungsbehörden wenden.

 
Alexey Viktorov #:

Könnte dies das Problem sein? Versuchen Sie, die Ressource in regelmäßigen Abständen zu löschen

aber dann müssten Sie sie dynamisch erstellen.

Das heißt, Sie müssen die Ressource erst löschen und dann neu erstellen. Das einzige Problem ist, dass ich nicht weiß, wie das funktionieren soll. Oder ob es überhaupt funktionieren wird. Ich werde es versuchen müssen...

Es hat nicht funktioniert. ResourceCreate erstellt nur eine neue Datei für Bilder, so dass es den Indikator nicht sieht. Soweit ich weiß, muss der Speicher nur regelmäßig gelöscht werden. Ich werde etwas mit ZeroMemory ausprobieren

 

Hallo zusammen. Das Skript für die Einstellung des richtigen Musters auf allen Charts stellte sich als folgende Geschichte heraus.

Ich öffnete 8 Charts, alle unterschiedlich auf n1 mit einer Scalping-Vorlage unten.

8 OFFENE CHARTS MIT SCALPING-MUSTER

Ich habe ein Skript zum Chart ganz links(AUD/USD) hinzugefügt, um alle Charts in d1 und eine mittelfristige Vorlage zu übersetzen, der Code unten.

string tplName = "FIBOmAGIC СРЕДНЕСРОК.tpl";//ИМЯ ПОДГРУЖАЕМОГО ШАБЛОНА
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)// ЕСЛИ ПЕРИОД ГРАФИКА НЕ Д1
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1); // УСТАНАВЛИВАЕМ ПЕРИОД ГРАФИКА КАК Д1
      ChartApplyTemplate(prevChart, tplName); // И УСТАНАВЛИВАЕМ НА ГРАФИК ШАБЛОН СРЕДНЕСРОКА
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/


Ich habe die Halbzeitvorlage für alle Diagramme geändert, mit Ausnahme des linken Diagramms, zu dem ich das Skript hinzugefügt habe.

Dann setze ich das Skript auf dem linken Chart ein, um den Chart auf n1 und die Scalping-Vorlage zu übersetzen. Der Skriptcode lautet wie folgt

+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СКАЛЬПИНГ.tpl";
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+


Es scheint alles in Ordnung zu sein, denn das Scalping-Muster wird auf alle Charts angewendet. Aber es gibt ein Problem: Wenn ich das gleiche Skript zweimal an den Chart ganz links anhänge, werden 5 von 8 Charts zu einem aud/usd-Tool.

NACH ZWEI AUFEINANDERFOLGENDEN VERWENDUNGEN DESSELBEN SKRIPTS WIRD EIN TEIL DER GRAPHEN ZU DEMSELBEN WERKZEUG

Warum passiert das und wie kann man es vermeiden, außer durch 2 aufeinanderfolgende Durchläufe des gleichen Skripts?

 
DanilaMactep #:

Hallo zusammen. Das Skript für die Einstellung des richtigen Musters auf allen Charts stellte sich als folgende Geschichte heraus.

Ich öffnete 8 Charts, alle unterschiedlich auf n1 mit einer Scalping-Vorlage unten.

Ich habe ein Skript zum Chart ganz links(AUD/USD) hinzugefügt, um alle Charts in d1 und eine mittelfristige Vorlage zu übersetzen, den Code unten.


Ich habe die Halbzeitvorlage für alle Diagramme geändert, mit Ausnahme des linken Diagramms, zu dem ich das Skript hinzugefügt habe.

Dann setze ich das Skript auf dem linken Chart ein, um den Chart auf n1 und die Scalping-Vorlage zu übersetzen. Der Skriptcode lautet wie folgt


Es scheint alles in Ordnung zu sein, denn das Scalping-Muster wird auf alle Charts angewendet. Aber es gibt ein Problem: Wenn ich dasselbe Skript zweimal an den Chart ganz links anhänge, werden 5 von 8 Charts zu einem Tool aud/usd.

Warum passiert das und wie kann man es vermeiden, außer durch 2 aufeinanderfolgende Durchläufe des gleichen Skripts?

Probieren Sie es so

void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);// или PERIOD_D1
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/
 
Alexey Viktorov #:

Versuchen Sie dies

diese Option bewirkt überhaupt nichts - ich lasse das Skript auf dem Diagramm los und nichts passiert.
 
DanilaMactep #:
Diese Option bewirkt gar nichts - ich lasse das Skript auf dem Diagramm los und nichts passiert.

Hat die Deklaration der Variablen

string tplName = "FIBOmAGIC СРЕДНЕСРОК.tpl";//ИМЯ ПОДГРУЖАЕМОГО ШАБЛОНА

wurde zufällig gelöscht?

 
Alexey Viktorov #:

Hat die Deklaration der Variablen

wurde zufällig gelöscht?

Wenn ich das täte, würde der Compiler unidentifizierte Variable schreien. Aber jetzt werde ich es noch einmal versuchen...
 
Alexey Viktorov #:

Hat die Deklaration der Variablen

wurde zufällig gelöscht?

Ich habe es noch einmal überprüft: Die Variable ist nicht gelöscht. Ich kompiliere und das Skript tut nichts.
 
DanilaMactep #:
Diese Option bewirkt überhaupt nichts - ich lasse das Skript auf dem Diagramm los und nichts passiert.

Funktioniert das bei Ihnen nicht?

//+------------------------------------------------------------------+
//|                                           ChartApplyTemplate.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//----
sinput string Template           = "ADX";          // Имя шаблона(without '.tpl')
sinput ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Период
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   long currChart, prevChart = ChartFirst();
   int i = 0, limit = 100;
   bool errTemplate;
   while(i < limit)
     {
      currChart = ChartNext(prevChart);
      if(TimeFrame != PERIOD_CURRENT)
        {
         ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), TimeFrame);
        }
      errTemplate = ChartApplyTemplate(prevChart, Template + ".tpl");
      if(!errTemplate)
        {
         Print("Error ", ChartSymbol(prevChart), "-> ", GetLastError());
        }
      if(currChart < 0)
         break;
      Print(i, ChartSymbol(currChart), " ID =", currChart);
      prevChart = currChart;
      i++;
     }
  }
//+------------------------------------------------------------------+
 
137 Matrix #:

Funktioniert das bei Ihnen nicht?

Wenn ich mich nicht irre, hat hier alles angefangen - es hat nicht funktioniert, wenn ich mich recht erinnere ;-) Und ich weiß auch nicht, wo ich den Namen der Vorlage in den Code einfügen soll. Kurz gesagt, es ist ein ziemliches Durcheinander...