[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 596

 
evillive:
Frage: Im visuellen Testmodus werden die Indikatorlinien erst am Ende des Tests gezeichnet. Ist dies bei allen der Fall oder mache ich etwas falsch?

alle von ihnen.

https://www.mql5.com/ru/forum/131853/page2#463027

 
Ratschläge zur korrekten Eröffnung von Aufträgen mit Verlusten und Mitnahmeeffekten in einem Alpari Advisor (Code)
 
link1:
Ratschläge zur korrekten Eröffnung von Aufträgen mit Verlusten und Mitnahmeeffekten in einem Alpari Advisor (Code)

Wissen Sie, wie man Aufträge mit FST und TP in einem EA (Code) korrekt öffnet?
 
zxc:

Wissen Sie, wie man bei einem anderen Maklerunternehmen "Aufträge mit Verlusten und Mitnahmen korrekt eröffnet"?

Und was ist der Unterschied zwischen der Eröffnung eines Auftrags bei Alpari und der Eröffnung eines Auftrags bei Oanda oder einem anderen Maklerunternehmen?
 
zxc:

Wissen Sie, wie man bei einem anderen Maklerunternehmen "Aufträge mit Verlusten und Mitnahmen korrekt eröffnet"?

Ich habe mit anderen Brokerage-Unternehmen gearbeitet, mein EA funktioniert, aber nicht mit Alpari, deshalb frage ich, vielleicht gibt es einige Besonderheiten?
 
link1:

Ich habe ein gutes Gefühl mit anderen Brokerfirmen, mein EA funktioniert, aber nicht mit Alpari.


Hier hätten Sie anfangen müssen. Können Sie im Terminal, wenn Sie einen Auftrag manuell eröffnen, sofort Stops setzen?

Was steht dort, wo die Auftragsart steht? Sofortige Ausführung oder Marktausführung?

 
zxc:


Hier hätten Sie anfangen müssen. Können Sie im Terminal, wenn Sie einen Auftrag manuell eröffnen, sofort Stops setzen?

Was steht dort, wo die Auftragsart steht? Sofortige Ausführung oder Marktausführung?


Was Alpari betrifft, wenn Sie eine Marktausführung haben, können Sie keine SL oder TP platzieren, nur wenn Sie eine schwebende Order haben, können Sie es auf einem Demokonto tun, wie auf einem Mikrokonto.

Ich habe auch auf dieses Problem geachtet und beschlossen, meinen EA zu modifizieren, indem ich SL und TP ohne SL setze, und ihn dann zu modifizieren und SL und TP zu setzen.

Aber wie kann man sie ändern? )) Ich kopierte die Modifikation von einigen Expert Advisor, aber es gab einen Fehler im Code und es nicht kompilieren. Um ehrlich zu sein gibt es keinen Artikel über die Modifikation und Beispiel mit Trailing Stop im Tutorial. Ich habe gerade begonnen, Sprache zu lernen und dies ist mein erster EA und ich weiß nicht, wie man Aufträge richtig zu modifizieren...

Ich denke auch, dass das Problem vielleicht in den 5 Ziffern liegt? was denken Sie?

 

Wie wäre es damit? Und für die Gewinnmitnahme in etwa die gleiche Weise...

for(int i = 0; i < total; i++)

     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {

                  if(OrderStopLoss()==0)
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                   }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {

                 if(OrderStopLoss()==0)
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*sl,OrderTakeProfit(),0,Orange);
                    return(0);
                  }
            }
         }
     }

Sie können die Stop-Loss-Order in diesem Zyklus überhaupt nicht ändern und die Order bei Erreichen des Stop-Levels schließen. Für DC wird die Order wie ohne Stop-Loss aussehen, aber sie wird vom EA eindeutig geschlossen, wenn das Stop-Loss-Level überschritten wird (sl-Variable):

   for(int i = 0; i < total; i++)
     {
       OrderSelect(i, SELECT_BY_POS, MODE_TRADES); 
       // check for symbol & magic number
       if(OrderSymbol()==Symbol() && OrderMagicNumber()== Magic) 
         {
           if(OrderType() == OP_BUY)  // long position is opened
            {
               if((OrderOpenPrice()-Ask)<Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Aqua);
                 }
               if((Bid-OrderOpenPrice())>Point*(ts+minp)) //trail
                 {
                  if(OrderStopLoss()<(Bid-Point*ts))
                   {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*ts,OrderTakeProfit(),0,Orange);
                   }
                 }
            } 
           if(OrderType() == OP_SELL)  // short position is opened
            {
               if((Bid-OrderOpenPrice())>Point*sl) // stoploss
                 {
                    OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Magenta);
                 }
               if((OrderOpenPrice()-Ask)>Point*(ts+minp)) //trail
                {
                 if(OrderStopLoss()>(Ask+Point*ts))
                  {
                    OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*ts,OrderTakeProfit(),0,Orange);
                  }
                }
            }
         }
     }
 
Ich möchte ein 2-dimensionales Array [Ticket][Eröffnungspreis] erstellen. Die Frage ist, welcher Typ das Array als int oder duble deklarieren soll?
 
dmmikl86:
Ich möchte ein 2-dimensionales Array [Ticket][Eröffnungspreis] erstellen. Die Frage ist, welcher Typ das Array als int oder dub deklarieren soll?

Eröffnungspreis ist doppelt so hoch