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

 
Guten Tag Freunde, ich handle derzeit mit Hilfe eines EA,
Können Sie mir bitte sagen, ob ich diese Parameter verwenden kann, um meinen eigenen EA zu schreiben?
------------------------------------------------------------------------------
RasterA=true
GridB=true
GridC=true
OrdersSideOptimize=true
StopTradeAfterTP_GridA=false
StopTradeAfterTP_GridB=false
StopTradeAfterTP_GridC=false
MaxTrades_GridA=15
MaxTrades_GridB=15
MaxTrades_GridC=15
MagischeZahl_GridA=7771
MagischeZahl_GitterB=7772
MagischeZahl_GitterC=7773
MaxLots=100.0
AutoMM=3.0
T6="Lose Einstellungen"
BaseOrderLevel=1
LotExponent=1.33
T7="TakeProfit-Einstellungen".
TakeProfit=125.0
Schlupf=3,0
T10="Stufeneinstellungen"
Schritt_GitterA=170.0
Schritt_GridB=170.0
Schritt_GridC=200.0
AbstandsExponent=1.18
BaseDistanceOrder=10

Viele Grüße an Sie Noble Savage
 

Guten Tag. Können Sie mir etwas sagen?


Beim Kompilieren wird ein Fehler ausgegeben.

if(flag_Cl_Buy = "on" && Ask>=BB)

&&' - Verwendung einer illegalen Operation

Dieses Zeichen ist ein logisches UND. Die Übersetzung von '&&' ist für den Betrieb nicht zulässig. )))

Was ist los? ))

Standardverzweigung. Machen Sie das, was in der Bedingung 1 steht(flag_Cl_Buy = "on") und der Preiswert ist höher als der angegebene. Was ist falsch an diesem UND???


 
Gilmor:

Guten Tag. Können Sie mir etwas sagen?


Beim Kompilieren wird ein Fehler ausgegeben.

&&' - Verwendung einer illegalen Operation

Dieses Zeichen ist ein logisches UND. Die Übersetzung von '&&' ist für den Betrieb nicht zulässig. )))

Was ist los? ))

Standardverzweigung. Machen Sie das, was in der Bedingung 1 steht(flag_Cl_Buy = "on") und der Preiswert ist höher als der angegebene. Was ist falsch an diesem UND???


==

Der Vergleich ist also "==", Sie haben ein Zeichen übersehen.

 
Gilmor:

Guten Tag. Können Sie mir etwas sagen?


Beim Kompilieren wird ein Fehler ausgegeben.

&&' - Verwendung einer illegalen Operation

Dieses Zeichen ist ein logisches UND. Die Übersetzung von '&&' ist für den Betrieb nicht zulässig. )))

Was ist los? ))

Standardverzweigung. Machen Sie das, was in der Bedingung 1 steht(flag_Cl_Buy = "on") und der Preiswert ist höher als der angegebene. Was ist falsch an diesem UND???


Sie vergleichen nicht, Sie ordnen zu.

if(flag_Cl_Buy = "on" && Ask>=BB)

Der Vergleich sieht folgendermaßen aus:

if(flag_Cl_Buy == "on" && Ask>=BB)
 
dodon_:
Guten Tag Liebe Freunde, ich handle derzeit mit Hilfe meines Expert Advisors,
Können Sie mir sagen, ob ich auf der Grundlage dieser Parameter meinen eigenen EA schreiben kann?

Nach den wenigen Antworten, die ich gesehen habe, kann man alles schreiben, und selbst gute Leute werden einem sagen, wo die Fragen und Fehler liegen. Aber niemand wird Sie einfach anschreiben, und mit solch vagen Fragen schickt man Sie meistens zur Börse.

https://www.mql5.com/ru/job

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • www.mql5.com
Добрый день. Нужно написать советника на основе мартингейла работающего в обе стороны с усреднениями на ТФ м1/м5/м15/Н1/Н4/D1 , с тейк профитом но без стоп лоса, для центового счета, с функцией привязки советника на определенные счета. Требуются данные входные параметры для управления советником: Стратегия GridA: включить/выключить стратегию...
 
Vladimir Karputov:

Sie vergleichen nicht, Sie ordnen zu.

Der Vergleich sieht folgendermaßen aus:

Ich danke Ihnen vielmals. =)

 

Ich entschuldige mich im Voraus. Nur noch ein paar Fragen.

Bitte weisen Sie mich darauf hin, wo ich es nicht verstehen kann. MQL4


void OnTick()
  {
//---
............
тело самого советника
.........
return;
  }

Was sind die Fehler? Sie erzeugt.

OnTick' - Funktionsdeklarationen sind nur auf globaler, Namespace- oder Klassenebene zulässig

OnTick" - Funktion bereits definiert und mit Körper

siehe vorherige Erklärung der Funktion 'OnTick'

'}' - Der folgende Fehler tritt am Ende des Programms auf

Da die Klammern hervorgehoben werden, habe ich es noch einmal überprüft. Es ist die schließende Klammer der Funktion "OnTick".

Vor dieser Funktion gibt es nur eine Variablendeklaration und int OnInit(), void OnDeinit(const int reason)

-----------------------------

Ich habe eine einfache Lösung aus diesem Forum geklaut, um alle Aufträge zu schließen.

for(z=OrdersTotal()-1; z>=0; z--)    // закрытие всех ордеров.
        {
         if(OrderSelect(z,SELECT_BY_POS)==true && OrderSymbol() == Symbol())
           {
            OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3,Red);
           }
        }

Ich erhalte ein gelbes Symbol und werde aufgefordert, den zurückgegebenen Wert zu überprüfen. Ich brauche den Rückgabewert nicht zu überprüfen. Worauf deutet sie hin?

------------------------------

Schalterbediener

Hübsches Schalter-Ding. Expression gemacht

switch(flag_1)

Wie der Name schon sagt: Flagge. Er schaltet während der Berechnung je nach Lösung auf 1 der Flaggenwerte um. Markierungen. Die Markierungen, d.h. die Werte dieser Flagge sind 3. Diese sind "Null", "KAUFEN" und "VERKAUFEN".

string flag_1 = "zero";

void OnTick()
  {
switch(flag_1)
     {

      case "zero":
  .............
...............
break;
     case "BUY":
 .............
...............
 break;
    case "SELL":
 .............
...............
 break;
return;
}
}

Und sie mag nicht alles. Wederflag_1 selbstnoch seine Werte. Wie können wir das beheben? Ich möchte nicht zu Zahlen gezwungen werden. Visuell ist es schwieriger zu verstehen, ob es nur Ziffern x = 1, 2 oder 3 gibt. :( Sind Textbeschriftungen nicht erlaubt?

-------------------------------

// Удалить старую отложку
            OrderDelete(OrderBufer_B[i].ticket,clrRed);
            if(OrderSelect(OrderBufer_B[i].ticket,SELECT_BY_TICKET,MODE_TRADES) = true)
              {
               OrderDelete(OrderBufer_B[i].ticket,clrRed);
              }  // повторить

Fehler

Rückgabewert von 'OrderDelete' sollte geprüft werden

'OrderSelect' - l-Wert erforderlich

'=' - l-Wert erforderlich

Ist dieser Prozess überhaupt sinnvoll? Ist es notwendig, alle mit Aufträgen verbundenen Aktionen in eine Schleife zu legen, bis sie abgeschlossen sind? Oder der Server, auch wenn er gerade beschäftigt ist, wird er Ihre Anfrage trotzdem bearbeiten?

Ich verstehe, dass, wenn wir über Aufträge auf dem Markt zu kaufen / verkaufen jetzt sprechen, dann zum Zeitpunkt der Nachrichten, wenn der Server frei sein wird, kann der Preis bereits weit gehen und dann wird der Auftrag nicht ausgeführt werden.




 
Gilmor:

Ich entschuldige mich im Voraus. Nur noch ein paar Fragen.

Bitte informieren Sie mich, wenn ich etwas nicht verstehe. MQL4


Was sind die Fehler? Sie erzeugt.

OnTick' - Funktionsdeklarationen sind nur auf globaler, Namespace- oder Klassenebene zulässig

OnTick" - Funktion bereits definiert und mit Körper

siehe vorherige Erklärung der Funktion 'OnTick'

'}' - Der folgende Fehler tritt am Ende des Programms auf

Da die Klammern hervorgehoben werden, habe ich es noch einmal überprüft. Es ist die schließende Klammer der Funktion "OnTick".

Vor dieser Funktion gibt es nur eine Variablendeklaration und int OnInit(), void OnDeinit(const int reason)

-----------------------------

Ich habe eine einfache Lösung aus diesem Forum geklaut, um alle Aufträge zu schließen.

Ich erhalte ein gelbes Symbol und werde aufgefordert, den zurückgegebenen Wert zu überprüfen. Ich brauche den Rückgabewert nicht zu überprüfen. Worauf deutet sie hin?

------------------------------

Schalterbediener

Nettes Schalterding. Expression gemacht

Wie der Name schon sagt: Flagge. Er schaltet während der Berechnung je nach Lösung auf 1 der Flaggenwerte um. Markierungen. Die Markierungen, d.h. die Werte dieser Flagge sind 3. Diese sind "Null", "KAUFEN" und "VERKAUFEN".

Und sie mag nicht alles. Wederflag_1 selbstnoch seine Werte. Wie können wir das beheben? Ich möchte nicht zu Zahlen gezwungen werden. Visuell ist es schwieriger zu verstehen, ob es nur Ziffern x = 1, 2 oder 3 gibt. :( Sind Textbeschriftungen nicht erlaubt?

-------------------------------

Fehler

Rückgabewert von 'OrderDelete' sollte geprüft werden

'OrderSelect' - l-Wert erforderlich

'=' - l-Wert erforderlich

Ist dieser Prozess überhaupt sinnvoll? Ist es notwendig, alle mit Aufträgen verbundenen Aktionen in eine Schleife zu legen, bis sie abgeschlossen sind? Oder der Server, auch wenn er gerade beschäftigt ist, wird er Ihre Anfrage trotzdem bearbeiten?

Ich verstehe, dass, wenn wir über Aufträge zum Kauf / Verkauf der Markt jetzt sprechen, dann zum Zeitpunkt der Nachrichten, wenn der Server frei sein wird, kann der Preis bereits weit gehen und dann wird der Antrag nicht ausgeführt werden.




Die Ergebnisse von OrderSend, OrderDelete, OrderClose, OrderModify sollten überprüft werden. Es handelt sich lediglich um Anstandsregeln, die in den Rang von Warnungen erhoben werden.

Und "lvalue"-Fehler sind Ihre bevorzugten Vergleichs- und Zuweisungsverwechslungen.

PS/ Nun, man lernt nicht MT programmieren. MT ist eine harte Anwendung.

 
Gilmor:

Ich entschuldige mich im Voraus. Nur noch ein paar Fragen.

Bitte weisen Sie mich darauf hin, wo ich es nicht verstehen kann. MQL4


Was sind die Fehler? Sie erzeugt.

OnTick' - Funktionsdeklarationen sind nur auf globaler, Namespace- oder Klassenebene zulässig

OnTick" - Funktion bereits definiert und mit Körper

siehe vorherige Erklärung der Funktion 'OnTick'

'}' - Der folgende Fehler tritt am Ende des Programms auf

Da die Klammern hervorgehoben werden, habe ich es noch einmal überprüft. Es ist die schließende Klammer der Funktion "OnTick".

Vor dieser Funktion gibt es nur eine Variablendeklaration und int OnInit(), void OnDeinit(const int reason)

-----------------------------

Ich habe eine einfache Lösung aus diesem Forum geklaut, um alle Aufträge zu schließen.

Ich erhalte ein gelbes Symbol und werde aufgefordert, den zurückgegebenen Wert zu überprüfen. Ich brauche den Rückgabewert nicht zu überprüfen. Worauf deutet sie hin?

------------------------------

Schalterbediener

Nettes Schalterding. Expression gemacht

Wie der Name schon sagt: Flagge. Er schaltet während der Berechnung je nach Lösung auf 1 der Flaggenwerte um. Markierungen. Die Markierungen, d.h. die Werte dieser Flagge sind 3. Diese sind "Null", "KAUFEN" und "VERKAUFEN".

Und sie mag nicht alles. Wederflag_1 selbstnoch seine Werte. Wie können wir das beheben? Ich möchte nicht zu Zahlen gezwungen werden. Visuell ist es schwieriger zu verstehen, ob es nur Ziffern x = 1, 2 oder 3 gibt. :( Sind Textbeschriftungen nicht erlaubt?

-------------------------------

Fehler

Rückgabewert von 'OrderDelete' sollte geprüft werden

'OrderSelect' - l-Wert erforderlich

'=' - l-Wert erforderlich

Ist dieser Prozess überhaupt sinnvoll? Ist es notwendig, alle mit Aufträgen verbundenen Aktionen in eine Schleife zu legen, bis sie abgeschlossen sind? Oder der Server, auch wenn er gerade beschäftigt ist, wird er Ihre Anfrage trotzdem bearbeiten?

Wenn es sich um Kauf-/Verkaufsaufträge handelt, dann kann der Preis zum Zeitpunkt der Nachricht, wenn der Server frei ist, weit weg gehen und der Auftrag wird nicht ausgeführt.




Sie haben 2 OnTick-Funktionen


Der Ausdruck des Schaltoperators muss vom Typ Ganzzahl sein.

 
Artyom Trishkin:

Ja, erstellen Sie ein eigenes Thema. Versuchen Sie einfach, den richtigen Bereich des Forums zu wählen, in dem Sie das Thema erstellen möchten.

Ja, gut. Ist"MQL4 und MetaTrader 4" in Ordnung? Oder ist es besser unter "Indikatoren"?
Grund der Beschwerde: