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

 

Guten Tag. Ich habe dem Skript alles wie vorgeschlagen hinzugefügt - den Code des Skripts, um die Graphen nach d1 zu übertragen und die Midterm-Vorlage unten.

//+------------------------------------------------------------------+
//|                                               D1_AND_SHABLON.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright " КОПИЯ 1 "
#property link      "https://vk.com/danila_mastep"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СРЕДНЕСРОК";
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1);
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

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

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


Das Terminal-Fenster mit geöffneten Diagrammen im Screenshot unten.

7 Charts mit Scalping-Muster

Ich habe 7 offene Charts im Screenshot und alle haben das Scalping-Muster, ebenso wie AUD/USD. Wenn ich das Skript D1_AND_SHABLON.mq4 ziehe und ablege, passiert nichts - was ist der Grund für diesen Fehler? O_o

 
DanilaMactep #:

Guten Tag. Ich habe dem Skript alles wie vorgeschlagen hinzugefügt - den Code des Skripts, um die Graphen nach d1 zu übertragen und die Midterm-Vorlage unten.


Das Terminal-Fenster mit geöffneten Diagrammen im Screenshot unten.

Ich habe 7 offene Charts im Screenshot und alle haben das Scalping-Muster, ebenso wie AUD/USD. Wenn ich das Skript D1_AND_SHABLON.mq4 ziehe und ablege, passiert nichts - was ist der Grund für diesen Fehler? O_o

Das Problem ist, dass es zu viele Expert Advisors gibt und jeder eine andere Lösung hat. Selbst wenn sie richtig ist, unterscheidet sie sich von anderen. Aber sie ist oft völlig falsch.

Sasha riet, den Vorlagennamen ohne .tpl anzugeben, aber in meinem Tipp ist es

Dies ist das Forum für Handel, automatisierte Handelssysteme und Strategietests.

Alle Fragen von Neulingen zu MQL4 und MQL5, Tipps und Diskussionen zu Algorithmen und Codes

Alexey Viktorov, 2022.02.17 08:29

Sie haben nur eine weitere Zeile in Ihrem Code. Oder sogar zwei Zeilen durch eine ersetzen.

string tplName = "name.tpl";
/********************Script program start function*******************/
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
    //  ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
    ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

Man nahm etwas von dort, etwas von dort und bekam einen Brei... nicht einmal eine Perle...
 
novichok2018 #:

Ja, genau: dass EA #2, alle offenen Positionen von EA #1 sehen würde. Nur wenn es für mich einfach wäre, würde ich nicht um Hilfe bitten.

Bislang sehe ich folgende Lösung: Schreiben Sie einen Indikator, der ein "Punkt"-Objekt mit den Koordinaten der Position erstellt, die von EA #1 geöffnet wird, und platzieren Sie es auf einem Diagramm mit EA #2 installiert.

Wenn meine Logik richtig ist, brauche ich noch Hilfe beim Schreiben dieses Indikators.

Er sieht sie
 
novichok2018 #:

Ja, genau: dass EA #2, alle offenen Positionen von EA #1 sehen würde. Nur wenn es für mich einfach wäre, würde ich nicht um Hilfe bitten.

Bislang sehe ich folgende Lösung: Schreiben Sie einen Indikator, der ein "Punkt"-Objekt mit den Koordinaten der Position erstellt, die von EA #1 geöffnet wird, und platzieren Sie es auf einem Diagramm mit EA #2 installiert.

Wenn meine Logik richtig ist, dann brauche ich noch Hilfe beim Schreiben dieses Indikators.

Es ist nicht ganz klar, ob Sie die von EA #1 eröffnete Position sehen müssen

oder EA #2?

Im Folgenden ist der Code des EA zu sehen, der die von EA #1 eröffneten Positionen anzeigt,

Sie müssen es nur in die magischen Eigenschaften von EA#1 aufnehmen.

//+------------------------------------------------------------------+
//|                                                  советник №2.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input int  Magic = 0;  //

datetime OOT;   //время последней открытой позиции.
double  OOP;    //цена последней открытой позиции.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   GetPos(Symbol(),Magic);

   Comment("время последней открытой позиции =",TimeToString(OOT),
           "\nцена последней открытой позиции = ",DoubleToString(OOP,_Digits));

  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void GetPos(string sy,int mn)
  {

   int      i,k=OrdersTotal();

   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==mn && OrderSymbol()==sy)
           {
            if(OOT<OrderOpenTime())
              {
               OOT = OrderOpenTime();
               OOP = OrderOpenPrice();
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+

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

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

Und es zeigt die Koordinaten der zuletzt geöffneten Position im Somment an.

 
Alekseu Fedotov #:

Es ist nicht ganz klar, ob Sie die offenen Positionen von EA 1 sehen müssen

oder EA #2 ?

Im Folgenden ist der Code für EA 1 zu sehen, der die von EA 1 eröffneten Positionen anzeigt,

Sie müssen es nur in die magischen Eigenschaften von EA#1 aufnehmen.

Und es werden die Koordinaten der letzten offenen Position angezeigt.

Er hat keinen Zugriff auf den Code des Berater-Transmitters...

Der Mann glaubt hartnäckig, dass der Sender den Auftrag nicht sieht, wenn er auf einem anderen Chart offen ist.

Ich habe versucht, es zu erklären, aber ohne Erfolg(

 
Tretyakov Rostyslav #:

Er hat keinen Zugriff auf den Berater-Transmitter-Code...

Die Person glaubt hartnäckig, dass der Sender einen Auftrag nicht sehen kann, wenn er auf einem anderen Chart offen ist.

Ich habe versucht, es zu erklären, aber ohne Erfolg(

Ich dachte, es ginge um den Empfänger, und irgendwie ist der Code offen. Nun, ich habe es nicht verstanden.

 
Alexey Viktorov #:

Das ganze Problem ist, dass es zu viele Berater gibt und jeder eine andere Lösung hat. Selbst wenn es die richtige ist, unterscheidet sie sich von den anderen. Aber sie ist oft völlig falsch.

Sasha riet, den Vorlagennamen ohne .tpl anzugeben, aber in meinem Tipp ist es so


Du nahmst etwas von dort, etwas von dort und bekamst ein Durcheinander... nicht einmal eine Perle...
Sehr kleine Details, auf die man selbst nie achten würde. Vielen Dank für den Hinweis, ich werde morgen weitersuchen. Und das ist ich werde zurück sein, Jungs ))))))))))))))))))
 
Tretyakov Rostyslav #:
Er kann sie sehen

Vielleicht sieht er sie, ich habe den EA-Code nicht gelesen, aber vielleicht sieht er nur das, was auf dem Chart reflektiert wird, auf dem er installiert ist. Und die Linien für Take Profit, Stop Loss und Open Price werden angezeigt, aber es gibt keine Open Time. Daher denke ich, dass EA #2, wenn er nur das sieht, was auf seinem Chart angezeigt wird, nicht in der Lage sein wird, die Informationen von EA #1 richtig zu lesen. Daher mein Wunsch, auf seinem Chart alle Informationen über die von EA #1 eröffnete Position anzuzeigen: Preis, Eröffnungszeit und Stops.

 
Alekseu Fedotov #:

Es ist nicht ganz klar, ob Sie die offenen Positionen von EA 1 sehen müssen

oder EA #2 ?

Im Folgenden ist der Code für EA 1 zu sehen, der die von EA 1 eröffneten Positionen anzeigt,

Sie müssen es nur in die magischen Eigenschaften von EA#1 aufnehmen.

Und gibt die Koordinaten der letzten offenen Position aus.

Die Plattform erlaubt es nicht, zwei EAs auf einem Chart zu installieren. Vielleicht ist ein Indikator erforderlich.

 
Vitaly Muzichenko #:

Teilnehmerdaten sind schädlich für die Entnahme.

Nochmals: Sie haben 50 auf Ihrem Konto mit einer Hebelwirkung von 500 und ein Abonnent hat 5000 mit einer Hebelwirkung von 33.

Hier gibt es ein kleines Berechnungsproblem. Wenn wir über diesen Dienst sprechen.

Wenn wir von Selbstkopie sprechen, dann:

Sie haben 50 auf Ihrem Konto mit einer Hebelwirkung von 2000 und ein Teilnehmer 5000 mit einer Hebelwirkung von 33.

Sie werden in der Lage sein, 3 Positionen mit einem kleinen Hebel zu eröffnen, während der Abonnent nach der zweiten Position kein Geld mehr übrig haben wird, da er sich einer Marge aussetzt.

---

So einfach ist das nicht.

Ich danke Ihnen!
Über die Abonnenten und ihre Daten.
Die Sache ist die, dass alles mit ihrer Zustimmung geschehen wird. Ich habe nicht vor, diese Ressource massenhaft zu kopieren, das ist sehr lästig.

Ich brauche die Daten, damit mich der Abonnent nicht zweimal betrügt. Denn die Zahlung erfolgt nach dem Gewinn. Und ich muss den Saldo-Abonnenten sehen, um zu verstehen, was meine Gebühr ist.
Der Abonnent wird meine Gewinne selbst überweisen.

Der Hebel ist stabil, 100. Mein Guthaben beträgt 100 Dollar. Das verringert die Belastung für meine Psyche. Und wenn ein Abonnent 100.000 hat, ist es für mich leichter, ruhig zu bleiben als für ihn.
So arbeite ich für binans.
Ich möchte das Thema auch für die Devisenhändler näher erläutern.

Wie ich höre, sind Sie ein Experte.
Ich möchte fragen, ob es möglich ist, so etwas mit dem Kopierer zu machen.
Zum Beispiel werden die Daten über meinen Kunden (Abonnent) durch API in meinem Admin-Panel auf der Website, die mein Freund für mich gemacht hat, ausgegeben. Aber es ist nicht sehr gut in MQL5. Oder zumindest nicht sehr))

Grund der Beschwerde: