Powtórne kwotowanie przez brokera w EA

O jezykach programowania w platformach i nie tylko.
damp
Stały bywalec
Stały bywalec
Posty: 24
Rejestracja: 02 lis 2010, 23:11

Powtórne kwotowanie przez brokera w EA

Nieprzeczytany post autor: damp »

Witam

Podczas testowania EA pojawia mi się błąd rekwotowania. Może, ktoś podzielić się spososbem obsługi tego błędu?

Np zamykamy zlecenie i mamy rekwota (nr błędu 138)

Kod: Zaznacz cały

 OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Green);

// ponowić zlecenie ??
if (GetLastError()==138) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,Green);

//czy lepiej zrezygnować zamykania
if (GetLastError()==138)  return(0);

Z góry dziękuje za pomoc

Damian

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

ponawiasz do skutku
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

damp
Stały bywalec
Stały bywalec
Posty: 24
Rejestracja: 02 lis 2010, 23:11

Nieprzeczytany post autor: damp »

Czyli coś takiego:

Kod: Zaznacz cały

while (zamkniete==false){zamkniete=OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,Green);

bialy
Stały bywalec
Stały bywalec
Posty: 54
Rejestracja: 16 maja 2011, 20:41

Nieprzeczytany post autor: bialy »

zdarza mi sie napisac jakis ciekawy automacik, ale broker /nie bede pisal ktory/ po 2tyg zyskow rekwotuje mi wejscia i zamkniecia /nie ustawiam SL ani TP/, a ze automaty zajmuja pozycje na otwarciu swieczki to rekwoty wywalaly mi system. wrzuce swoja funkcje CloseAll, podobna mam do powtarzania przy wejsciu. mozesz przerobic ja na wlasne potrzeby. funkcja bool

Kod: Zaznacz cały

bool CloseAll(int type) {
   bool closed = False;
   for(int i=OrdersTotal()-1; i>=0; i--) {
      OrderSelect(i,SELECT_BY_POS);
      int cSlippage = 0;
      if(OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC) {
         if(type == OP_BUY) {
            if(OrderType() == type) {
               while(cSlippage < 10) {
                  if(OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),cSlippage,Yellow)) {
                     Print("BUY Order #"+OrderTicket()+" closed");
                     PlaySound("tick.wav");
                     closed = True;
                     break;
                  }
                  else {
                     cSlippage++;
                     Print(ErrorDescription(GetLastError()));
                     closed = False;
                     Sleep(2000);
                     continue;
                  }
               }
            }
         }
         if(type == OP_SELL) {
            if(OrderType() == type) {
               while(cSlippage < 10) {
                  if(OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),cSlippage,Yellow)) {
                     Print("SELL Order #"+OrderTicket()+" closed");
                     PlaySound("tick.wav");
                     closed = True;
                     break;
                  }
                  else {
                     cSlippage++;
                     Print(ErrorDescription(GetLastError()));
                     closed = False;
                     Sleep(2000);
                     continue;
                  }
               }
            }
         }
      }
   }
   return(closed);
}
wywolanie do zamkniecia buy:

Kod: Zaznacz cały

if(CloseAll(OP_BUY)) ObjectDelete("AvgBuy");
oszczedzajmy cykle procesora

astra
Pasjonat
Pasjonat
Posty: 685
Rejestracja: 14 paź 2007, 20:22

Nieprzeczytany post autor: astra »

a czy przypadkiem nie lepiej zmienić brokera ? skoro wiesz, że Cię kantuje, to na co czekasz ?

bialy
Stały bywalec
Stały bywalec
Posty: 54
Rejestracja: 16 maja 2011, 20:41

Nieprzeczytany post autor: bialy »

astra pisze:a czy przypadkiem nie lepiej zmienić brokera ? skoro wiesz, że Cię kantuje, to na co czekasz ?
rekwotuje jak za szybko zarabiasz i robi co moze. teraz moze mi skoczyc. funkcje powtarzajace sa skuteczne. od tygodnia mam wlaczony niezly automacik i dzisiaj bylo juz pierwsze rekwotowanie. dzisiaj i tak go wylaczam i wroce w styczniu. a kont mam juz 4
oszczedzajmy cykle procesora

ODPOWIEDZ