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

 
Oh, ich habe es also richtig verstanden?
 
FAQ 17.03.2012 12:18
Höchstwahrscheinlich haben Sie zum Zeitpunkt der Eröffnung eine Null in derpriceBUY-Variable, also Bid-priceBUY(0)==Bid, und daher

Nein, wenn es so wäre, dann würde auch der SELL falsch getrawlt werden, während der SELL gut funktioniert...... Ich habe bereits versucht, den Anfangswert von priceBUY von "0" auf "open price" zu ändern. .... funktioniert nicht, mein Gehirn ist bereits gebraten(((

 
MIR-ASOV:

Nein, wenn es so wäre, würde auch der SELL nicht korrekt getrawlt werden, aber der SELL funktioniert gut...... Ich habe bereits versucht, den Anfangswert von priceBUY von "0" auf "open price" zu ändern .... funktioniert nicht, mein Gehirn ist bereits gebraten(((

Was hindert Sie daran, einen solchen Code zu verwenden?

   
   extern int ts=25, minp=10;

for(int i = OrdersTotal(); i >= 0; 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((Bid-OrderOpenPrice())>Point*(ts+minp)) // trall
                 {
                  if(OrderStopLoss()<Bid-Point*ts)
                    {
                      if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-Point*ts,Digits),0,0,Orange)) {Sleep(11000); prevtime = Time[1];}
                    }
                 }
            } 
           if(OrderType() == OP_SELL) // short position is opened
            {

               if((OrderOpenPrice()-Ask)>Point*(ts+minp))// trall
                {
                 if(OrderStopLoss()>Ask+Point*ts)
                   {
                       if(!OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+Point*ts,Digits),0,0,Orange))
                      {
                        Sleep(11000);
                        prevtime = Time[1];
                      }
                   }
                }

            }
          }
     }
//----

Alles funktioniert, wie es sollte.

 

Alles Gute zum St. Patrick's Day!

Lieber, ich bitte um Hilfe. Helfen Sie mir, ein Signal aus einem Indikator in einen EA zu übertragen. D.h. wenn eine blaue Linie erscheint - kaufen, wenn rot - verkaufen.

So schrieb er in Eule:

double dn_stop_1 = iCustom(NULL,0,"NRTR_ATR_STOP",ATR,Coeficient,0,1); // синий, снизу
double up_stop_1 = iCustom(NULL,0,"NRTR_ATR_STOP",ATR,Coeficient,1,1); // красный, сверху

   if (dn_stop_1!=EMPTY_VALUE)
       return(1);//покупка
   if (up_stop_1!=EMPTY_VALUE)  
       return(-1);//продажа

Ich habe nichts gefunden, es scheint, dass die Puffer immer gleich 0 sind.

Dateien:
 

evillive А что мешает использавать вот такой код?


Wenn es in dem Beispiel nur eine Order gibt (entweder KAUFEN oder VERKAUFEN), aber wenn es mehrere Orders gibt, dann müssen alle Orders ab dem Niveau des Total Breakeven verfolgt werden. Und es ist wichtig für mich zu verstehen, was der Grund für diesen Code ist, denn die SELL-Order wird hervorragend ausgeführt, was fehlt BUY? Warum wird die Haltestelle unmittelbar nach dem Öffnen von......! geändert?
 
MIR-ASOV:


In diesem Beispiel habe ich nur einen Auftrag (entweder KAUFEN oder VERKAUFEN), aber wenn es mehr als einen gibt, möchte ich, dass alle Aufträge vom Breakeven genommen werden. Und es ist wichtig für mich zu verstehen, was der Grund für diesen Code ist, denn die SELL-Order wird auf eine gute Art und Weise ausgeführt, was fehlt für BAY? Warum wird die Haltestelle unmittelbar nach dem Öffnen von......! geändert?


Denn der zu vergleichende Preis ist nicht :

1) initialisiert

2) gleich Null

Handlungen:

1) Entinitialisieren und sehen,

2) mit einer großen Zahl initialisieren

3) Falle, wenn der verglichene Preis gleich Null ist

 
Sancho77:

Alles Gute zum St. Patrick's Day!

Lieber, ich bitte um Hilfe. Helfen Sie mir, ein Signal aus einem Indikator in einen EA zu bekommen. D.h. wenn eine blaue Linie erscheint - kaufen, wenn rot - verkaufen.

So schrieb er in Eule:

Ich habe nichts gefunden, es scheint, dass die Puffer immer gleich 0 sind.



Und warum vergleichen Sie mit EMPTY_VALUE. Sie vergleichen mit 0,0
 
Denn der vergleichbare Preis ist nicht:

1) инициализирована

2) ist gleich Null.

Handlungen:

1) Drucker ausschalten und nachsehen,

2) mit einer großen Zahl initialisieren

3) eine Falle stellen, wenn der verglichene Preis gleich Null ist.

Danke für Ihre Hilfe, danke an alle, die geantwortet haben...... Es hat funktioniert, ich habe die "Breakeven Level Calculation" mit dem "Position Opening" Block vertauscht und alles hat funktioniert wie es sollte...... Nochmals vielen Dank an alle)))) Und ich werde mich aufhängen)
 
Vinin:

Und warum vergleichen Sie mit EMPTY_VALUE. Sie vergleichen mit 0,0.

Ich habe es auch auf diese Weise versucht:

   if (dn_stop_1!=0.0)
       return(1);
   if (up_stop_1!=0.0)  
       return(-1);

Immer noch keine Antwort.

 

Können Sie mir sagen, ob es etwas in den Code MTFindyuka machen, dass es automatisch berechnet und redid die Geschichte, im Idealfall jede Minute, die nicht ausfallen würde hier ist so krakozobraha

Auf dem Bild sind zwei МТФinduks für 5 Minuten auf dem Ein-Minuten-Chart zu sehen.

ExtMapBuffer1[i]=iCustom(Symbol(),TimeFrame, "T-Line alert10",0,y);

ExtMapBuffer2[i]=iCustom(Symbol(),TimeFrame, "T-Line alert10",1,y);

Ich muss die normale Ansicht, d.h. glatte Schritte, wählen, um die Eigenschaften des Indikators auszuwählen und "OK" oder "Grafik aktualisieren" zu drücken.Wenn ich m1 und MTF5m verwende, bin ich es leid, es manchmal manuell zu aktualisieren. Vielleicht kann ich es einfach implementieren, indem ich eine intelligente Funktion anschließe, ich möchte nicht für jeden Indikator einen eigenen Code schreiben.