Wszystkie pytania dozwolone początkujących programistów
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
skorzystaj z
swoja drogo bylo juz kilka razyna w/w temat 
http://www.forex.nawigator.biz/dyskusje ... php?t=6140
pzdr Andrzej
Kod: Zaznacz cały
iBarShift

http://www.forex.nawigator.biz/dyskusje ... php?t=6140
pzdr Andrzej
Tak. Znam to 
Tylko nie mam pomysłu na zapis czasu iBarShift w pętli dla wskaźnika.

Tylko nie mam pomysłu na zapis czasu iBarShift w pętli dla wskaźnika.
Kod: Zaznacz cały
int limit;
limit =1000;
for(int i=limit;i>=0;i--){
x = iBarShift("EURUSD", PERIOD_M1,//( D'2007.04.12 13:00'+i);
double bidEURUSD = iClose("EURUSD", PERIOD_M1,x);
wartosc[x]=(......);
Solą życia jest kasa.
no troche namieszales...personov pisze:Tak. Znam to
Tylko nie mam pomysłu na zapis czasu iBarShift w pętli dla wskaźnika.Kod: Zaznacz cały
int limit; limit =1000; for(int i=limit;i>=0;i--){ x = iBarShift("EURUSD", PERIOD_M1,//( D'2007.04.12 13:00'+i); double bidEURUSD = iClose("EURUSD", PERIOD_M1,x); wartosc[x]=(......);
nie wiem po co ci ta petla tutaj....
aby obliczyc wartosc ceny close w chwili: rightMoment, obliczamy najpierw rzeczywiste przesuniecie wzgledem obecnej swiecy:
Kod: Zaznacz cały
datetime rightMoment=D'2007.04.12 13:00;
int barShift=iBarShift("EURUSD", PERIOD_M1, rightMoment, false);
rightMoment - jest czasem otwarcia danej swiecy (pelna data),
false - kaze nam wziac najblizsza swiece w przypadku jesli nasza szukana swieca nie istnieje
wiec teraz, skoro mamy juz przesuniecie, to cene Close sobie obliczamy z:
Kod: Zaznacz cały
double closePrice=iClose(("EURUSD", PERIOD_M1,barShift);
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
jezeli dobrze mysle i chcesz to wykorzystac na parze innej niz EURUSD lub innym Time Frame to zrob to tak:
w miejscu gdzie masz podac czas Datetime mozesz podac czas tez jako
pozdrawiam
Andrzej Pierz
Kod: Zaznacz cały
int limit;
limit =1000;
for(int i=limit;i>=0;i--)
{
x = iBarShift("EURUSD", PERIOD_M1,iTime(Symbol(),Period(),i),false);
double bidEURUSD = iClose("EURUSD", PERIOD_M1,x);
}
Kod: Zaznacz cały
Time[i]
Andrzej Pierz
- siersciuch
- Pasjonat
- Posty: 407
- Rejestracja: 06 kwie 2010, 20:31
Co tu moze byc nie tak, zwarac mia 130 error
Kod: Zaznacz cały
if(OrderSelect(s,SELECT_BY_POS,MODE_TRADES))
{
OrderClose(s,lot,Bid,3); // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.
- Pierz Andrzej
- Przyjaciel Forum
- Posty: 1200
- Rejestracja: 02 lip 2006, 14:17
wszystko jest nie taksiersciuch pisze:Co tu moze byc nie tak,

korzystales z F1 ??
Kod: Zaznacz cały
bool OrderClose( int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
Closes opened order. If the function succeeds, the return value is true. If the function fails, the return value is false. To get the detailed error information, call GetLastError().
Parameters:
ticket - Unique number of the order ticket.
lots - Number of lots.
price - Preferred closing price.
slippage - Value of the maximum price slippage in points.
Color - Color of the closing arrow on the chart. If the parameter is missing or has CLR_NONE value closing arrow will not be drawn on the chart.
Sample:
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75)
{
OrderClose(order_id,1,Ask,3,Red);
return(0);
}
Kod: Zaznacz cały
s
Kod: Zaznacz cały
OrderTicket()
Kod: Zaznacz cały
lot
Kod: Zaznacz cały
OrderLots()
pozdrawiam
Andrzej Pierz