Modyfikacja wybranego zlecenia

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

daj bez znakow rownosci

Kod: Zaznacz cały


if(poz1long>=0) BE_long_poz1();
if(poz2long>=0) BE_long_poz2();
if(poz3long>=0) BE_long_poz3();
   
if(poz1short>=0) BE_short_poz1();
if(poz2short>=0) BE_short_poz2();
if(poz3short>=0) BE_short_poz3(); 

czyli

Kod: Zaznacz cały

if(poz1long>0) BE_long_poz1();
if(poz2long>0) BE_long_poz2();
if(poz3long>0) BE_long_poz3();
   
if(poz1short>0) BE_short_poz1();
if(poz2short>0) BE_short_poz2();
if(poz3short>0) BE_short_poz3(); 
Andrzej Pierz

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31

Nieprzeczytany post autor: siersciuch »

dalej to samo erorr 130 i 4108 :( za chiny niewiem co tam niegra
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

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

Nieprzeczytany post autor: Tig3r »

Jak to ktoś wyżej wspomniał - nie zaokrąglasz cen!
Po drugie nie sprawdzasz przed modyfikacją czy taka cena już jest, ani czy taka cena jest powyżej (dla longa) od istniejącej i analogicznie dla shorta, nie sprawdzasz czy cena nie jest za daleko od obecnej + min poziom

OrderSelect możesz dać w if, w końcu jak się uda "oznaczyć" transakcje (jak transakcja istnieje) to funkcje zwróci TRUE, jeśli zwróci false trzeba by sprawdzić czy trade się zamknęły - wtedy trzeba wyzerować tickety -> tzn na -1 dać
Ostatnio zmieniony 30 mar 2011, 13:28 przez Tig3r, łącznie zmieniany 1 raz.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

130 to jest blednie ustawiony sl lub tp

co do 4108 to sprawdzc przed modyfikacja czy zlecenie o konkretnym numerze wogole istnieje ;)

bo moze takbyc ze to zlecenie zamnkelo Ci tp lub sl a ea chce je ciagle modyfikowac ..

Andrzej Pierz
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31

Nieprzeczytany post autor: siersciuch »

siersciuch pisze: A NormalizeDouble() w start ją wpisać? trzeba jakieś parametry wpisać w nawias?
powtarzam pytanie :P




Pierz Andrzej pisze:130 to jest blednie ustawiony sl lub tp

co do 4108 to sprawdzc przed modyfikacja czy zlecenie o konkretnym numerze wogole istnieje ;)

bo moze takbyc ze to zlecenie zamnkelo Ci tp lub sl a ea chce je ciagle modyfikowac ..

Andrzej Pierz


No tutaj moze być bład :)!
Ostatnio zmieniony 30 mar 2011, 13:30 przez siersciuch, łącznie zmieniany 1 raz.
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

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

Nieprzeczytany post autor: Tig3r »

siersciuch pisze:
siersciuch pisze: A NormalizeDouble() w start ją wpisać? trzeba jakieś parametry wpisać w nawias?
powtarzam pytanie :P
Zaokrąglasz poziomy cen!


Zamiast

Kod: Zaznacz cały

ma-34*Point
musi byc

Kod: Zaznacz cały

NormalizeDouble(ma-34*Point,Digits)
itp..
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
redart
Stały bywalec
Stały bywalec
Posty: 75
Rejestracja: 06 lip 2008, 22:30

Nieprzeczytany post autor: redart »

Pierz Andrzej pisze:daj bez znakow rownosci
...
czyli

Kod: Zaznacz cały

if(poz1long>0) BE_long_poz1();
if(poz2long>0) BE_long_poz2();
if(poz3long>0) BE_long_poz3();
   
if(poz1short>0) BE_short_poz1();
if(poz2short>0) BE_short_poz2();
if(poz3short>0) BE_short_poz3(); 
Andrzej Pierz
z jakiego powodu ?
Czy w jakimś przypadku OrderSend może zwrócić 0 , czy tak tylko dla porządku?

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Nieprzeczytany post autor: Pierz Andrzej »

z jakiego powodu ?
Czy w jakimś przypadku OrderSend może zwrócić 0 , czy tak tylko dla porządku?
nie powinien zwrocic 0 ... ale dla pewnosci ;).. lepiej dac >

a pozatym ja nie ufam tiketowi na wyjsciu ;) ....
poniewaz kilka razy mi sie zdazylo ze tiket na wyjsciu byl calkiem inny niz ten faktyczny .... ;)

wiec wole przeleciec petla zlecenia .... uzyc roznych komentarzy czy roznych magic`ow ale miec wieksza pewnosc ;)

Andrzej Pierz

Dodano po 16 minutach:

ja to bym zrobil na takiej np zasadzie :)

Kod: Zaznacz cały

extern int MagicNumber = 123;
void start()
{
   string komentarz = "poz1long";
   OrderSend(Symbol(),OP_BUY,0.1,Ask,0,Bid-100*Point,Bid+100,StringConcatenate("moje ea ",komentarz),MagicNumber,0,Blue);
   int poz1long = ticket("poz1long");
}

int ticket(string komentarz)
{
   RefreshRates();
   for (int i=0;i<=OrdersTotal();i++)
   {
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if (Symbol()==OrderSymbol() && MagicNumber==OrderMagicNumber() && OrderComment()==StringConcatenate("moje ea ",komentarz)) return(OrderTicket());
   }
   return(0);
}
Andrzej Pierz
Ostatnio zmieniony 30 mar 2011, 14:26 przez Pierz Andrzej, łącznie zmieniany 1 raz.

eddek
Gaduła
Gaduła
Posty: 119
Rejestracja: 05 mar 2009, 08:42

Nieprzeczytany post autor: eddek »

Sprawdziłem i działa normalnie, otwiera 3 zlecenia i modyfikuje.
2011.03.30 14:23:28 '979606': order #25299388 buy 0.10 EURUSD at 1.4101 was modified -> sl: 1.4055 tp: 1.4123

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31

Nieprzeczytany post autor: siersciuch »

tak ma to wyglądać? z tym NormalizeDouble ? i przy kazdej modyfikacji i otwarciu zlecenia tam, gdzie ustawiam SL i TP ma być ta normalizacją?

Kod: Zaznacz cały

poz1long = OrderSend(Symbol(),OP_BUY,lots,Ask,3,NormalizeDouble(Bid-sl*Point,Digits),NormalizeDouble(Bid+55*Point,Digits));
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

ODPOWIEDZ