Jak zamknąć zlecenia o ustalonej wartości zysków (Profit)?

O jezykach programowania w platformach i nie tylko.
STORNO
Stały bywalec
Stały bywalec
Posty: 34
Rejestracja: 27 sty 2008, 11:09

Jak zamknąć zlecenia o ustalonej wartości zysków (Profit)?

Nieprzeczytany post autor: STORNO »

Jak zamknąć zlecenia o ustalonej wartości zysków (Profit)?

Czy jest możliwość zamknięcia wszystkich zleceń określając pewną granicę zysków (określony Profit)

Np: chcę żeby wszystkie zlecenia zamknęły się gdy wartość ogólna wszytkich zleceń osiągnie wartość określoną np: +10 EUR.

Bardzo proszę o wskazówki.

PULMONES

Awatar użytkownika
luktom
Gaduła
Gaduła
Posty: 197
Rejestracja: 19 gru 2007, 14:39

Nieprzeczytany post autor: luktom »

Kod: Zaznacz cały

extern double closeProfit=10;

int start() {

 double profit=0;

 for(int i=0;i<OrdersTotal();i++) {
  if(OrderSelect(i,SELECT_BY_POS)) {
   profit+=OrderProfit();
  }
 }

 if(profit>=closeProfit) {
  for(i=0;i<OrdersTotal();i++) {
   if(OrderSelect(i,SELECT_BY_POS)) {
    if(OrderType()==OP_BUY) {
     OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID) ,0);
    }
    if(OrderType()==OP_SELL) {
     OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK) ,0);
    }   
   }
  }
 }

}
Ostatnio zmieniony 11 gru 2008, 23:15 przez luktom, łącznie zmieniany 2 razy.

STORNO
Stały bywalec
Stały bywalec
Posty: 34
Rejestracja: 27 sty 2008, 11:09

Nieprzeczytany post autor: STORNO »

Nie wiem dlaczego, ale mam taki błąd.

'}' - unbalanced parentheses C:\Program Files\MetaTrader 4\experts\scripts\zamknięcie zlecenia.mq4 (37, 1)

Awatar użytkownika
luktom
Gaduła
Gaduła
Posty: 197
Rejestracja: 19 gru 2007, 14:39

Nieprzeczytany post autor: luktom »

Brakowało nawiasów (bo pisałem od razu w przeglądarce), poprawiłem kod powyżej, kompiluje się ;)
algotronic- zaawansowane rozwiązania dla traderów
Odwiedź naszą stronę WWW, aby poznać pełną ofertę

STORNO
Stały bywalec
Stały bywalec
Posty: 34
Rejestracja: 27 sty 2008, 11:09

Nieprzeczytany post autor: STORNO »

Zamykają się zlecenia tylko które użyję na wykresie.
Ja potrzebuję Profit dla wszystkich zleceń.

Dodano po 11 minutach:

Potrzebuję taki automat co zamknie mi wszytstkie zlecenia w momencie uzyskania zysku (np: ogólny Profit = 10 EUR).
Bardzo proszę o pomoc.

Awatar użytkownika
luktom
Gaduła
Gaduła
Posty: 197
Rejestracja: 19 gru 2007, 14:39

Nieprzeczytany post autor: luktom »

Zamień Bid na MarketInfo(OrderSymbol(),MODE_BID) oraz Ask na MarketInfo(OrderSymbol(),MODE_ASK)
algotronic- zaawansowane rozwiązania dla traderów
Odwiedź naszą stronę WWW, aby poznać pełną ofertę

STORNO
Stały bywalec
Stały bywalec
Posty: 34
Rejestracja: 27 sty 2008, 11:09

Nieprzeczytany post autor: STORNO »

Ok!!
Dzięki.
Ale jeszcze jedno.
Nie wszystkie zlecenia się zamykają, wiadomo dlaczego (być może nie przeszło), ale ja muszę miec że zlecenia będą się zamykać.

Godot
Stały bywalec
Stały bywalec
Posty: 32
Rejestracja: 09 kwie 2008, 17:46

Nieprzeczytany post autor: Godot »

Prosze...

Kod: Zaznacz cały

extern double closeProfit=10;

int start()
  {
//----
  bool   result; 
  int i, cmd; 
  double price, profit=0;

//---- 
  for(i=0;i<OrdersTotal();i++) { 
    if(OrderSelect(i,SELECT_BY_POS)) { 
    profit+=OrderProfit(); 
    } 
  }
  if(profit>=closeProfit) {
    while (OrdersTotal() > 0) { 
      OrderSelect(0, SELECT_BY_POS);
      cmd = OrderType(); 
      result = false; 
      while(result != true) { 
        if(cmd == OP_BUY) price = Bid; 
        else              price = Ask; 
        result = OrderClose(OrderTicket(), OrderLots(), price, 3, CLR_NONE); 
        RefreshRates(); 
      } 
    }
  } 
//----
   return(0);
  }
Pozdrawiam

STORNO
Stały bywalec
Stały bywalec
Posty: 34
Rejestracja: 27 sty 2008, 11:09

Nieprzeczytany post autor: STORNO »

Nie zamyka !!!

Awatar użytkownika
Matteo
Stały bywalec
Stały bywalec
Posty: 64
Rejestracja: 02 mar 2007, 23:09

Nieprzeczytany post autor: Matteo »

A ktory kod zastosowales?

ODPOWIEDZ