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

 
Vitya >> :

Wenn Sie die Sperre meinen, verstehen Sie nicht ---- Ich bestehe nicht darauf, ich weiß nicht, wie man sie benutzt.

Einen Teil der unrentablen Positionen schließen? ------ Ich glaube schon, aber ich habe es noch nicht ausprobiert.

Ich weiß selbst nicht, wie man es benutzt.

https://www.mql5.com/ru/code/9185

 
costy_ >> :

Manuell tester die Antwort kann nur dort gefunden werden (oder in der Demo) hier ist der Link zum Simulator

https://www.mql5.com/ru/code/9185

Ich denke, die Antwort kann nur in der Mathematik oder in der realen Handelserfahrung gefunden werden. Schade, dass ich weder das eine noch das andere habe. Danke für den Link.

 
Vitya >> :

Ich denke, die Antwort kann nur in der Mathematik oder in der realen Handelserfahrung gefunden werden. Ich finde es schade, dass ich keine davon habe. Danke für den Link.

Wenn Sie keine Ahnung von Mathematik haben, aber nicht handeln können, müssen Sie lernen, und Sie werden schließlich Erfolg haben!

Ich empfehle, den manuellen Handel mit CCI(55) und MA(55) auf M5 GBPJPY mit Fibonacci-Zahl zu beginnen und innerhalb dieser Zahl Ihren Zeitraum zu finden (heute ist meiner 67), viel Glück!

Ja, fast hätte ich es vergessen, die Handelszeit ist auch sehr wichtig, nämlich die Eröffnung der Handelssitzung der Region, deren Währung wichtig ist (und Amerika...).

 
Kann jemand überprüfen, ob in diesem Modul alles korrekt ist?
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// MOVE SL TO BE

if( Mode_Close_Part_Set_BE_1==true   &&   OrdersTotal()>0) {

      for(int cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++) {
         OrderSelect( cnt_BE, SELECT_BY_POS);         // the next line will check for ONLY market trades, not entry orders
         Ticket = OrderTicket();

// BUY -----------------------------------------------------------------------------------------
         if(OrderType()==OP_BUY   &&   OrderSymbol()==Symbol()   &&   OrderStopLoss()<OrderOpenPrice()   &&   Ask>=(OrderOpenPrice()+ MathAbs(OrderOpenPrice()-OrderStopLoss())) ) {
                  double SL_Original_Buy   = OrderStopLoss();

                  bool AnsHalfModifySL_Buy = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Green);
                  Sleep( Slippage*3000);

                  if( AnsHalfModifySL_Buy==true) {
                     BreakEvenStatus_Buy   = true;
                     Alert ("SL Buy which was ", SL_Original_Buy, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if( Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_BUY  &&  OrderSymbol()==Symbol() )
// EO BUY -----------------------------------------------------------------------------------------


// SELL -----------------------------------------------------------------------------------------
         if(OrderType()==OP_SELL  &&  OrderSymbol()==Symbol()   &&   OrderStopLoss()>OrderOpenPrice()   &&   Bid<=(OrderOpenPrice()-MathAbs(OrderStopLoss()-OrderOpenPrice())) ) {
                  double SL_Original_Sell   = OrderStopLoss();

                  bool AnsHalfModifySL_Sell = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);
                  Sleep( Slippage*3000);

                  if( AnsHalfModifySL_Sell==true) {
                     BreakEvenStatus_Sell   = true;
                     Alert ("SL Sell which was ", SL_Original_Sell, " set to BreakEven at ", OrderStopLoss(), " for ", Symbol());
                  }

                  if( Fun_Error(GetLastError())==1) {       // Обработка ошибок
                     continue;                             // Повторная попытка
                  }

                  return;                                // Выход из start()
         } // if(OrderType() == OP_SELL  &&  OrderSymbol()==Symbol() )
// EO SELL -----------------------------------------------------------------------------------------

      } // for(cnt_BE=0; cnt_BE<OrdersTotal(); cnt_BE++)
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Ich frage deshalb, weil nach jedem Aufruf die Meldung "Fehler 0 ist aufgetreten" erscheint, obwohl alles korrekt zu funktionieren scheint (bis zum Break-Even).





 
chief2000 писал(а) >>
Kann jemand überprüfen, ob in diesem Modul alles korrekt ist?

Ich frage, weil nach jedem Aufruf die folgende Meldung erscheint: "Fehler 0 ist aufgetreten", obwohl alles richtig zu funktionieren scheint (bis zum Break-even).

Wahrscheinlich ein Versuch, eine Bestellung zu alten Preisen zu ändern. Wir sollten die neuen und alten Auftragsparameter vergleichen. Und sie sollte nur bei Bedarf geändert werden.

 

Fehler 0 tritt auf, wenn OrderModify nichts ändert, sondern nur den alten Preis wiederherstellt.

 

Hier ist ein Beispiel:




Ein Auftrag wurde mit SL=1,1596 eröffnet. Dann änderte sich der SL auf 1,1570, und schließlich dieser Fehler.

Es kann nicht in die zweite Runde gehen, weil es eine Bedingung gibt:

... OrderStopLoss()>OrderOpenPrice() ...


- Was könnte das sein?





 
chief2000 писал(а) >>

Hier ist ein Beispiel:

Ein Auftrag wurde mit SL=1,1596 eröffnet. Dann änderte sich der SL auf 1,1570, und schließlich dieser Fehler.

Es kann nicht in die zweite Runde gehen, weil es eine Bedingung gibt:

- Was könnte das sein?

Das könnte es. Überprüfen Sie die logischen Bedingungen erneut, aber erst am Morgen.

Was in der Logik steckt, ist das, was es tun kann.

 
Vinin >> :

Vielleicht. Überprüfen Sie die logischen Bedingungen erneut, aber erst am Morgen.

Die in die Logik eingebaute Technik ermöglicht dies.

Ich werde nachsehen. >> Dankeschön!

 

Hilfe

int start()  {
//----
Alert(Minute(),Hour());
int Minute( )
Gibt die aktuelle Minute (0,1,2,...59) der letzten bekannten Serverzeit beim Programmstart zurück (dieser Wert ändert sich nicht während der Programmausführung).

Hinweis: Bei den Tests wird die letzte bekannte Serverzeit simuliert.

Aber im Indikator wird beim Testen die letzte bekannte Serverzeit nicht simuliert. sollte das so sein?