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

 
Dimka-novitsek:

Es tut mir leid, ich kann nicht mit meinem "Expert Advisor" umgehen, er gibt chronisch einen Fehler 130 falsche Stops, und handelt nicht. Ich habe verschiedene Stops gesetzt, 10-60 Pips, alle gleich.


Geben Sie zunächst in SendOrders anstelle von Stop und Profit 0 ein. Überprüfen Sie, ob die Aufträge geöffnet sind. Auf den ersten Blick müssen Ihre Stopps zehnmal größer sein, wahrscheinlich haben Sie fünfstellige Kurse und die Stopps liegen zu nahe am Eröffnungskurs .
 
Dimka-novitsek:

Es tut mir leid, ich kann nicht herausfinden, mit meinem "EA", es chronisch gibt Fehler 130 falsche Stops, und nicht den Handel. Ich habe alle Arten von Stops, 10-60 Pips, alle die gleichen gesetzt.

Ich denke, es sollte funktionieren. als mein EA nicht richtig funktionieren überhaupt, meine insgesamt ist immer 0, abwechselnd mit einem Fehler 130.

Ich setzte extern double Lots=0.1, TakeProfit=50, stoploss=10;

Ich weiß nicht, was falsch ist.

Hilfe!!!!!!!!!!!! Bitte!!!!!!!!!!!!


Mir geht es gut, vielleicht fünfstellig? stops*10 und takeloss*10

 
costy_:


Mir geht es gut, vielleicht fünf Ziffern? Stopp*10 und nimm*10

Nun, das Problem mit den fünf Ziffern und allen Zeichen ist leicht zu lösen.

Sie schreiben es in der Inite:

   if(Digits==5 || Digits==3) PointX = Point * 10; // Корректировка Point под трёх- пятизнак
   if(Digits==4 || Digits==2) PointX = Point;
Und dementsprechend deklarieren Sie zunächst die Variable PointX vom Typ double. Dann ersetzen Sie im EA-Code überall Point durch PointX
 
Danke!!!Ich denke, das ist es definitiv!!!!
 
ivandurak:


wie diese

static int KolBars; // diese Variable speichert die Anzahl der Balken

if ( Ihre Bedingung && Bars != KolBars)

{ // wenn sich die Anzahl der Balken auf dem Bildschirm geändert hat - die Eröffnung einer neuen Kerze ist die Bedingung für das Ergreifen von Maßnahmen

Es werden Aktionen gemäß dem Algorithmus durchgeführt, Schließpositionen öffnen, Berechnungen usw;

KolBars=Bars ; // Aufzeichnung der Anzahl der Takte, bei denen die Aktionen abgeschlossen werden

}

Jetzt werden Trades jede Stunde (TF H1) mit dem Erscheinen einer neuen Kerze eröffnet, trotz meiner Eröffnungsbedingung.

Ich weiß auch nicht, wie ich den Stop-Loss durch den Schluss einer bestimmten Kerze ersetzen kann.

"static int KolBars; // diese Variable speichert die Anzahl der Balken" - soll ich die Anzahl der zu analysierenden Candlesticks angeben? static int KolBars=3


Ich möchte einen EA mit einer Bedingung wie "wenn die vorherigen 3 Candlesticks grün waren, dann öffnen Sie einen Verkauf Handel auf eine neue Kerze, und schließen Sie es auf den Abschluss dieser Kerze oder die nächste".

 
GENETIC ALGORITHM liefert jedes Mal andere Ergebnisse...... was ist zu tun??? versuchte Normalisierung. Es gibt keine Zettel. In der Programmierung scheint nicht das erste Jahr......... zu sein, das ich NICHT VERSTEHEN kann!!! HILFE!!!
 
costy_:

http://forexsystems.ru/sovetniki/26492-poisk-sovetnikov-[kto-ischet-pishem-sdes%60].html

h ttp://www.forexfactory.com/showthread.php?t=168161


Ich danke Ihnen vielmals.
 
Stepan241:
GENETIC ALGORITHM liefert jedes Mal andere Ergebnisse...... WHAT TO DO??? versuchte die Normalisierung. Es gibt keine Zettel. In der Programmierung scheint nicht das erste Jahr......... zu sein, das ich NICHT VERSTEHEN kann!!! HILFE!!!


Stellen Sie sich vor, Sie müssten eine Genlock-Funktion selbst implementieren, was wäre dazu nötig?!

Wie viele Durchgänge müsste er ohne und wie viele Durchgänge würde er mit einem Gen-Algorithmus machen?(bitte für den betreffenden Fall angeben).

Wenn die Daten ohne Genlock nach zwei Optimierungen nicht übereinstimmen, müssen irgendwo Pseudozufallszahlen verwendet worden sein, um eine Handelsbedingung zu schaffen (Schwänze?).

"Keine Ausrutscher" beim Testen und Optimieren Ausrutscher funktionieren überhaupt nicht.

 

Es ist interessant, ich habe ivanduraks Beitrag gelesen und sofort erkannt, dass nach jedem Tick nur der Start ausgelöst wird, wenn man also die Variable global öffnet, scheint sie den Wert zu speichern.

Стало быть,где-то так.//+------------------------------------------------------------------+
| Bollocks.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
int KolBars=Bars;
//+------------------------------------------------------------------+
//| Experten-Initialisierungsfunktion |
//+------------------------------------------------------------------+
int init()
{
//----
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Experten-Deinitialisierungsfunktion |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
zurück(0);
}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{int r;
r=Bars- KolBars
//----
for( r>0 )
int k;
//----
zurück(0);
}
//+------------------------------------------------------------------+ Der Compiler akzeptiert also kategorisch nicht die Zeile int KolBars=Bars; er schwört auf 'Bars' - Initialisierung erwartet C:\Program Files (x86)\Alpari ÌÒ4\experts\Áùå.mq4 (8, 13)

Erstaunlich!!!!! Normale Variablendeklaration, aber das macht nichts.

Ich werde die Hauptsache fragen - wie ein EA am Wochenende zu debuggen, wenn die Ticks nicht gehen?????

 
artmedia70 16.10.2010 20:56

costy_:


Mir geht es gut, vielleicht fünf Ziffern? stops*10 und take*10


Nun, das Problem mit fünf Ziffern, und mit allen Zeichen ist nicht schwer zu lösen.

In der Inite schreiben Sie:
if(Digits==5 || Digits==3) PointX = Point * 10; // Point für drei- und fünfstellige Zeichen korrigieren
if(Digits==4 || Digits==2) PointX = Point;
Und dementsprechend die Variable PointX zunächst als double deklarieren. Dann ersetzen Sie im EA-Code überall Point durch PointX Nochmals vielen Dank!!! Ich habe selbst eine Woche lang mit diesem Problem gekämpft!!!