Dax/Nasdaq Daytrading

Miejsce, gdzie każdy może prowadzić swój własny dziennik gry na FX.
Mistyfikator
Pasjonat
Pasjonat
Posty: 932
Rejestracja: 05 lip 2021, 20:35

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: Mistyfikator »

ninjaproject pisze:
06 maja 2022, 13:14


Pierwsza rzecz, to już zdefiniowałeś

Kod: Zaznacz cały

bool L=false;
bool S=false;
, więc w OnTick() ta piersza pętla

Kod: Zaznacz cały

  while(OrdersTotal()>=1){
  bool L=false;
  bool S=false;}
jest zbędna, ponieważ ona tylko niepotrzebnie powtarza to, co już zostało zdefinowane.
Liczyłem na to, że pomoże. Ale nie dało to nic. Na chłopski rozum, szukając błędu, zrozumiałem że może wartość bool została już przestawiona na true i tak została.

Ale rozumiem, że po zamknięciu pozycji zostaje mi false, jeśli warunek średnich SMA który napisałem będzie false?
Ostatnio zmieniony 06 maja 2022, 13:43 przez Mistyfikator, łącznie zmieniany 2 razy.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: ninjaproject »

Jeszcze odnośnie inputs:

Kod: Zaznacz cały

input int SMA1=5;
input int SMA2=30;
input int SL=5;
input int TP=5;
input ENUM_TIMEFRAMES    PERIOD=PERIOD_M1;
input double VOL=0.1;
Tak jest o wiele wygodniej, bo nie potrzeba pamiętać konkretnych wartości interwałów.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Mistyfikator
Pasjonat
Pasjonat
Posty: 932
Rejestracja: 05 lip 2021, 20:35

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: Mistyfikator »

ninjaproject pisze:
06 maja 2022, 13:32
Jeszcze odnośnie inputs:

Kod: Zaznacz cały

input int SMA1=5;
input int SMA2=30;
input int SL=5;
input int TP=5;
input ENUM_TIMEFRAMES    PERIOD=PERIOD_M1;
input double VOL=0.1;
Tak jest o wiele wygodniej, bo nie potrzeba pamiętać konkretnych wartości interwałów.
I to może być to!
Prawdopodobnie EA nie rozróżniał TF. Juz zaraz sprawdzam.

Edit: Nie, to nie to :( W sumie do warości interwałów już się przyzwyczaiłem i chyba tutaj już nie popełniam błędów

Mistyfikator
Pasjonat
Pasjonat
Posty: 932
Rejestracja: 05 lip 2021, 20:35

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: Mistyfikator »

ninjaproject pisze:
06 maja 2022, 13:24
W inputs, ma być tak:

Kod: Zaznacz cały

input int SMA1=5;
input int SMA2=30;
input int SL=5;
input int TP=5;
input int    PERIOD=1;
input double VOL=0.1;
Kolejne błędy są w obliczaniu SL i TP.
W inputs podajesz SL i TP w punktach, czyli wartości takie, jakie odczytujesz za pomocą narzędzia krzyżyk.
SL = 5 to oznacza 5 punktów, czyli dla Forex to jest 0,5 pipsa. 5 pips = 50 pkt. Dla indeksów będzie inaczej, i dla innych instrumentów też może być inaczej.
Czyli, że ma być tak:

Kod: Zaznacz cały

  double aStopLoss = Ask - SL*_Point;  
  double bStopLoss = Bid + SL*_Point;
  double aTakeProfit = Ask + TP*_Point;
  double bTakeProfit = Bid - TP*_Point;
Ponieważ ty masz obliczyć cenę SL i TP.
Np. dla GBPUSD 1,23615 + 5 = 6,23615 - i co to jest za cena???
Co do wartości SL i TP. To co napisałem działa na S&P500 i NASDAQ100, znaczy oblicza wartość jaką mam na myśli.
Ale będę miał to na uwadze, bo skoro to ma być EA scalping, to pasowałoby działać na kilku instrumentach, w tym na majorsach.

Edit: TP i SL, to raczej (mam nadzieję) przez to przebrnąłem. Nie rozumiem natomiat, czego w tym EA nie otwiera mi pozycji zgodnie z warunkiem, który zapisałem tj. po przecięciu się dwóch SMA
Ostatnio zmieniony 06 maja 2022, 13:47 przez Mistyfikator, łącznie zmieniany 2 razy.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: ninjaproject »

No i ostatecznie, funkcje na zleceniach trzeba sprawdzać.
Dla rodzaju zlecenia lepiej stosować OP_BUY, OP_SELL, bo znowu nie trzeba pamietać, czy to 0, 1, czy co innego.
I slippage to można sobie w dupę wsadzić, bo cokolwiek tam nie wpiszesz, to i tak nie ma efektu.

Kod: Zaznacz cały

  
  if(L=true&&Ask>NOW2){
   if(OrderSend(NULL,OP_BUY,Lot,Ask,0,aStopLoss,aTakeProfit,NULL,0,0,clrNONE)<0)
     Print("Zakup nieudany ",GetLastError());
   else
     Print("kupiono za",Ask);}
     
  if(S=true&&Bid<NOW2){
   if(OrderSend(NULL,OP_SELL,Lot,Bid,0,bStopLoss,bTakeProfit,NULL,0,0,clrNONE)<0) 
     Print("Sprzedaż nieudana ",GetLastError());
   else
     Print("sprzedano za",Bid);}
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: ninjaproject »

Mistyfikator_EA.mq4
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Mistyfikator
Pasjonat
Pasjonat
Posty: 932
Rejestracja: 05 lip 2021, 20:35

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: Mistyfikator »

ninjaproject pisze:
06 maja 2022, 13:47
Mistyfikator_EA.mq4

OOO, dzięki!
Już patrzam i testuję, bo jak mówię problem był tak, że otwierało mi pozycje nie patrząc na te średnie, które opisałem :(
A najgorsze to, że po osiągnięciu TF otwierało kolejną pozycję w tym samym kierunku i zamiast 1*TP, był TP i SL.
A ma to otwierać pozycję BUY tylko jeśli na obecnym m1 średnia szybka jest nad wolną, a na poprzednim barze było odwrotnie. I analogicznie SELL.

Jeszcze raz dzięki ninjaproject, przyspieszyłeś moją naukę.
Ale wiem, że minie jeszcze sporo czasu, zanim będę pisał to, co mam na myśli.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: ninjaproject »

Mistyfikator pisze:
06 maja 2022, 13:40

Co do wartości SL i TP. To co napisałem działa na S&P500 i NASDAQ100, znaczy oblicza wartość jaką mam na myśli.
To tylko przez przypadek tak przypasowało.
Tak się nie robi!
Pasowało, bo dla NASDAQ100 np. 12775,65 + 5 = 12780,65.
Ale nie ma tu żadnej systematyczności, bo w tym wypadku twoje 5 = 500*_Point, więc w inputs powinno być 500, nie 5!
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: ninjaproject »

Mistyfikator pisze:
06 maja 2022, 13:55
ninjaproject pisze:
06 maja 2022, 13:47
Mistyfikator_EA.mq4

OOO, dzięki!
Już patrzam i testuję, bo jak mówię problem był tak, że otwierało mi pozycje nie patrząc na te średnie, które opisałem :(
A najgorsze to, że po osiągnięciu TF otwierało kolejną pozycję w tym samym kierunku i zamiast 1*TP, był TP i SL.
A ma to otwierać pozycję BUY tylko jeśli na obecnym m1 średnia szybka jest nad wolną, a na poprzednim barze było odwrotnie. I analogicznie SELL.

Jeszcze raz dzięki ninjaproject, przyspieszyłeś moją naukę.
Ale wiem, że minie jeszcze sporo czasu, zanim będę pisał to, co mam na myśli.
No, ale to jeszcze nie będzie działać poprawnie, bo nie wie ile może postawić zleceń, więc będzie stawiać do bólu, dopóki warunek będzie spełniony.
Chociaż, nie, ten twój while() powinien załatwiać tę kwestię.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: ninjaproject »

Jeszcze zauważyłem coś:

Kod: Zaznacz cały

  if((NOW1>NOW2)&&(PRE1<PRE2)){L=true;}
  if((NOW1<NOW2)&&(PRE1>PRE2)){S=true;}
  if((NOW1<NOW2)&&(PRE1>PRE2)){L=false;}
  if((NOW1>NOW2)&&(PRE1<PRE2)){S=false;}
Czekaj!
Mistyfikator_EA.mq4
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Zablokowany