benötige bitte Hilfe bei der Codierung - Seite 2

 

deVries, wenn Sie Ihre Tirade lange genug unterbrechen würden, um zu erklären, WARUM der Code, mit dem ich angefangen habe, so "schlecht" ist, würde ich vielleicht verstehen, was ich tun kann, um ihn zu beheben. Lesen Sie Ihre Antwort noch einmal, und erklären Sie dann, wie Ihre Antwort jemandem helfen könnte.

Vielen Dank, RaptorUK, endlich eine Antwort, die ich verwenden können.

Um zu erklären, ich will nur diese EA zu einem Paar, ein Handel zu einer Zeit laufen. Wie ich bereits sagte "... und platziert eine auf jedem von 5 verschiedenen Paar Charts, alle auf der gleichen MT4-Plattform..." was 5 separate (?) Charts mit diesem EA auf sie. In diesem Stadium will oder muss ich die Magic Numbers nicht überprüfen, oder?

Danke für den Kommentar zu den Balken.

Was die Slippage, 4/5 Broker usw. betrifft, so spielt das in diesem Stadium keine Rolle, oder? Ich benutze es für mich selbst, mit demselben Broker usw.

 
und ich vergaß hinzuzufügen, dass ich keine Abkürzung suche, sondern nur Hilfe, um ein Problem zu lösen.
 
Tut mir leid, irgendwie habe ich die anderen Antworten übersehen, also entschuldige ich mich für den "schimpfenden" Kommentar. und danke für die tatsächliche Hilfe.

Und ich habe es getestet, und es funktioniert einwandfrei, keine Fehler, keine Warnungen. Warum funktioniert es dann nicht in einem Live-Chart? (Ich habe die obigen Vorschläge noch nicht umgesetzt)
 
unclebigpete:

1. In diesem Stadium will oder muss ich die Magic Numbers nicht überprüfen, oder?

2. Was die Slippage, 4/5 Broker usw. betrifft, so spielt das in diesem Stadium keine Rolle, oder? Ich verwende dies für mich selbst, mit demselben Broker usw.

1. Wenn Sie nie einen manuellen Handel auf einem der gleichen Paare platzieren werden ... dann können Sie ohne Magic Numbers arbeiten ... wenn Sie es vergessen und zufällig einen manuellen Handel auf einem der Paare platzieren, auf dem Sie diesen EA laufen lassen, dann wird der EA auch Ihren manuellen Handel verwalten ... wenn Sie ihn richtig kodieren, dann wird das kein Problem sein.

2. Es spielt keine Rolle ... solange Sie immer daran denken, die externen Parameter richtig zu setzen ... zum Beispiel hat der Code, den Sie gepostet haben, einen Slippage von 3 ... bei einem 5-stelligen Broker entspricht dies einem Slippage von 0,3 Pips ... wenn Sie ihn richtig codieren, dann bedeutet 3 immer 3 Pips bei einem 4- oder 5-stelligen Broker, und Sie haben dann weniger Spielraum für Fehler. Es nicht richtig zu kodieren, ist eine Abkürzung, die Sie auf lange Sicht wahrscheinlich Zeit kosten wird.

 
unclebigpete:

Und ich habe es getestet, und es funktioniert gut, keine Fehler, keine Warnungen. Warum funktioniert es dann nicht in einem Live-Chart? (Ich habe die obigen Vorschläge noch nicht umgesetzt)
Wo haben Sie es getestet? Im Strategy Tester? Wo haben Sie nach Fehlern gesucht?
 
Ja, ich habe es mit dem Strategietester getestet und kompiliert und dieAntwort "keine Fehler, keine Warnungen" erhalten.
 

Al genau hier ist meine:

Seien Sie diszipliniert bei der Codierung, der erste Parameter von iCustom ist <String Symbol>, verwenden Sie Symbol() oder NULL anstelle von Null.

MetaEditor > Navigatorfenster (Strg +D) > Registerkarte Wörterbuch > Technischer Indikator > iCustom

int QQE_4hr    = iCustom( Symbol(), 240, "c_QQEA",  SF,     RSI_Period,    DART_Factor,     0, 1 );
int QQE_4hr_2  = iCustom( Symbol(), 240, "c_QQEA",  SF,     RSI_Period,    DART_Factor,     0, 2 );

Wenn Sie Shift 1 und 2 in einem 4-Stunden-Chart verwenden, wird das sehr lange dauern.

Die Order Select, die ich vorher erwähnt habe, schreiben Sie so.

MetaEditor > Navigatorfenster (Strg +D) > Registerkarte Wörterbuch > Handelsfunktionen > OrderSelect()

for(int i=0; i<Total; i++)
     {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())
        {

Ich werde mehr über diese OrderSelect() Sache schreiben.

Es gibt 2 Order Close, schreiben Sie sie so, beide

MetaEditor > Navigatorfenster (Strg +D) > Registerkarte Wörterbuch > Handelsfunktionen > OrderClose()

OrderClose(OrderTicket(),
           OrderLots(),
           OrderClosePrice(),//Bid,
           Slippage,
           MediumSeaGreen);

Und ich habe einen anderen Ansatz als RaptorUK, der aber zum gleichen Ergebnis führt, es gibt 2 davon, und Sie müssen beide ändern

if (Ticket > 0)
  {
  if(OrderSelect(Ticket,SELECT_BY_TICKET,MODE_TRADES))
     {
      Print("SELL order opened : ",
             OrderOpenPrice());
             if(SignalMail)
                SendMail("[Signal Alert]",
                         "["
                         +Symbol()
                         +"] "
                         +DoubleToStr(Bid,Digits)
                         +" Open Sell");
       } // if(Order... // ==>> moved from below 
     } // if(Ticket...   
     else
     {
     Print("Error opening SELL order : ",
           GetLastError());
     } // else
   } ==>> move this parenthesis up there

Viel Spaß

:)

 
unclebigpete:
Ja, ich habe es im Strategietester getestet und kompiliert und dieAntwort "keine Fehler, keine Warnungen" erhalten.
OK, also keine Fehler beim Kompilieren... was ist mit Fehlern, wenn Sie es im Strategietester ausführen? Führen Sie die Strategie erneut aus und sehen Sie auf der Registerkarte Journal nach. . .
 

Ich habe es gerade vom 17.05. bis 22.05. auf audnzd laufen lassen, und es wurden 3 Trades eröffnet, 2 Käufe, die ausgestoppt wurden, und ein Verkauf, der am Ende des Tests geschlossen wurde.

Hier ist die Journal-Information, die oberste Zeile zuerst.

2012.05.22 21:38:51 QQE-4hr_15min- testing-2205: erfolgreich geladen

2012.05.22 21:38:53 QQE-4hr_15min- testing-2205 Eingaben: MagicNumber=0; Lots=1; Slippage=3; StopLoss=300; TakeProfit=1000; TrailingStop=300; Nbr_Period=10; Multiplier=3;

2012.05.22 21:38:53 2012.05.17 00:00 c_QQEA AUDNZD,H4: erfolgreich geladen

2012.05.22 21:38:53 2012.05.17 00:00 c_QQEA AUDNZD,M15: erfolgreich geladen

2012.05.22 21:39:13 2012.05.17 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: open #1 buy 1.00 AUDNZD at 1.29960 sl: 1.29660 ok

2012.05.22 21:39:13 2012.05.17 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: BUY Order eröffnet : 1.2996

2012.05.22 21:39:13 2012.05.17 18:32 Tester: Stop Loss #1 bei 1.29660 (1.29660 / 1.29698)

2012.05.22 21:39:15 2012.05.18 20:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: open #2 buy 1.00 AUDNZD bei 1.30386 sl: 1.30086 ok

2012.05.22 21:39:15 2012.05.18 20:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: BUY Order eröffnet : 1.3039

2012.05.22 21:39:15 2012.05.18 23:09 Tester: Stop Loss #2 bei 1.30086 (1.30083 / 1.30121)

2012.05.22 21:39:16 2012.05.21 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: open #3 sell 1.00 AUDNZD at 1.29739 sl: 1.30039 ok

2012.05.22 21:39:16 2012.05.21 16:00 QQE-4hr_15min- testing-2205 AUDNZD,H4: SELL order opened : 1.2974

2012.05.22 21:39:17 2012.05.21 23:59 Tester: Order #3 ist geschlossen

2012.05.22 21:39:17 2012.05.21 23:59 c_QQEA AUDNZD,M15: entfernt

 
Ihr Slippage könnte das Problem sein. Backtesting verwendet niemals Slippage. Lesen Sie Testfunktionen und Limit in MetaTrder4https://www.mql5.com/en/articles/1512