offene Aufträge mit 10pip Gap - Seite 3

 
    &&  OrderMagicNumber()  == 0           // my magic number

0 ist die magische Standardzahl, so dass Ihre Bedingung keine manuell eröffneten Geschäfte ausschließt.

         Tip   =OrderType();                    // Type of selected order
         Price =OrderOpenPrice();               // Price of selected order
         SL    =OrderStopLoss();                // SL of selected order 
         TP    =OrderTakeProfit();               // TP of selected order
         Lot   =OrderLots();                     // Amount of lots

Hier speichern Sie die Werte der zuletzt ausgewählten Order. Wenn Sie die Werte vonlastTicket speichern möchten, müssen Sie diese erneut auswählen.

Warum durchlaufen Sie eine Schleife, um den letzten Auftrag zu finden, und machen nichts mit dem Ergebnis?

Ihre 2 Codeblöcke sind völlig unabhängig voneinander

 
GumRai:

0 ist die magische Standardzahl, so dass Ihre Bedingung keine manuell eröffneten Geschäfte ausschließt.

Hier speichern Sie die Werte der zuletzt ausgewählten Order. Wenn Sie die Werte vonlastTicket speichern möchten, müssen Sie diese erneut auswählen.

Warum durchlaufen Sie eine Schleife, um die letzte Order zu finden, und machen nichts mit dem Ergebnis?

Ihre 2 Codeblöcke sind völlig unabhängig voneinander




GumRai: Vielen Dank für Ihre Antwort, nach Ihren Hinweisen

OrderMagicNumber() == 0 ------------hier habe ich es 0 gesetzt, weil ich meinen Code getestet habe, also habe ich ihn ohne den Wert Nummer gepostet, danke für die Empfehlungen und Korrekturen

BestellMagischeZahl() == 1234

lastTicket habe ich am Ende meiner Bestellung platziert


lastTicket=OrderSend(Symbol(),OP_BUY,mylot(),Ask,0,0,0, "Mein Kommentar",magic,0,Green);

if(lastTicket>0)
{
bool b=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+(StopLoss*Point),Digits),NormalizeDouble(Ask-(TakeProfit*Point),Digits),0,Red);
}



aber ich weiß nicht, ob ich es wirklich richtig, weil alles, was ich meine ea zu tun ist, ist Platz mehrere verkaufen, um Typ, so möchte ich die ea zu bekommen höchsten offenen Preis in der aktuellen Chart-Symbol und öffnen 10pip über it.and jeden Handel unter aktuellen letzten Auftrag ablehnen.

so zu bekommen, was ich will, ich nehme es Schritt für Schritt. zuerst versuche ich, letzte offene Bestellung erste, nach der fomular WHRoeder gab mir zu bekommen .

so meine Schleife durch, um nicht nur 1 offener Handel, sondern mehrere offene Handel, so dass ist der Grund, warum ich will, um die letzte offene ticket high.please GumRai, wenn ich falsch in meinem orderselected setzen mich durch danke für bereit zu helfen.



// Orders accounting 

{
     datetime lastTime  = 0;
    int      lastTicket = -1; // None open.
    for(int pos = OrdersTotal()-1; pos >= 0 ; pos--) if (
        OrderSelect(0, SELECT_BY_POS,MODE_TRADES)                 // Only my orders w/
    &&  OrderMagicNumber()  == 0           // my magic number
    &&  OrderSymbol()       == Symbol()                 // and my pair.
    &&  OrderOpenTime()     >=  lastTime
    &&  OrderTicket()       >   lastTicket
    ){
      lastTime   = OrderOpenTime();
      lastTicket = OrderTicket();
    }
 
}

         Tip   =OrderType();                    // Type of selected order
         Price =OrderOpenPrice();               // Price of selected order
         SL    =OrderStopLoss();                // SL of selected order 
         TP    =OrderTakeProfit();               // TP of selected order
         Lot   =OrderLots();                     // Amount of lots
   
////////////////////////////////////////////////////////////////////////////////////////////////////////
//---------------------------------------- 5 ------------------------------------//
/*this is the poinnt where main formular or trading system EA-MA is based*/
//---------------------------------------------------------------------------
// Trading criteria
       
rsi1=iRSI(NULL,0,14,PRICE_CLOSE,1);
rsi2=iRSI(NULL,0,14,PRICE_CLOSE,0); 
     
 if(rsi2>70 && Ask > High[1] + (10*pips2dbl) )
  {
      Opn_S=true;
     } 
     else 
   if(rsi2>70 && Ask < High[1] + (10*pips2dbl)) 
      {
      Opn_S=false;
     }


lastTicket=OrderSend(Symbol(),OP_BUY,mylot(),Ask,0,0,0,"My Comment",magic,0,Green);

         if(lastTicket>0)
     {
      bool b=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+(StopLoss*Point),Digits),
                         NormalizeDouble(Ask-(TakeProfit*Point),Digits),0,Red);
     }
 

Bitte versuchen Sie, keine langen Codezeilen in Ihre Beiträge einzubauen, das macht sie schwer lesbar.

   if(lastTicket>0)
     {
      bool b=OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+(StopLoss*Point),Digits),
                         NormalizeDouble(Ask-(TakeProfit*Point),Digits),0,Red);
     }

Es spricht nichts dagegen, 2 Zeilen wie oben zu verwenden.

 
dan100:

WHRoeder ist dieser Code alle in meiner Berechnung der Auftragsausführung bitte ich, mir zu helfen, meine Fehler zu ändern und mich durch. danke für Ihre Bereitschaft zu helfen



dan100:

WHRoeder ist dieser Code alle in meiner Berechnung der Auftragsausführung bitte ich, mir zu helfen, meine Fehler zu ändern und mich durch. danke für Ihre Bereitschaft zu helfen






GumRai danke für deine Korrekturen. aber habe ich obigen Code richtig verstanden

 
dan100: Ich warte immer noch auf Ihre Unterstützung.WHRoeder
Sie werden noch sehr lange warten müssen.
  1. Ich habe dir gesagt, was du tun sollst, und du hast es nicht getan.
  2. Ich habe dich hier daran erinnert, dass du es immer noch nicht getan hast.
  3. Und jetzt fragst du wieder, hast es aber immer noch nicht getan.
 
WHRoeder:
dan100: Ich warte immer noch auf Ihre Unterstützung.WHRoeder
Sie werden eine lange Zeit zu warten.
  1. Ich habe Ihnen gesagt, was Sie zu tun haben, und Sie haben es nicht getan.
  2. Ich habe dich hier daran erinnert, dass du es immer noch nicht getan hast.
  3. Und jetzt fragen Sie wieder, aber immer noch nicht getan haben.



WHRoeder ich habe nicht mehr verstanden, das ist die ganze Logik Teil meiner ea und auch, wo mein Code Wissen ist für now.i dont wissen, was wieder zu präsentieren, nachdem alle

das ist, warum bin hier für Hilfe. aber wenn Sie mir erlauben können, um die ganze ea Code an Sie werde ich gut sein, bitte, bitte WHRoeder bitte helfen Sie mir, ich weiß, Sie können.am warten auf Ihre

Zustimmung und Link, um die ganze ea Codes zu senden.


zusätzlich formell vor Sie gab mir diese Formel......

  1. Finden Sie den offenen Handel mit dem höchsten offenen Preis.
  2. Wenn der Markt nicht den Preis + 10 Pips erreicht hat, zurückkehren
  3. Eröffnen Sie einen neuen Auftrag.


Ich teste nur letzten Preis nur mit gleitenden Durchschnitt Kreuzung ASK Preis oder BID Preis und ich später entdecken, dass es manchmal offene Aufträge unter hohen Preis der aktuellen Chart, so dass das ist, was ich korrigieren möchten

Ich habe keinen Code testen hoch es nur MA und Ask und 10point so kein Code wieder ich in der Prüfung verwenden.

 
dan100:

GumRai danke für Ihre Korrekturen. aber habe ich oben Code richtig bekommen

Erstens ist es nicht klar, was Sie zu tun versuchen

Sie sagen

"aber ich weiß nicht, ob ich tatsächlich bekommen es richtig, weil alles, was ich meine ea zu tun ist, ist Platz mehrere verkaufen, um Typ, so will ich die ea zu bekommen höchsten offenen Preis in der aktuellen Chart-Symbol und öffnen 10pip über it.and jeden Handel unterhalb der aktuellen letzten Bestellung ablehnen.

Also, um zu bekommen, was ich will, nehme ich es Schritt für Schritt. zuerst versuche ich , die letzte offene Bestellung zuerst zu bekommen, nach dem fomularWHRoedergab mir."

Was wollen Sie also finden?

Die Order mit dem höchsten offenen Preis?

oder

Der Auftrag, der zuletzt geöffnet wurde?

Wie kann Ihnen jemand helfen, wenn Sie nicht in der Lage sind zu beschreiben, was Sie wollen?

     datetime lastTime  = 0;
    int      lastTicket = -1; // None open.
    for(int pos = OrdersTotal()-1; pos >= 0 ; pos--) if (
        OrderSelect(0, SELECT_BY_POS,MODE_TRADES)                 // Only my orders w/
    &&  OrderMagicNumber()  == 0           // my magic number
    &&  OrderSymbol()       == Symbol()                 // and my pair.
    &&  OrderOpenTime()     >=  lastTime
    &&  OrderTicket()       >   lastTicket
    ){
      lastTime   = OrderOpenTime();
      lastTicket = OrderTicket();
    }

Dieser Code findet den zuletzt geöffneten Auftrag, aber er speichert den Preis nirgends

      
rsi1=iRSI(NULL,0,14,PRICE_CLOSE,1);
rsi2=iRSI(NULL,0,14,PRICE_CLOSE,0); 
     
 if(rsi2>70 && Ask > High[1] + (10*pips2dbl) )
  {
      Opn_S=true;
     } 
     else 
   if(rsi2>70 && Ask < High[1] + (10*pips2dbl)) 
      {
      Opn_S=false;
     }

Hier geben Sie Opn_S einen Wert, aber Sie tun nichts damit

   lastTicket=OrderSend(Symbol(),OP_BUY,mylot(),Ask,0,0,0,"My Comment",magic,0,Green);

Hier gibt es keine Bedingungen für das Öffnen eines Auftrags und Sie überschreiben den Wert von lastTicket.

Ihr Code hat keine Logik, sondern besteht nur aus 3 Codeabschnitten, die in keinerlei Beziehung zueinander stehen.

 
GumRai danke nochmals für Ihre Hinweise und die Zusammenfassung. Was ich finden möchte ist

höchster offener Preis im aktuellen Chart-Symbol und 10pip darüber öffnen, wenn es sich um einen Kauf handelt/ 10pips darunter öffnen, wenn es sich um einen Verkauf handelt

Bitte helfen Sie mir dabei

 
dan100:
GumRai danke nochmals für die Hinweise und die Zusammenfassung. was ich finden möchte ist

höchster offener Preis im aktuellen Chart-Symbol

Bitte helfen Sie mir dabei

Warum brauchen Sie dabei Hilfe?

Wenn Sie einen Code schreiben können, um den Auftrag mit der letzten (höchsten) OrderOpenTime zu finden, sollte es ein Leichtes sein, den Auftrag mit dem höchsten OrderOpenPrice zu finden.

Es ist eine einfache Substitution.

 
GumRai:

Warum brauchen Sie dabei Hilfe?

Wenn Sie einen Code schreiben können, um den Auftrag mit der letzten (höchsten) OrderOpenTime zu finden, sollte es ein Leichtes sein, den Auftrag mit dem höchsten OrderOpenPrice zu finden.

Es ist eine einfache Substitution.



Ja, ich schreibe meine Codes und einige recherchiere ich, aber wenn ich nicht das gewünschte Ergebnis sehe, suche ich nach Lösungen, obwohl ich weiß, dass ich schon halbwegs fertig bin.

manchmal, egal wie einfach oder klein sie sind, kann schwer zu lösen sein.bitte GumRai helfen Sie mir, ich werde dankbar sein.