Expert Advisors: Pairs Trading - Seite 3

 
Andrey Khatimlianskii:

Operativ.

Befreien Sie sich davon - indem Sie die Speicherkapazität erhöhen oder Ihre Herangehensweise an die Aufgabe ändern.

Die Schlussfolgerung ist falsch. Es kann viel mehr sein als das.

Es hört einfach auf, sobald es an die Decke stößt.

Ich verstehe. Danke.
 
Andrey Khatimlianskii:

...

Es hört einfach auf, sobald es die Decke erreicht.

Da ist nur noch eine Sache.

Wenn ich kamp neu starte, avj antivirus deaktiviere, das Terminal starte, sind es bereits 4 MB.

17 ist, wenn Browser und andere Terminals laufen....

Daraus schloss ich, dass, wenn ich etwas anderes entferne, das den Arbeitsspeicher belastet, der Test funktionieren sollte.

 

Eine Frage habe ich schon geklärt.

Was ist das für ein Fehler?

Wie kann ich ihn beheben?

Ich verstehe, dass der Füllmodus.... nicht unterstützt wird.

 

Hilfe zur Wiederbelebung des Roboters. Der Fehler wurde behoben - Füllmodus hinzugefügt. (siehe die rote Linie in der vorherigen Abbildung).

Aber die Trades werden nicht im Terminal geöffnet.

Die Registerkarte "Expert Advisors" ist leer.


 

Ich habe das Problem herausgefunden - nicht genug Speicher auf meinem Kappa.

 
Roman Shiredchenko:

Ich habe das Problem herausgefunden - nicht genug Speicher auf meinem Kappa.

Es gibt einen Schlupf von etwa 10 im Code. Mach ihn größer. Das ist, wo die Eule auf den Gewinn wartet.

Über die Ablage: in der Funktion für die Eröffnung von Positionen, setzen Sie diese: request.type_filling=ORDER_FILLING_RETURN; (obwohl anstelle von ORDER_FILLING_RETURN Sie eine andere Füllung setzen können - siehe die Hilfe).

 
Alexander Pavlov:

Der Code hat eine Lücke von etwa 10. Setzen Sie einen größeren ein. Hier wartet die Eule auf den Gewinn.

Zum Thema Füllen: In der Funktion zum Eröffnen von Positionen fügen Sie Folgendes ein: request.type_filling=ORDER_FILLING_RETURN; (obwohl ORDER_FILLING_RETURN durch ein anderes Füllen ersetzt werden kann - siehe die Hilfe).

Ich danke Ihnen. Der Roboter hat im Terminal genau so funktioniert, wie Sie es vorgeschlagen haben.

"(obwohl ORDER_FILLING_RETURN durch eine andere Füllung ersetzt werden kann - siehe Hilfe)." - es hat nicht so funktioniert - ununterbrochener Füllmodus - es gab einen Fehler - die Zeilen sind auskommentiert.

//int type_filling = ORDER_FILLING_FOK;
int type_filling=ORDER_FILLING_RETURN;

//-----OrderSend:
double MyOrderSend(
   string   symbol,               // Symbol
   ENUM_ORDER_TYPE cmd,           // Handelsgeschäft
   double   volume,               // Anzahl der Lose
   double   price,                // Preis
   int      slippage,//=5, // Schlupf.
   double   stoploss,             // Verluststopp
   double   takeprofit,           // Gewinn mitnehmen
  // ENUM_ORDER_TYPE_FILLING 
   int type_filling=ORDER_FILLING_RETURN,
  // int type_filling = ORDER_FILLING_FOK, // 
   
   string   comment=NULL,         // Kommentar.
   int      magic=1,              // Bezeichner
   datetime expiration=0,         // Ablaufdatum der Bestellung
   color    arrow_color=clrNONE   // Farbe
               )  // Geld1,ORDER_TYPE_BUY,Lot1,ask,30,bid-StopLoss*point,ask+TakeProfit*point,type_filling,"",0,0,Blue
  {
  //--- die Anfrage vorbereiten
   MqlTradeRequest request={0};
   request.action=TRADE_ACTION_DEAL;            // auf dem Markt geöffnet
   request.symbol=symbol;                       // Werkzeug
   request.type=cmd;                            // Auftragsart
   request.volume=volume;                       // Volumen in Losen
   request.price=price;                         // Preis zum Öffnen
   request.deviation=slippage;                  // Schlupf
   request.sl=stoploss;                         // Stop Loss
   request.tp=takeprofit;                       // Gewinnmitnahme
  // request.type_filling=ORDER_FILLING_FOK; // Auftragsart nach Ausführung
   request.type_filling=ORDER_FILLING_RETURN;
   request.comment=comment;                     // Kommentar.
   request.magic=magic;                         // ORDER_MAGIC
   request.expiration=expiration;               // Ablaufdatum der Bestellung 
  
 
//--- einen Handelsauftrag senden
   MqlTradeResult result={0};
   if (OrderSend(request,result))
   return(result.price);
   else
   return(0);
  }
//-----OrderSend

Schlupf auf 100 gesetzt.

 
 
Hallo, der Expert Advisor funktioniert auf Demo, gibt Gewinn, wird es auf mehrere Hedge-Paare arbeiten? Vielen Dank.
Dateien:
Doble_trade.jpg  59 kb
 
Eine weitere Frage Korrelationsbalken auf gepaarte Symbole ist es wünschenswert, eine positive Zahl oder auch negativ zu setzen? Der Standardwert ist -0,98.