Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 249
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Was für ein Fehler ist das, ich nehme an, von Seiten des DC, ein schlechtes Training?
Was für eine Art von Fehler ist das, nehme ich an, von der Seite des DCs der schlechten Nachbesprechung?
128
ERR_TRADE_TIMEOUT
Zeitüberschreitung abgelaufen
Teil des Handlers:
128
ERR_TRADE_TIMEOUT
Zeitüberschreitung für die Handelsausführung abgelaufen
Teil des Handlers:
Ich habe diese Fehlerhandler in meinem Code, aber sie haben nie existiert. Heute habe ich beschlossen, mein Programm in der Demo eines bekannten Maklerunternehmens zu testen und bin zum ersten Mal auf solche Fehler gestoßen.
Verstehe ich das richtig, dass dies ein Hardware-Problem bei der Maklerfirma ist und nicht auf meiner Seite?
Bitte sagen Sie mir, ob diese Funktion korrekt ist. Die Idee ist, zu berechnen, ob der Preis den Durchschnittspreis während einer bestimmten Anzahl von vorherigen Kerzen durchbrochen hat.
die Funktion wird überhaupt nicht ausgeführt, das Ergebnis sollte sein: wenn sie nicht gebrochen ist returnToMA ==1, wenn sie gebrochen ist returnToMA ==0
Gibt es vielleicht eine andere Lösung für dieses Problem?
returnToMA = MAtouch(TRADE_TF2,TRADE_TF2_MA,barscount)
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_H4, int tradema=10, int bars=100)
{
for(i=0;i<=Balken;i++)
{
if(iLow(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)) {return(0);break;}
wenn (iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)) {return(0);break;}
sonst return(1);
}
Bitte sagen Sie mir, ob diese Funktion korrekt ist. Die Idee ist, zu berechnen, ob der Preis den Durchschnittspreis während einer bestimmten Anzahl von vorherigen Kerzen durchbrochen hat.
die Funktion wird überhaupt nicht ausgeführt, das Ergebnis sollte sein: wenn sie nicht gebrochen ist returnToMA ==1, wenn sie gebrochen ist returnToMA ==0
Vielleicht gibt es andere Lösungen für dieses Problem?
Ihre Funktion wird immer Null ergeben, da das Maximum oder Minimum immer größer/kleiner oder gleich dem MA ist.
Der Candlestick muss in Ihrem Fall durch mindestens zwei Parameter beschrieben werden:
1) Bestimmen Sie, wo die Kerze eröffnet wurde - über oder unter dem MA
2. Prüfen Sie je nach 1, ob der MA berührt wurde.
Sie werden immer Null in der Funktion haben, da das Maximum oder Minimum immer größer/kleiner als oder gleich dem MA ist.
Der Candlestick muss in Ihrem Fall durch mindestens zwei Parameter beschrieben werden:
1. Bestimmen Sie, wo die Kerze eröffnet wurde - über oder unter dem MA
2. Abhängig von 1, prüfen Sie, ob der MA berührt wurde.
Ich danke Ihnen. Ich habe die Bedingung hinzugefügt, aber es wird immer 1 zurückgegeben. Kann ich die Klammern irgendwo ändern? Oder funktioniert break nicht und die Funktion wird beendet, indem dem Rückgabewert 1 zugewiesen wird
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_H4, int tradema=10, int bars=100)
{
for(i=0;i<=Balken;i++)
{
if( iLow(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{return(0);break;}
wenn ( iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{return(0);break;}
sonst return(1);
}
Danke. Ich habe die Bedingung hinzugefügt, aber es wird immer 1 zurückgegeben. Kann ich die Klammern irgendwo ändern? Oder funktioniert break nicht und die Funktion wird beendet, indem dem Rückgabewert 1 zugewiesen wird
int MAtouch(ENUM_TIMEFRAMES tfpricereturnafterbreak=PERIOD_H4, int tradema=10, int bars=100)
{
for(i=0;i<=Balken;i++)
{
if( iLow(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{return(0);break;}
wenn ( iHigh(Symbol(),tfpricereturnafterbreak,i)>=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i)
&&iOpen(Symbol(),tfpricereturnafterbreak,i)<=iMA(Symbol(),tfpricereturnafterbreak,tradema,0,MODE_EMA,PRICE_WEIGHTED,i))
{return(0);break;}
sonst return(1);
}
Probieren Sie es so
Es wird 1 zurückgegeben, wenn die Bedingung erfüllt ist - es gab einen Schnittpunkt - ist das nicht das, was wir wollen?
Versuchen Sie dies
Es wird 1 zurückgegeben, wenn die Bedingung erfüllt ist - es gab einen Schnittpunkt - ist das nicht das, was wir wollen?
Danke, mit Ihrer Version des Codes funktioniert es wie am Schnürchen
Guten Tag!
Leute, könnt ihr mir sagen, ob man den Indikator programmgesteuert auf dem Chart anzeigen kann? Oder nur manuell?
Wenn ja, welcher Befehl wird erteilt?