Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 609

 
artmedia70:

Das gilt auch dort. Natürlich - das eine widerspricht dem anderen nicht. Er zählt die Stopp-Aufträge für den Buy vom Ask. Das normalisiert sie nicht. Prüft nicht auf StopLevel-Abstandsbegrenzung.

Kurz gesagt, es ist ein Sammelsurium.



Ich habe es verstanden, danke. Ich habe es mit den Preisen wirklich vermasselt. StopLevel sollte überprüft werden, bevor ein schwebender Auftrag erteilt wird. Auch Haltestellen und Grundstücke werden auf die gleiche Verlaustheit überprüft.

In diesem speziellen Fall ist der Stopp-Leveler gemäß den Bedingungen des Brokers = 0, und der Stopp und der Gewinn werden viel weiter hinten gesetzt. Was den Kurs der Marktorder betrifft, so wird diese, soweit ich es verstanden habe, zum nächstgelegenen Marktkurs eröffnet, und die Stopp-Stufe hat in diesem Fall nichts damit zu tun. Oder?

 
artmedia70:

Bei Buy werden Stop und Take vom Bid-Kurs aus berechnet - das ist einer.

Zweitens: Wenn Sie Stop-Order-Kurse berechnen, müssen diese normalisiert werden. Die Tatsache, dass SL und TP früher normalisiert wurden, ist keine große Sache. Dann verwenden Sie den nicht-normalisierten Wert des Ausdrucks im Handelsauftrag.

Drittens müssen alle Preise den Anforderungen und Beschränkungen für Handelsgeschäfte entsprechen. Die Höhe von StopLevel kann zum Beispiel größer sein als die Größe der Stop-Order.



Habe ich richtig verstanden, dass die Werte im Rahmen des Handelsauftrags normalisiert werden müssen?
 
Sagen Sie mir, wie ich auf elegante Weise die TIME Lowe von gestern finden kann. Denn ich bekomme einige unhandliche Konstruktionen.
 
001:
Sagen Sie mir, wie ich auf elegante Weise die TIME Lowe von gestern finden kann. Denn ich bekomme einige unhandliche Konstruktionen.

Finden Sie die Preis-Kanal-Indikator(doncian Kanal ), setzen Sie eine Tiefe von 1Periode auf die Tagebücher... sollte das sein
 
YOUNGA:

Finden Sie die Preis-Kanal-Indikator (doncian Kanal), setzen Sie eine Tiefe von 1Periode auf die Tagebücher... sollte das sein
Danke, ich werde es ausprobieren. Hat sonst noch jemand eine Möglichkeit, während ich suche?
 

Guten Tag, bitte helfen Sie mir mit dem Code.

Bei dieser Implementierung werden Marktkauf- und -verkaufsaufträge getrennt gemittelt. Wie kann ich erreichen, dass der letzte offene Auftrag in seiner Reihe nicht allgemein geändert wird?

extern int t=10;

///////////////////////////////////////////////////////
      int kolOK=0;
//   int i=0;
   int kol1=0;
   int kol2=0;
   double lots1=0;
   double lots2=0;
   double sum0=0;
   double sum=0;
  // double sum1=0;
   /////////////////////////////////////////////////////////////////////
   int Total = OrdersTotal();
   for(int i=Total-1; i>=0; i--)
   {
      if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;
      if (OrderType()==OP_BUY)
      {
       lots1=lots1+OrderLots();
       sum0=sum0+OrderLots()*OrderOpenPrice();
      // sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ; 
       kol1=kol1+1;
      }
      if (OrderType()==OP_SELL)
      {
       lots2=lots2+OrderLots();
       sum=sum+OrderLots()*OrderOpenPrice();
      // sum1=sum1+OrderProfit( )+OrderSwap( )+OrderCommission( )  ;
       kol2=kol2+1;
      }
   }
   ////////////////////////////////////////////////////////////////////////////
   double zeroprice1=0;
   double zeroprice2=0;
   if (lots1!=0) zeroprice1=sum0/lots1;
   if (lots2!=0) zeroprice2=sum/lots2;
   zeroprice1 = (MathRound(zeroprice1*MathPow(10,Digits)))/MathPow(10,Digits);
   zeroprice2 = (MathRound(zeroprice2*MathPow(10,Digits)))/MathPow(10,Digits);

 int res1 = 0;
 int res2 = 0;

 double zeroprice10 = NormalizeDouble(zeroprice1 + t*Point, Digits);
 double zeroprice20 = NormalizeDouble(zeroprice2 - t*Point, Digits);
 if (zeroprice10 !=0 || zeroprice20 !=0) {
   int Total2 = OrdersTotal();
   for(int in=Total2-1; in>=0; in--)
   {
      if (!OrderSelect(in,SELECT_BY_POS,MODE_TRADES)) continue;
      if (OrderSymbol()!=Symbol()) continue;     

           if (OrderType()==OP_BUY) {if (zeroprice10 == NormalizeDouble(OrderTakeProfit(), Digits)) res1=res1+1; else { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice10,0,CLR_NONE)) res1 = res1+1;} }

           if (OrderType()==OP_SELL){if (zeroprice20 == NormalizeDouble(OrderTakeProfit(), Digits)) res2=res2+1; else { if (OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice20,0,CLR_NONE)) res2 = res2+1;} } 
       }   
   }
 
fmv_for_a_way:


Verstanden, danke. Ich habe in der Tat einen Fehler bei den Preisen gemacht. Wir prüfen den Stop-Loss, bevor wir einen schwebenden Auftrag erteilen. Es gibt auch eine Stopp- und Verlustkontrolle für die gleiche Lousiness.

In diesem speziellen Fall ist das Stopp-Level des Brokers = 0 und der Stopp und der Gewinn sind viel weiter entfernt. Was den Kurs der Marktorder angeht, so wird sie meines Wissens zum nächstgelegenen Marktkurs eröffnet, und die Stopp-Stufe hat damit nichts zu tun. Richtig?

Nein, ist es nicht. Alpari verwendet die Doppelseite als StopLevel.
 
fmv_for_a_way:

Habe ich richtig verstanden, dass Sie die Werte innerhalb des Handelsauftrags normalisieren müssen?
Nicht unbedingt direkt im Inneren. Aber kurz vor dem Absenden, ja.
 
artmedia70:
Das muss nicht unbedingt richtig sein. Aber kurz vor dem Versand, ja.


Ich danke Ihnen. Ich werde nach einer Lösung suchen.
 
Leute, könnt ihr mir sagen, wo ich MT4 Build 625 herunterladen kann?