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 »

Dzisiaj trochę faktów. Debiut w algo tradingu za mną. Okazało się, że MQL4 to pasjonujący temat, a zarazem mogący przynieść niespodziewane problemy początkującemu programiście.
Teoretycznie powinno działać, ale jednak ciągle coś jest nie tak. Trudno, tu trzeba na spokojnie. Pośpiech nie pomoże, tym bardziej że obowiązków dokoła co nie miara.

Na razie, chcąc wykorzystać czas, który niewątpliwie minie, zanim rozgryzę potrzebne mi zagadnienia, uruchomiłem MT4 na VPS, żeby sprawdzić kilka możliwych parametrów strategii.
W zasadzie pierwszego dnia celem było dla mnie przede wszystkim zainstalowanie VPS-a i uruchomienie tam mojego pierwszego EA.

Rozpoczęły się testy, jakich kombinacji średnich kroczących w multiTF użyć.
W dniu dzisiejszym, sprawdziłaby się strategia która otwiera SELL kiedy cena znajdzie się ponad SMA30 m1, m5, m15, m30, H1.
Niestety, ta sama strategia traciłaby w przypadku choćby większej korekty. Test oczywiście na NASDAQ100

Ciężki temat, pewnie sporo by załatwiło wprowadzenie SMA30 H4 i SMA30 D1, jako warunku do wejścia w pozycje zgodną z trendem. Tak na wypadek zmiany sentymentu.

Cóż, może po prostu warto wypróbować prostsze środki?
Od zaraz test gry na m1.
Taki EA scalping z TP>=SL. Ot tak, żeby wykorzystać MT4 działające 24H :D

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

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: Mistyfikator »

Jak wspaniale, stopy w górę a akcje do góry! Legancko, tak ostatnio przestałem gapić się na okrągło w wykresy, że nawet zapomniałem o elkach, które miałem na S&P500. I dobrze, bo gdybym pamiętał to pewnie próbowałbym grać pod tego FEDa, a tak SL-ki były daleko, a teraz są ładnie w okolicach BE. Teoretycznie to mogła być korekta w spadkowym, ale te świece na H4. Ech, dawno takich nie było :D
TP na 4600, jakby coś przyda się kasa, bo uruchomienie EA na koncie REAL to kwestia najbliższych tygodni.

Co do mojej strategii, to jedna EA powinna działać non stop i skalpować.
Testy opóźnione ze względu na niewłaściwe działanie mojego EA, ciągle pojawiają się nowe zagadnienia. Skupię się na najprostszych sygnałąch wejścia w postaci dwóch średnich kroczących. Jest sporo takich EA, ale ja mam pewne modyfikacje, które zwiększą moją przewagę.

Drugą strategię, z tego co widzę muszę zaprogramować tylko na otwarcia sesji U.S.A. i na eventy w stylu FED.
Nie może ona działać non stop, nie mam pojęcia jak ją zaprogramować, żeby nie przynosiła tak potężnych strat w konsolidacjach.
Znaczy się, pewne pomysły już są, ale poziom moich umiejętności programistycznych nie pozwala na ich realizację.
Przynajmniej na razie, uczę się w wolnych chwilach. Muszę przyswoić jeszcze sporo wiedzy.

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

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: Mistyfikator »

Każdorazowo próba przetrzymania czegoś dłużej kończy się podobnym rezultatem.

W moim wypadku szkoda na to czasu. Nie ma miejsca na własne interpretacje.

Trejduję ponad 700 dni. Przez ten czas wystarczyło codziennie złapać jeden mały ruch, typowy dla konkretnego instrumentu.

Po ooj próbować łapać te rajdy na indeksach, skoro najczęściej rynek mnie najpierw pożera i wysrywa, a następnie idzie w wybranym przeze mnie kierunku.
Może jakbym na każde 10k i grał 0.01 lota to miałoby sens.

Ale to nie dla mnie, spróbuję skubać rynek małym ryzykiem, małym wolumenem, ale regularnie.

Wiadomo jak kropla drąży skałę.

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, 03:00
Każdorazowo próba przetrzymania czegoś dłużej kończy się podobnym rezultatem.

W moim wypadku szkoda na to czasu. Nie ma miejsca na własne interpretacje.

Trejduję ponad 700 dni. Przez ten czas wystarczyło codziennie złapać jeden mały ruch, typowy dla konkretnego instrumentu.

Po ooj próbować łapać te rajdy na indeksach, skoro najczęściej rynek mnie najpierw pożera i wysrywa, a następnie idzie w wybranym przeze mnie kierunku.
Może jakbym na każde 10k i grał 0.01 lota to miałoby sens.

Ale to nie dla mnie, spróbuję skubać rynek małym ryzykiem, małym wolumenem, ale regularnie.

Wiadomo jak kropla drąży skałę.
Łapanie rajdów to jest mit, bo nigdy nie wiesz, kiedy taki rajd będzie.
A z drugiej strony, nigdy też nie wiesz kiedy taki rajd się skończy.
To tylko ładnie wygląda po fakcie.

Inaczej mówiąc, jak wejdziesz w trakcie trwania takiego rajdu, to zwykle jest tak, że cena zawróci akurat wtedy, kiedy wszedłeś, tak jakby ktoś wiedział, że wszedłeś. Czasami będzie to tylko korekta i cena wróci, i poleci dalej, a częściej ty sam zrezygnujesz, bo strata będzie za duża, albo cena rzeczywiście zawróci i wtedy, jeżeli się na SL nie zgodziłeś, to masz poważny DD.

Z drugiej strony, jak dostajesz po dupie, to potem chcesz być ostrożny i łapać typowe ruchy, po trochu.
A w ten sposób nie złapiesz takiego rajdu - czyli, że konsternacja...
Łapać typowe ruchy to dobry pomysł, pod warunkiem, że będziesz cholernie konsekwentny, znajdziesz taki układ, kiedy RR będzie na twoją korzyść, i wtedy będziesz się tego bezwzględnie trzymać.
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 »

I potem, jak się tak dobrze zastanowisz, to znajdziesz typowe ruchy ceny na każdym interwale.
A wszystko będzie zależeć od tego samego:
1. Od RR,
2. Od tego, ile stracisz w tym jednym wypadku, kiedy usuniesz SL...
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 »

Masz przykład dosłownie sprzed chwili na DAX40. Mógł być kolejny rajd w dół, a tu lipa, powrót.
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, 10:59

Łapanie rajdów to jest mit, bo nigdy nie wiesz, kiedy taki rajd będzie.
A z drugiej strony, nigdy też nie wiesz kiedy taki rajd się skończy.
To tylko ładnie wygląda po fakcie.

Inaczej mówiąc, jak wejdziesz w trakcie trwania takiego rajdu, to zwykle jest tak, że cena zawróci akurat wtedy, kiedy wszedłeś, tak jakby ktoś wiedział, że wszedłeś. Czasami będzie to tylko korekta i cena wróci, i poleci dalej, a częściej ty sam zrezygnujesz, bo strata będzie za duża, albo cena rzeczywiście zawróci i wtedy, jeżeli się na SL nie zgodziłeś, to masz poważny DD.

Z drugiej strony, jak dostajesz po dupie, to potem chcesz być ostrożny i łapać typowe ruchy, po trochu.
A w ten sposób nie złapiesz takiego rajdu - czyli, że konsternacja...
Łapać typowe ruchy to dobry pomysł, pod warunkiem, że będziesz cholernie konsekwentny, znajdziesz taki układ, kiedy RR będzie na twoją korzyść, i wtedy będziesz się tego bezwzględnie trzymać.
Dlatego, w moim wypadku ma sens tylko bezwzględne trzymanie się wejść zgodnie ze wskaźnikiem technicznym i bez możliwości zmiany TP i SL.
A skoro kryteria mam określone, to nie widzę miejsca dla siebie przy oglądaniu wykresu. Co najwyżej mogę pilnować, aby EA nie zwariowało, albo strategia nie zaczęła przynosić strat. Szczerze mówiąc, ja nie wierzę w przepowiadanie przyszłości na podstawie formacji. Co najwyżej jakieś proste kryterium wejścia jak dwie SMA i wtedy branie z rynku po max. kilka pipsów. Bez silenia się na łapanie tych "rajdów". To przy takiej codziennej grze.

Tak więc, na dzień dzisiejszy widzę siebie tylko w czymś takim jak EA scalping.
Ale skoro, z tego co również widzę - to nie jest takie proste, to daleka droga przede mną.
A niewykluczone, że trzeba będzie kiedyś porzucić zajęcie, jeśli okaże się że wysiłki idą na nic.

W międzyczasie naskrobałem takie coś i nie wiedzieć czemu otwiera mi pozycję od razu, nie czekając na przecięcie się średnich.
Czy wykorzystać jakiś inny sposób odwołania się do SMA z przeszłości?
Na razie zrobiłem to wg indeksu świec w iMa, a nie bardzo wiem jakie są inne możliwości:

Kod: Zaznacz cały

#property copyright "MSTFKTR"
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input double SMA1=5;
input double SMA2=30;
input double SL=5;
input double TP=5;
input double PERIOD=1;
input double VOL=0.1;

bool L=false;
bool S=false;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
  while(OrdersTotal()>=1){
  bool L=false;
  bool S=false;}
  while(OrdersTotal()<1){
  
  double aStopLoss = Ask - SL;  
  double bStopLoss = Bid + SL;
  double aTakeProfit = Ask + TP;
  double bTakeProfit = Bid - TP;
  aStopLoss=NormalizeDouble(Ask-SL,2);
  bStopLoss=NormalizeDouble(Bid+SL,2);
  aTakeProfit=NormalizeDouble(Ask+TP,2);
  bTakeProfit=NormalizeDouble(Bid-TP,2);
  double NOW1 = iMA(NULL, PERIOD, SMA1, 0, 0, 0, 0);
  double NOW2 = iMA(NULL, PERIOD, SMA2, 0, 0, 0, 0);
  double PRE1 = iMA(NULL, PERIOD, SMA1, 0, 0, 0, 1);
  double PRE2 = iMA(NULL, PERIOD, SMA2, 0, 0, 0, 1);
  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;}
  if(L=true&&Ask>NOW2){OrderSend(NULL,0,VOL,Ask,2.00,aStopLoss,aTakeProfit,NULL,0,0,clrNONE);
     Print("kupiono za",Ask);}
  if(S=true&&Bid<NOW2){OrderSend(NULL,1,VOL,Bid,2.00,bStopLoss,bTakeProfit,NULL,0,0,clrNONE); 
     Print("sprzedano za",Bid);}
  
//---
  }}

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

Re: Dax/Nasdaq Daytrading

Nieprzeczytany post autor: ninjaproject »

Będę ci komentował twoje EA po kolei, więc może być więcej niż jeden post:

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

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???
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 »

Dalej, z normalizowaniem, to ci pisałem, że normalizujemy do _Digits!

Kod: Zaznacz cały

  
  aStopLoss=NormalizeDouble(aStopLoss,_Digits);
  bStopLoss=NormalizeDouble(bStopLoss,_Digits);
  aTakeProfit=NormalizeDouble(aTakeProfit,_Digits);
  bTakeProfit=NormalizeDouble(bTakeProfit,_Digits);
I skoro już obliczyłeś te zmienne, to po licho je ponownie obliczasz?
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Zablokowany