[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 161

 
Die folgende Situation ist aufgetreten: Der Strategy Tester schließt keine TakeProfit-Positionen. Der Handel erfolgt am TF-Tag, ich habe mir kleinere TF bei verlustbringenden Geschäften angesehen - der Kurs fällt/steigt über das für die Auslösung des TakeProfit erforderliche Niveau hinaus, aber der Handel wird nicht geschlossen, und wenn der Kurs den StopLoss erreicht, ist der Verlust fixiert. Ich habe sogar mit der Visualisierung begonnen - der Preis geht gerade über TakeProfit und das war's. Und manchmal funktioniert alles, und manchmal tauchen solche Dinge auf. Gestern war noch alles in Ordnung, aber heute habe ich das Testgerät laufen lassen und einen totalen Leistungsabfall festgestellt. Ich habe versucht, das Terminal neu zu installieren - es hat nicht geholfen. Ich bin nicht sicher, ob ich eine andere Maklerfirma gemietet habe.
 
beginner666999:
Die folgende Situation ist aufgetreten: Strategy Tester schließt Positionen nicht mit TakeProfit. Der Handel erfolgt am TF-Tag, ich habe mir kleinere TF bei verlustbringenden Geschäften angesehen - der Kurs fällt/steigt mehr als das erforderliche Niveau für die Auslösung von TakeProfit, aber das Geschäft wird nicht geschlossen, und wenn der Kurs StopLoss erreicht, ist der Verlust fixiert. Ich habe sogar die Visualisierung ausprobiert - der Preis geht gerade an TakeProfit vorbei und das war's. Und manchmal funktioniert alles, und manchmal tauchen solche Dinge auf. Gestern war noch alles in Ordnung, aber heute habe ich das Testgerät laufen lassen und einen totalen Leistungsabfall festgestellt. Ich habe versucht, das Terminal neu zu installieren - es hat nicht geholfen. Ich bin mir nicht sicher, ob ich ein anderes Maklerunternehmen beauftragen werde.

Alles dreht sich um den Spread, der für das Wochenende erhöht wird.

Es ist folgendermaßen.

 
r772ra:

Alles dreht sich um den Spread, der für das Wochenende erhöht wird.

Es geht ungefähr so.


Ich danke Ihnen! Ich werde auf die Wochentage warten, um es zu überprüfen.
 
r772ra:

Alles dreht sich um den Spread, der für das Wochenende erhöht wird.

Es ist folgendermaßen.


Sie müssen ein solcher Idiot sein - ich habe mir den Spread für mein Instrument auf der Website des Brokers angesehen und war erstaunt - 11 Pips! Nochmals vielen Dank!
 
Dann eine weitere Frage, die nicht ganz zum Thema gehört. Warum wird der Spread am Wochenende erhöht? Schließlich findet ohnehin kein Handel statt.
 
Konstebl:

Bitte beraten Sie mich, wie ich die Bedingung richtig festlege: Wenn es eine offene BUY-Order gibt und diese den Break-Even erreicht, dann setzen wir BUYSTOP:

static bool flag ;

if(NeuerBalken())

flag = true;

for(i=0;i<Gesamt;i++)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==123)

{

if(Auftragsart()==OP_BUY)

{

if(OrderStopLoss()>OrderOpenPrice())

{

if(Ask>m && frUP>0 && flag)

{

Preis = NormalizeDouble(frUP+(Ask-Bid)+30*Point,Digits);

takeprofit = NormalizeDouble(Preis+tp*Point,Digits);

ticket = OrderSend(Symbol(),OP_BUYSTOP,Lots,price,5,Bid-sl*Point,takeprofit, "Fractal",123,TimeCurrent()+72000,Blue);

if(Ticket>0)

flag = false;

sonst

Print("Fehler ",GetLastError());

}

}

}

}

}

funktioniert nicht!!!


Haben Sie versucht, die Klammern nach der Logik zu setzen? Denn bis jetzt gibt es keine.

Das Geschriebene impliziert, dass mindestens eine Stelle offen ist. Andernfalls werden keine neuen geöffnet.

 
Vinin:


Haben Sie versucht, die Klammern nach der Logik zu setzen? Denn bis jetzt gibt es keine.

Das Geschriebene impliziert, dass mindestens eine Stelle offen ist. Andernfalls werden keine neuen eröffnet.


Und wie ordnet man sie an? Ich habe ein bisschen mehr Code geschrieben:

 if(NewBar())

     flag = true;    

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

             {

             OrderSelect(i,SELECT_BY_POS,MODE_TRADES); 

             if(OrderSymbol()==Symbol() && OrderMagicNumber()==123)

                {

                if(OrderType()==OP_BUY || OrderType()<=OP_BUYSTOP)

                   {

                   if(OrderStopLoss()>OrderOpenPrice())

                      {

                      if(Ask>m && frUP>0 && flag)

                         {                

                        price = NormalizeDouble(frUP+(Ask-Bid)+30*Point,Digits);

                        takeprofit = NormalizeDouble(price+tp*Point,Digits);

                        ticket = OrderSend(Symbol(),OP_BUYSTOP,Lots,price,5,Bid-sl*Point,takeprofit,"Fractal",123,TimeCurrent()+72000,Blue);

                       if(ticket>0)

                        flag = false;

                       else

                        Print("Ошибка ",GetLastError());

                      }

                   }

                }

             }

          }
По идее должно работать,но не хочет.
 
beginner666999:
Dann eine andere Frage, die ein wenig vom Thema abweicht. Warum wird die Spanne an Wochenenden erhöht? Sie treiben ohnehin keinen Handel.

Nein, nicht über das Wochenende, ich habe es nicht richtig geschrieben, der Spread bleibt im Terminal beim letzten eingegangenen Kurs

Sie schließen das Terminal also am Freitag tagsüber. Und Sie testen es am Wochenende.

 
r772ra:

Nein, nicht über das Wochenende, ich habe es nicht richtig geschrieben, der Spread bleibt im Terminal beim letzten eingegangenen Kurs

Sie schließen das Terminal also am Freitag tagsüber. Und Sie testen es am Wochenende.


Verstanden, danke! So macht es viel mehr Sinn.
 
Konstebl:


Und wie kann ich sie anordnen? Ich habe ein wenig Code hinzugefügt:


OK, ein bisschen Logik

if(NewBar())
    flag = true;    
for(i=0;i<total;i++) {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES); 
    if(OrderSymbol()==Symbol() && OrderMagicNumber()==123) {
    if(OrderType()==OP_BUY || OrderType()<=OP_BUYSTOP) {
        if(OrderStopLoss()>OrderOpenPrice()) {
            if(Ask>m && frUP>0 && flag) {                
                price = NormalizeDouble(frUP+(Ask-Bid)+30*Point,Digits);
                takeprofit = NormalizeDouble(price+tp*Point,Digits);
                ticket = OrderSend(Symbol(),OP_BUYSTOP,Lots,price,5,Bid-sl*Point,takeprofit,"Fractal",123,TimeCurrent()+72000,Blue);
                if(ticket>0)
                    flag = false;
                else
                    Print("Ошибка ",GetLastError());
            }
        }
    }
}

          }

Die Schleife wird unabhängig von der Bedingung ausgeführt if(NeuerBalken())

Grund der Beschwerde: