[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 23

 
WindSW:

Mein Code macht es einfacher, die Anzahl der Iterationen über ArrayRange zu bestimmen.

Warum erhalte ich 0, wenn ich xDelH[countDH][0]=HBar[countH][0]; schreibe (obwohl HBar[countH][0] bereits gefüllt ist und seinen eigenen Wert hat)? Kann ich das überhaupt tun?

Wie lässt sich der Wert von xDelH[countDH][0] nach dieser Zuweisung überprüfen?
 
Bitte sagen Sie mir, welche Funktion den Take-Profit-Preis der letzten offenen Order speichert.
 
Frostr:
Bitte sagen Sie mir, welche Funktion den Take-Profit-Preis der letzten offenen Order speichert.

Wenn Sie sich genau daran erinnern müssen, speichern Sie einfach denTakeProfit-Wert in einer Variablen, wenn Sie einen Auftrag eröffnen.
 

Ich muss nur

//Mittelwert durch Berechnung des Durchschnittspreises
double averageprice = NormalizeDouble(sum/allots, Digits);
//Ändern Sie alle Aufträge der Serie, indem Sie den gleichen TakeProfit für jeden offenen Auftrag verschieben
for ( trade = OrdersTotal() - 1; trade >= 0; trade-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//Gewinnmitnahme für eine BUY-Order
if ( OrderType() == OP_BUY) tp = averageprice + TP * Point;
//Gewinnmitnahme für eine SELL-Order
if ( OrderType() == OP_SELL) tp = averageprice - TP * Point;
//Ändern Sie die zur Serie gehörende Order
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}

alte Orders geändert, deren TakeProfit auf TakeProfit der neu eröffneten Order geändert (wenn der Preis die letzte Order bei Stop schließt, werden auch alle vorherigen Orders geschlossen)

 
Frostr:

Ich muss nur

//Mittelwertbildung durch Berechnung des Durchschnittspreises
double averageprice = NormalizeDouble(Summe/Allots, Digits);
//Ändern Sie alle Aufträge der Serie, indem Sie denselben TakeProfit für jeden offenen Auftrag verschieben
for ( trade = OrdersTotal() - 1; trade >= 0; trade-- )
{
if ( OrderSelect(Handel, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//Gewinn für BUY-Auftrag
if ( OrderType() == OP_BUY) tp = Durchschnittspreis + TP * Punkt;
//Gewinnmitnahme für einen SELL-Auftrag
if ( OrderType() == OP_SELL) tp = Durchschnittspreis - TP * Punkt;
//Ändern Sie einen Auftrag, der zur Serie gehört
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow);
}
}
}

Ändern Sie alte Orders, ändern Sie deren TakeProfit in TakeProfit einer neuen offenen Order (wenn der Preis die letzte Order am Stop schließt, werden alle vorherigen Orders ebenfalls geschlossen)


Die vorherigen werden geschlossen, wenn Sie einen einzigen Stoploss für die gesamte Serie setzen. Wenn Sie den Stop-Loss für jeden Auftrag unterschiedlich belassen (ohne ihn zu ändern), wird nur ein Auftrag geschlossen. Der TakeProfit-Wert für andere Aufträge der Serie muss entweder neu berechnet oder dem vorherigen Wert gleichgesetzt werden.
 
paladin80:
Wie lässt sich der Wert von xDelH[countDH][0] nach dieser Zuweisung überprüfen?

Über Druck
 

Guten Tag!!! Wissen Sie, ich erteile zwei Aufträge an diesen Laden - einen mit und einen ohne Stopp. Im Testgerät sind beide gelöscht!!!!

 if   (Svetsja_1 &&  !Svetsja_2  && !Svetsja_3  &&  !Orderbuy ){
    //стоп лосс 25 п. профит 30 п;стоп лосс 25 п. тралится по MA 20    
         
        RefreshRates();
          OrderSend (Symbol( ), OP_BUY, lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits),   NormalizeDouble( Ask+( 30*Point),Digits), NULL, 450, 0, CLR_NONE);
           int Error=GetLastError();if (Error==0){  
           Sleep(2000); RefreshRates(); 
          OrderSend (Symbol( ), OP_BUY,  lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits),   0, NULL, 450, 0, CLR_NONE); }
            Error=GetLastError(); Orderbuy=1; 
            if (Error!=0){ string errorcomment = "Ошибка открытия  ордера OP_BUY"  + " " + Symbol() +  " " + ErrorDescript(Error); 
            Print (errorcomment);}   }  } }

Ich habe absolut keine Ahnung, was hier vor sich geht.


 
Dimka-novitsek:

Guten Tag!!! Sie wissen, dass ich hier zwei Aufträge erteile, einen mit und einen ohne Stopp. Im Testgerät sind beide gelöscht!!!!

Ich verstehe überhaupt nicht, was hier los ist.



Schauen Sie genau hin, Sie haben für beide einen Stop-Loss gesetzt und nur für einen einen Take-Profit. Es ist also so, wie Sie geschrieben haben: beide werden bei Stoploss geschlossen und nur einer wird bei Takeprofit geschlossen.
 
Dimka-novitsek:

Guten Tag!!! Sie wissen, dass ich hier zwei Aufträge erteile, einen mit und einen ohne Stopp. Im Testgerät sind beide gelöscht!!!!

Ich habe absolut keine Ahnung, was hier vor sich geht.

Es ist wahrscheinlich noch zu früh für Sie, um es zu "rauchen" - es KÖNNTE AUSGESCHLOSSEN WERDEN! :)))
 
Ja, ich danke Ihnen!!! Ich kam direkt von der Straße zum Computer und war völlig verwirrt!