Wszystkie pytania dozwolone początkujących programistów

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 »

personov pisze:A może jest to wina kwotowania 5 miejsc po przecinku lub 4 ?
nie moze tylko napewno ;)

w indicator level daj wszedzie o "0" wiecej
nie 15 tylko 150 itd


pozdrawiam
Andrzej Pierz

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

Nieprzeczytany post autor: siersciuch »

CoVal pisze:
siersciuch pisze:

Kod: Zaznacz cały

old_x=x; 
i to mam w start wpisać??
dokladnie tak....
ale old_x i x nie bedzie miała tej samej wartośći? bo wartosci x i old_x są wyliczane w jednym źródle wiec ciagle beda takie same. Jest jakiś sposób zeby porównać wartośći tej samej zmiennej rózniace sie o np jeden tick od siebie. Napisał by mi ktoś jakiś prosty przykład jak to zrobić? bo niemoge tego rozkminić.

Da sie jakoś zrobić zeby tak jak przy świecach np close[2]-close[1]. TYlko zmienna[2]-zmienna[1] (tylko w nawiasach zamiast świec, to Tick)?
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

lasek
Stały bywalec
Stały bywalec
Posty: 23
Rejestracja: 27 lut 2011, 08:23

Nieprzeczytany post autor: lasek »

Pierz Andrzej pisze:
personov pisze:A może jest to wina kwotowania 5 miejsc po przecinku lub 4 ?
nie moze tylko napewno ;)

w indicator level daj wszedzie o "0" wiecej
nie 15 tylko 150 itd


pozdrawiam
Andrzej Pierz

Wszystko ok jak tak zrobię, ale gdy zresetuję metatradera to znów mam te nieszczęsne wartości [-45,45]. Jak zrobić na stałe wartości [-450,450] ?


pozdrawiam

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

Nieprzeczytany post autor: Pierz Andrzej »

masz przeciez kod zrodlowy wskaznika ... na poczatku pozminiaj te wrtosci i przekompiluj

Kod: Zaznacz cały

#property  indicator_level1  45	
#property  indicator_level2  30	
#property  indicator_level3  15	
#property  indicator_level4  -15	
#property  indicator_level5  -30	
#property  indicator_level6  -45	


pozdrawiam
Andrzej Pierz

Awatar użytkownika
mikolaj2
Gaduła
Gaduła
Posty: 231
Rejestracja: 04 maja 2011, 14:37

Nieprzeczytany post autor: mikolaj2 »

Proszę o podanie przykładu służącego do otwierania i zamykania pozycji. Próbowałem m.in. takiego rozwiązania :

Kod: Zaznacz cały

ticket=OrderSend(Symbol(), OP_BUYSTOP, lot, Ask+10*Point, 0, Lo, Hi+nad*Point);
      OrderClose(ticket,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
oraz innych znalezionych na forum, ale niestety wciąż wyrzuca mi błąd związany z tickietem. Z góry dziękuję za pomoc...

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

Nieprzeczytany post autor: Pierz Andrzej »

poniewaz zlecenia oczekujace sie usowa nie zamyka :

Kod: Zaznacz cały

OrderDelete(ticket);
pozdrawiam
Andrzej Pierz
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
mikolaj2
Gaduła
Gaduła
Posty: 231
Rejestracja: 04 maja 2011, 14:37

Nieprzeczytany post autor: mikolaj2 »

Dziękuję... Chociaż nie do końca dobrze się wyraziłem - chodzi mi o zamknięcie zlecenia oczekującego, które się już zrealizowało, trwa i przynosi stratę a nie chciałbym go zamykać poprzez SL

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

Nieprzeczytany post autor: Pierz Andrzej »

przed

Kod: Zaznacz cały

OrderClose(..);
skorzystaj z

Kod: Zaznacz cały

OrderSelect(.....);
pozdrawiam
Andrzej PIerz
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
CoVal
Gaduła
Gaduła
Posty: 320
Rejestracja: 06 paź 2005, 22:45

Nieprzeczytany post autor: CoVal »

mikolaj2 pisze:Proszę o podanie przykładu służącego do otwierania i zamykania pozycji. Próbowałem m.in. takiego rozwiązania :

Kod: Zaznacz cały

ticket=OrderSend(Symbol(), OP_BUYSTOP, lot, Ask+10*Point, 0, Lo, Hi+nad*Point);
      OrderClose(ticket,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,CLR_NONE);
oraz innych znalezionych na forum, ale niestety wciąż wyrzuca mi błąd związany z tickietem. Z góry dziękuję za pomoc...
hmmm, blad odnosnie ticketu mowisz....
a ten blad wyrzuca ci na poziomie kompilacji czy dzialania systemu ?
rozumiem, ze te 2 linijki nie wystepuja jedna zaraz po drugiej....

dlatego tez zwroc uwage, czy np. zmienna ticket jest zadeklarowana na poziomie zmiennych globalnych, czy jest to zmienna lokalna w ktorejs z funkcji, lub na poczatku tej funkcji w ktorej chcesz zamykac pozycje nie jest zerowana...
w takim wypadku jest mozliwe, ze odwolujesz sie do zmiennej ticket ktora =0.

Zrob eksperyment i tuz przed wywolaniem funkcji OrderClose() wrzuc Print("ticket =", ticket); i zobacz czy na pewno ta wartosc nie jest =0... jesli nie, to sprawdz czy na pewno odwolujesz sie do wlasciwego ticketa.... (moze masz wiecej pozycji otwartych) - bez mozliwosci rzucenia okiem na caly kod trudno powiedziec w czym jest problem....

edit:
i tak jak Andrzej pisze:

sprawdz, czy nie probujesz uzyc OrderClose() do pozycji wciaz figurujacej jako pozycja oczekujaca.

Awatar użytkownika
mikolaj2
Gaduła
Gaduła
Posty: 231
Rejestracja: 04 maja 2011, 14:37

Nieprzeczytany post autor: mikolaj2 »

Dziękuję za okazaną do tej pory pomoc oraz proszę o dalszą wyrozumiałość :-)

Oto kod :

Kod: Zaznacz cały

 if(Lo>(50*Point))
      {
      OrderClose( ticket,lot,Bid,3,Red);
      ticket2=OrderSend(Symbol(), OP_SELLSTOP, lot, Bid-nad*Point, 0, Hi, Lo+30*Point);
      
      }
      else
      OrderClose( ticket2,lot,Ask,3,Red);
      ticket=OrderSend(Symbol(), OP_BUYSTOP, lot, Ask+nad*Point, 0, Lo, Hi+30*Point);
      
Chciałbym, aby po spełnieniu warunku (Lo>(50*Point)) zamykana była istniejąca pozycja BUY a otwierana SELL, po ustaniu istnienia warunku nastepowała operacja odwrotna

ODPOWIEDZ