Zamykanie pozycji

O jezykach programowania w platformach i nie tylko.
Trader1991
Bywalec
Bywalec
Posty: 6
Rejestracja: 30 sty 2012, 00:21

Zamykanie pozycji

Nieprzeczytany post autor: Trader1991 »

Witam

Mam do Was pewien problem do rozwiązania,jeśli ktoś jest mi wstanie pomóc to będę wdzięczny :)

A więc mój problem polega na tym że potrzebuje prostego robota,który zamykałby mi pierwszą pozycję jeśli zostanie otworzona druga.

Wytłumaczę to na przykładzie.
Otwieram wykres EURUSD umieszczam robota na wykresie i on sobie działa w tle :) następnie np dokonuje ręcznie zlecenia kupna 1 lota. Mam otworzoną pozycję kupna i na razie robot nie ingeruje w tą pozycję, natomiast w chwili kiedy dokonam ręcznie zlecenia sprzedaży to chciałbym żeby robota automatycznie zamknął mi pozycję pierwszą czyli pozycję kupna. Tak żeby była otwarta jedna pozycja na danym wykresie. Jeśli znowu zrobie kupno to z automatu powinna się zamknąć pozycja wcześniejsza.
Na razie robię to skryptem standardowym close, ale wygodniej dla Mnie byłoby mieć robota.
Czy jest wstanie ktoś mi pomóc, będę wdzięczny

Pozdrawiam

-- Dodano: pt 22-02-2013, 2:22 --

Ok jakoś sam dotarłem do różnych źródeł i stworzyłem takiego robota, lecz on kasuje mi wszystkie pozycje a ja bym chciał żeby kasował tylko te pozycje na którym wykresie jest uruchomiony robot

Kod: Zaznacz cały

int start()
{
  int total = OrdersTotal();
  for(int i = total-1; i >=1; i--)
  {
    OrderSelect(i-1, SELECT_BY_POS,MODE_TRADES);
    int type   = OrderType();

    bool result = false;
    
    switch(type)
    {
      //Close opened long positions
      case OP_BUY       : result = OrderClose( OrderTicket(), OrderLots(),Bid, 5, Orange );
                          break;
      
      //Close opened short positions
      case OP_SELL      : result = OrderClose( OrderTicket(), OrderLots(),Ask, 5, Orange );
                          
    }
    
    
  }
  
  return(0);
}
Da się ten program jakoś przerobić żeby ingerował tylko w pozycje z wykresu na którym jest zainstalowany robot, np jeśli robot jest na wykresie EURUSD to powinien zamykać tylko pozycje na EURUSD a on mi zamyka wszystkie pozycje .
Pomoże ktoś mi zmodyfikować ten kod ?
Z góry dziękuje za pomoc
Pozdrawiam
Obrazek

Awatar użytkownika
arkoni
Gaduła
Gaduła
Posty: 173
Rejestracja: 27 gru 2011, 12:19

Re: Zamykanie pozycji

Nieprzeczytany post autor: arkoni »

Nieśmiało wtrącę, może coś takiego:

Kod: Zaznacz cały

if(OrderSymbol() != symbol) continue;
umieszczone w pętli for, a przed switch (symbol zadeklarowany przed pętlą).
Tzn.:

Kod: Zaznacz cały

string symbol = Symbol();
for()
    {
     .....
    if(OrderSymbol() != symbol) continue;
    switch()
           {

ODPOWIEDZ