Einzelnen Beitrag anzeigen
  #4 (permalink)  
Alt 07.08.17
traderdoc traderdoc ist offline
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ich habe das mal der besseren Lesbarkeit etwas geschmeidiger geschrieben:

Code:
for (pos = OrdersTotal()-1; pos >= 0; pos--) {
   if (OrderSelect(pos, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) {

         dOrderProfit = OrderProfit() + OrderSwap() + OrderCommission();

         if (UseCloseIndicator == 1) {
            if (OrderType() == OP_BUY) {
               if (dOrderProfit > 0 && PriceBid >= channel_main) {
                  bOrderClose = OrderClose(OrderTicket(), OrderLots(), PriceBid, 3, Blue);
               }
            }

            if (OrderType() == OP_SELL) {
               if (dOrderProfit > 0 && PriceAsk <= channel_main) {
                  bOrderClose = OrderClose(OrderTicket(), OrderLots(), PriceAsk, 3, Red);
               }
            }
         }
      }
   }
}
Das RefreshRate() fällt weg, weil es an dieser Stelle nicht zu refreshen gab, denn die Übergabe des Bid- und Ask-Werte an PriceBid und PriceAsk muss irgendwo anders stattfinden.
Und aus bOrderProfit habe ich konsequenterweise dOrderProfit gemacht, weil der zurückgegebene Wert ein double-Wert ist.

Also, immer darauf achten, dass die Klammerstruktur konsequent eingehalten wird, dann ist der Code für alle auch besser lesbar.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.