otwarcie kolejnej pozycji po przekroczeniu zał. dystansu

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 452
Rejestracja: 05 lis 2009, 13:22

otwarcie kolejnej pozycji po przekroczeniu zał. dystansu

Nieprzeczytany post autor: NiceFox »

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) ?
Pieniądze rosną na drzewie cierpliwości.

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

Nieprzeczytany post autor: Tig3r »

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ć..

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 452
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

Chodzi o warunek tak aby nie pozwalało na otwarcie pozycji poniżej określonej odległości od ostatniego zlecenia. Bo pozycje otwiera w zbyt małej odległości od ostatniego zlecenia.
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
Asia
Gaduła
Gaduła
Posty: 319
Rejestracja: 09 gru 2009, 02:00

Nieprzeczytany post autor: Asia »

ja sobie z tym radze tak

poprzedni sygnał do zajęcia pozycji +/- (ilość pipsów * Point)
prymitywne ale działa
Czytaj p o w o l i
Dzień dobry, nazywam się ... jestem anonimowym hazardzistą/ką, gram na Forexie
Obrazek

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 452
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

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ć?
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
xamael
Gaduła
Gaduła
Posty: 108
Rejestracja: 09 cze 2009, 14:54

Nieprzeczytany post autor: xamael »

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...)


Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 452
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

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.
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
xamael
Gaduła
Gaduła
Posty: 108
Rejestracja: 09 cze 2009, 14:54

Nieprzeczytany post autor: xamael »

NiceFox wstaw cały PLIK z EA, bo z tego co napisałeś nie bardzo zrozumiałem co za dok wklepałeś.

bo

Kod: Zaznacz cały

int k_min_dystans ( ) (i0) ( ) + min_dystans > (i0) ( ); // dla buy 
to dla mnie zapis którego nie mogę powiązać z jakimkolwiek językiem, albo zwyczajnie jestem dupa z MQLa.
Trzymając się systemu: 82% skuteczności || Grając wbrew systemowi: 8% skuteczności. Dyscyplina jest autorem większości zwycięstw.

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 452
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

wklejam oryginał bez naniesionych zmian, nie chce ich kompilować
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 452
Rejestracja: 05 lis 2009, 13:22

Nieprzeczytany post autor: NiceFox »

Xamael mamy:

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...)
I teraz jak zrobić żeby funkcja oddała cenę otwarcia ostatniej pozycji?
Pieniądze rosną na drzewie cierpliwości.

ODPOWIEDZ