[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 1015

 

Hilfe!!! Ich kämpfe schon seit drei Stunden!!! Ich kann die Variable order=Close[1] nicht zuweisen. Die Idee ist, dass zum Zeitpunkt der Bestellung zu erinnern, den Preis, wie es zu diesem Zeitpunkt war.

Dann können Sie ihn mit dem aktuellen Kurs vergleichen und den Stop Loss oder Take Profit verschieben,

Ich bin vielleicht ein Idiot, aber ich sollte es besser wissen.

Ich danke Ihnen im Voraus.

//+------------------------------------------------------------------+
//| Tester.mq4 |
//| Dimon |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#Eigentum copyright "Dimon"
#property link "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+

extern int BandsPeriod=20,i=1 ;extern int BandsShift=0;
extern double BandsDeviations=2.0;
extern double Lots=0.1,TakeProfit=50,stoploss=10 ;double PointX;extern int parametrA=2;
int init()
{ if(Ziffern==5 || Ziffern==3) PunktX = Punkt * 10; // Korrekturpunkt für drei-fünf Ziffern
if(Ziffern==4 || Ziffern==2) PointX = Point;
//----
Alert ("PointX",PointX);
//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{double order, newloss=12;Alert (" order ",order);
wenn (ParameterA==0){
int total=OrdersTotal();// Comment(" total ",total); Alert (" total ",total);
if ( total !=0 ){return;}

double Durchschnitt,Verhnyayaghranytsa,Nyzhnyayaghranytsa,newres,Summe,Abweichung;
string text; int ticket; int err;
text="macd sample";}else { Comment("Boje!",Verhnyayaghranytsa );
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-stoploss*PointX,Ask+TakeProfit*PointX, "macd sample",16384,0,Green);
Alert (" stoploss ",Ask-stoploss*PointX);Alert (" parametrA ",parametrA);
order=Close[1];Comment("buoy!order ",order );parametrA--;
}
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+

 
Ich habe gerade begonnen, einen EA für mt4 mit Gordago Forex Optimizer zu schreiben, ich bin gut mit dem Algorithmus, so dass ich den EA direkt in das Terminal setzen, prepositioned stoplosses und takeprofits für den Kauf und Verkauf in Optimizer.Alles wird normal getestet, aber der EA funktioniert auf einem realen Chart überhaupt nicht; wenn ich Nullen anstelle von Stopps und Übernahmen setze, geht der Handel sofort weiter, aber nicht mit den Ergebnissen, die ich brauche.
 
Dimka-novitsek:

Hilfe!!! Ich kämpfe schon seit drei Stunden!!! Ich kann die Variable order=Close[1] nicht zuweisen. Die Idee ist, dass zum Zeitpunkt der Bestellung zu erinnern, den Preis, wie es zu diesem Zeitpunkt war.

Dann können Sie ihn mit dem aktuellen Kurs vergleichen und den Stop Loss oder Take Profit verschieben,

Ich bin vielleicht ein Idiot, aber ich weiß nicht, was ich damit anfangen soll.

Vielen Dank im Voraus.

....
Dateien:
1_1.mq4  2 kb
 
Vielen Dank!!!!Dankeschön!!!!
 
sezon:

Ich dachte, ich melde mich auch mal hier ...

Wie richte ich den E-Mail-Versand an narod.ru ein?

Alle Varianten ausprobiert:

SMTP-Server - smtp.narod.ru

SMTP-Anmeldung: - имя@narod.ru

SMTP-Kennwort - Kennwort

Von: slt-soft@narod.ru

An: slt-soft@narod.ru

Fehler: Mail: Anmeldung bei smtp.narod.ru fehlgeschlagen

Ich bin mir nicht ganz sicher, aber die Leute scheinen nur einen Benutzernamen zu brauchen (d.h. Sie haben einen Namen - alles vor dem Hund), keine vollständige E-Mail

Aber auf manchen Smtp-Servern muss man das Hündchen durch ein Pluszeichen ersetzen und dann beginnt es sich normal einzuloggen, auf manchen Servern versteht es sowohl das Hündchen als auch das Pluszeichen und auf manchen nur das Login

 
Natürlich ist es nicht 1, es ist 0!!!! Ich verstehe einfach nicht, wie es möglich ist, eine Variable vor der Startfunktion zu deklarieren. !!!!!!!!!!!!!!!!Das ist die einzige Möglichkeit, wie es funktioniert!
 
Ich werde die globalen Variablen erneut lesen, aber der Compiler hat das nicht getan!
 
Dimka-novitsek:
Ich werde die globalen Variablen erneut lesen, aber der Compiler hat das nicht getan!
hatte nichts dagegen, weil es keine Syntaxfehler gab. Dies ist ein logischer Fehler, der Compiler sieht ihn nicht
 
001:


Ja, das ist genau das Richtige. Sie haben eine sehr nützliche Datei hochgeladen: OptimizationReport.mq4. Ich habe sie ein wenig verbessert, um den Erholungsfaktor zu berechnen. Jetzt möchte ich den Wert dieser Variablen im Hauptcode abrufen, um die Optimierung zu beschleunigen, indem ich das Bestehen des Testers erkenne und den Grenzwert für die PV-Ebene festlege. Ich habe versucht, es über globale Variablen zu machen. Ich kann den Wert meiner Variablen im Hauptcode nicht sehen.

Ich schreibe im Expert Advisor:

double myValue = GlobalVariableGet("myValue");
Print("myValue="+myValue);
MessageBox("myValue="+myValue);
Alert("myValue="+myValue);

im Include (ich bringe es hoch):

GlobalVariableSet("myValue", 1);

Funktioniert nicht, myValue=0.00000000


Das Problem ist, dass dieses Bibilio in der Regel erst ganz am Ende funktioniert. Um einen Bericht zu erstellen.

Es wäre besser, einfach eine Funktion zur Berechnung des Erholungsfaktors zu erstellen und diese bei jedem Tick oder Balken oder nur beim Schließen der Position aufzurufen. Aber bei jedem Tick ist es einfacher, den maximalen Drawdown zu berechnen.

 
Vinin:

Das Problem ist, dass diese Bibliographie in der Regel erst ganz am Ende steht. Um einen Bericht zu erstellen.

Es ist besser, einfach eine Funktion zur Berechnung des Erholungsfaktors zu erstellen und diese bei jedem Tick oder Balken oder nur beim Schließen der Position aufzurufen. Aber bei jedem Tick ist es einfacher, den maximalen Drawdown zu berechnen.

Leider habe ich nicht genug Grips, um es selbst zu schreiben.