Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 135

 
Oder zumindest, wo man darüber lesen kann. Ich bitte Sie.
 
Sergey Voytsekhovsky:

Guten Abend.

Frage:

Könnten Sie mir bitte sagen, wie ich eine Zeile in denEA-Eingabeparametern erstellen kann, die einen Text anzeigt, aber nicht aktiv ist. Ich möchte die Abschnitte trennen. Ich möchte zum Beispiel "direkte Anführungszeichen" und "umgekehrte Anführungszeichen" haben. Ich habe im frei verfügbaren Code gesucht, um zu zeichnen, ich kann es nicht finden. Vielen Dank im Voraus.

.............

Die Zeilen 2 und 5 sehen jetzt wie Zwischenüberschriften auf der Registerkarte Eingaben aus. Das ist in Ordnung, aber diese Zeilen sind aktiv und können ausgewählt werden. Wie kann ich sie sichtbar, aber nicht aktiv (nicht auswählbar) machen?

Fügen Sie einen Buchstaben "s" am Anfang hinzu, um etwas zu erhalten wie:

sinput string _____Main_____="_____Main_____";

 
Vladimir M.:

Fügen Sie ein 's' am Anfang hinzu, und Sie erhalten einen Typ:

sinput string _____Main_____="_____Main_____";

Ich danke Ihnen für Ihr Entgegenkommen. Ich habe über das "s" nachgelesen. Das habe ich gefunden:

"Eine mit dem Modifikator sinput deklarierte Variable ist ein Eingabeparameter eines MQL4-Programms, dessen Wert beim Programmstart geändert werden kann.

Ich habe es im Code ausprobiert - die Möglichkeit, die Option zur Optimierung anzukreuzen, verschwindet, der Variablenwert in der Registerkarte Eingaben kann immer noch geändert werden, d. h. der Wert kann immer noch ausgewählt und geändert werden.

Irgendwo habe ich gesehen, dass auf dieser Registerkarte inaktive Zeichenfolgen waren, sie sahen sogar blasser aus, sie reagierten überhaupt nicht auf einen Mauszeiger. Ich kann nicht herausfinden, wie man das macht.

 

Sergey Voytsekhovsky:

Ich habe es im Code ausprobiert - die Möglichkeit, ein Kästchen für die Optimierung anzukreuzen, verschwindet, der Wert der Variablen auf der Registerkarte Eingaben kann immer noch geändert werden, d. h. der Wert kann immer noch ausgewählt und geändert werden.

Irgendwo habe ich gesehen, dass auf dieser Registerkarte inaktive Zeichenfolgen waren, sie sahen sogar blasser aus und reagierten überhaupt nicht auf einen Mauszeiger. Ich kann nicht herausfinden, wie man das macht.

Ich habe das Wesentliche der Frage verstanden, ich bin selbst neugierig. Das Einzige, was ich hinzufügen kann, ist das Einfügen per Enum.

Dann gibt es nur einen leeren Raum, in den nichts eingefügt oder geändert werden kann.

enum enum_Main {};
sinput enum_Main _____Main_____;
 

Hallo, könnten Sie mir bitte sagen, wo ich ein Skript finden kann, das es MT4 ermöglicht, schwebendeKauf- undVerkaufsaufträge sofort für eine bestimmte Anzahl von Punkten ab dem aktuellen Preis zu platzieren, der von einem Händler festgelegt wurde, d.h. sie nicht manuell zu zählen und vielleicht nicht einmal zum Auftragsfenster zu gehen? Ich habe selbst danach gesucht, aber ich habe es nicht gefunden. Vielleicht habe ich nicht an der richtigen Stelle gesucht oder es so genannt, ich habe mich noch nicht mit Skripten beschäftigt, ich habe gerade erst mit dem Devisenhandel begonnen.

 

Helfen Sie mir, den nachgestellten Code zu sortieren.

Hier ist der Code:

for(int i=0; i<OrdersTotal()-1; i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if(OrderSymbol()==Symbol()||OrderMagicNumber()==Magic)

if(Auftragsart()==OP_BUY)

{

if(tral>0)

{

if(Bid-OrderOpenPrice()>tral*Point)

{

if(NormalizeDouble(OrderStopLoss()<Bid-tral,Digits))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-tral,OrderTakeProfit(),0,Green);

Print(" Trailingmodification error ",GetLastError());

}

}

}

}

if(OrderType()==OP_SELL)

{

if(tral>0)

{

if(OrderOpenPrice()-Ask>tral*Point)

{

if((OrderStopLoss()>(Ask+tral) || (OrderStopLoss()==0)))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+tral,OrderTakeProfit(),0,Red);

Print("Trailing modification error",GetLastError());

}

}

}

}

}

}

Das Problem ist, dass das Schleppnetz beim Testen nicht funktioniert und keine Fehler produziert.

 

Guten Tag zusammen!

Ich handele auf einem echten Konto bei einem Broker auf MT4

Ich handle auf der Plattform bei der Arbeit, zu Hause und am Telefon. Wenn ich also einen Indikator oder ein Level platziere, muss ich das auch bei der Arbeit tun.

Frage: Gibt es eine Möglichkeit (Programm, Roboter oder eine andere Variante), Indikatoren auf einem Desktop anzuwenden und sie an anderer Stelle erscheinen zu lassen?

Ich danke Ihnen im Voraus

 
churkin:

Guten Tag zusammen!

Ich handle auf einem realen Konto mit einem Broker auf MT4

Ich handle auf der Plattform bei der Arbeit, zu Hause und am Telefon. Wenn ich also einen Indikator oder ein Level platziere, muss ich das auch bei der Arbeit tun.

Frage: Gibt es eine Möglichkeit (Programm, Roboter oder eine andere Variante), Indikatoren auf einem Desktop anzuwenden und sie an anderer Stelle erscheinen zu lassen?

Vielen Dank im Voraus.

Sie müssen die Vorlage speichern und auf ein anderes Terminal kopieren. Oder sogar ein Profil, wenn Sie die Einstellungen nicht nur für eine Karte, sondern für alle im Terminal geöffneten Karten speichern möchten.

 

Guten Tag,

Wie kann ich die statischen Variablen zurücksetzen, wenn ich den Zeitrahmen des Charts ändere oder die Eingabeparameter des EAs ändere?

 
Asa saas:

Guten Tag,

Wie setzen Sie die statischen Variablen zurück, wenn Sie den Zeitrahmen des Diagramms ändern oder die Eingabeparameter des EAs ändern?

Geben Sie nur den entsprechenden Parameter ein:

bool g_bIsInit;
int OnInit()
{
   g_bIsInit = true;
}

void MyFunction()
{
   static int nMyStatic = 0;
   if (g_bIsInit)
   {
      nMyStatic = 0;
      g_bIsInit = false;
   }
}

Es lohnt sich also, 100 Mal nachzudenken, bevor man statische Variablen in einem EA verwendet. Bei einem Skript oder einem Indikator ist das anders.

Grund der Beschwerde: