otwarcie kolejnej pozycji po przekroczeniu zał. dystansu
otwarcie kolejnej pozycji po przekroczeniu zał. dystansu
jak powinien wyglądać kod żeby otwierało
kolejne zlecenie w odległości od już otwartego zlecenia (ta odległość w % , lub w pipsach) ?
kolejne zlecenie w odległości od już otwartego zlecenia (ta odległość w % , lub w pipsach) ?
Pieniądze rosną na drzewie cierpliwości.
najlepiej oczekujące, bądź zapamiętujesz cenę ostatniego zlecenia i ustalasz nową cenę wejścia czekając na nią. czyli zapamiętujesz poziom kolejnego wejścia jeśli cena dojdzie do niego to wchodzisz.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..
int i0;
for(i0=0; i0<OrdersTotal(); i0++) {
OrderSelect(i0, SELECT_BY_POS);
int Magic = OrderMagicNumber();
double Cena = OrderOpenPrice();
if (Magic==MagicNumber&&Cena==Bid) return(0);
if (Magic==MagicNumber&&Cena==Ask) return(0);
} - kod zamieszczony przez Andrzeja Pierza wyszukuje ostatnią otwartą pozycje.
Jak już pozycje odnalazłem to co dalej trzeba zrobić?
for(i0=0; i0<OrdersTotal(); i0++) {
OrderSelect(i0, SELECT_BY_POS);
int Magic = OrderMagicNumber();
double Cena = OrderOpenPrice();
if (Magic==MagicNumber&&Cena==Bid) return(0);
if (Magic==MagicNumber&&Cena==Ask) return(0);
} - kod zamieszczony przez Andrzeja Pierza wyszukuje ostatnią otwartą pozycje.
Jak już pozycje odnalazłem to co dalej trzeba zrobić?
Pieniądze rosną na drzewie cierpliwości.
uzywajac kodu który podałeś to poglądowo będzie to wyglądać tak (dla BUY)
Kod: Zaznacz cały
int pipsowo = 0;
double procentowo = 0.0;
double cenaNowegoZlecenia
if(procentowo != 0.0) {
cenaNowegoZlecenia = Cena + (Cena*procentowo);
}
if(pipsowo != 0) {
cenaNowegoZlecenia = Cena + (pipsowo*Point));
}
OrderSend(...opcje twojego zlecenia...)
Niech będzie tylko dystans pipsowy:
Nie wiem czy dobrze:
//+------------------------------------------------------------------+
//| funkcja wyszukuje ostatnia pozycje |
//+------------------------------------------------------------------+
int i0;
for(i0=0; i0<OrdersTotal(); i0++) {
OrderSelect(i0, SELECT_BY_POS);
int Magic = OrderMagicNumber();
double Cena = OrderOpenPrice();
if (Magic==MagicNumber&&Cena==Bid) return(0);
if (Magic==MagicNumber&&Cena==Ask) return(0);
}
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
extern int min_dystans;
int k_min_dystans ( ) (i0) ( ) + min_dystans > (i0) ( ); // dla buy
// i0 to funkcja oddająca ostatnią otwartą pozycje.
Nie wiem czy dobrze:
//+------------------------------------------------------------------+
//| funkcja wyszukuje ostatnia pozycje |
//+------------------------------------------------------------------+
int i0;
for(i0=0; i0<OrdersTotal(); i0++) {
OrderSelect(i0, SELECT_BY_POS);
int Magic = OrderMagicNumber();
double Cena = OrderOpenPrice();
if (Magic==MagicNumber&&Cena==Bid) return(0);
if (Magic==MagicNumber&&Cena==Ask) return(0);
}
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
extern int min_dystans;
int k_min_dystans ( ) (i0) ( ) + min_dystans > (i0) ( ); // dla buy
// i0 to funkcja oddająca ostatnią otwartą pozycje.
Pieniądze rosną na drzewie cierpliwości.
NiceFox wstaw cały PLIK z EA, bo z tego co napisałeś nie bardzo zrozumiałem co za dok wklepałeś.
bo
to dla mnie zapis którego nie mogę powiązać z jakimkolwiek językiem, albo zwyczajnie jestem dupa z MQLa.
bo
Kod: Zaznacz cały
int k_min_dystans ( ) (i0) ( ) + min_dystans > (i0) ( ); // dla buy
Trzymając się systemu: 82% skuteczności || Grając wbrew systemowi: 8% skuteczności. Dyscyplina jest autorem większości zwycięstw.
Xamael mamy:
I teraz jak zrobić żeby funkcja oddała cenę otwarcia ostatniej pozycji?
Kod: Zaznacz cały
int i0;
for(i0=0; i0<OrdersTotal(); i0++) {
OrderSelect(i0, SELECT_BY_POS);
int Magic = OrderMagicNumber();
double Cena = OrderOpenPrice();
if (Magic==MagicNumber&&Cena==Bid) return(0);
if (Magic==MagicNumber&&Cena==Ask) return(0);
}
int pipsowo = 0;
double procentowo = 0.0;
double cenaNowegoZlecenia
if(procentowo != 0.0) {
cenaNowegoZlecenia = Cena + (Cena*procentowo);
}
if(pipsowo != 0) {
cenaNowegoZlecenia = Cena + (pipsowo*Point));
}
OrderSend(...opcje twojego zlecenia...)
Pieniądze rosną na drzewie cierpliwości.