Dax/Nasdaq Daytrading
-
- Pasjonat
- Posty: 932
- Rejestracja: 05 lip 2021, 20:35
Re: Dax/Nasdaq Daytrading
Czy indeks świec to już coś predefiniowalnego?
Wraz z każdą nową świecą numerki zostają przyporządkowane na OnTick?
Już zastanawiałem się, czy coś trzeba kombinować z dodatkową pętlą if w środku while
Wraz z każdą nową świecą numerki zostają przyporządkowane na OnTick?
Już zastanawiałem się, czy coś trzeba kombinować z dodatkową pętlą if w środku while
-
- Pasjonat
- Posty: 932
- Rejestracja: 05 lip 2021, 20:35
Re: Dax/Nasdaq Daytrading
No nic. W testerze dalej otwiera kolejną pozycję po zamknięciu poprzedniej.
Muszę zrobić sobie przerwę od tego i jeszcze raz wszystko przemyślę za parę godzin, bo pewnie nie widzę czegoś oczywistego.
Oczywiście będę niezmiernie wdzięczny za każdą podpowiedź, która mnie nakieruje na rozwiązanie zagadnienia
Muszę zrobić sobie przerwę od tego i jeszcze raz wszystko przemyślę za parę godzin, bo pewnie nie widzę czegoś oczywistego.
Oczywiście będę niezmiernie wdzięczny za każdą podpowiedź, która mnie nakieruje na rozwiązanie zagadnienia
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Dax/Nasdaq Daytrading
Tak, indeks świecy to zawsze : bieżąca = 0, pierwsza po niej = 1, itd.Mistyfikator pisze: ↑06 maja 2022, 15:13Czy indeks świec to już coś predefiniowalnego?
Wraz z każdą nową świecą numerki zostają przyporządkowane na OnTick?
Już zastanawiałem się, czy coś trzeba kombinować z dodatkową pętlą if w środku while
Dla EA nie ma potrzeby badać więcej, chyba że się pisze jakieś złożone warunki, które liczą jakiś okres w przeszłości.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Dax/Nasdaq Daytrading
Kuźwa, wykryłem błąd!Mistyfikator pisze: ↑06 maja 2022, 15:16No nic. W testerze dalej otwiera kolejną pozycję po zamknięciu poprzedniej.
Muszę zrobić sobie przerwę od tego i jeszcze raz wszystko przemyślę za parę godzin, bo pewnie nie widzę czegoś oczywistego.
Oczywiście będę niezmiernie wdzięczny za każdą podpowiedź, która mnie nakieruje na rozwiązanie zagadnienia
Ty miałeś
Kod: Zaznacz cały
if(S=true)
Powinno być
Kod: Zaznacz cały
if(S==true)
Kod: Zaznacz cały
if(S)
Kod: Zaznacz cały
if(S)
Kod: Zaznacz cały
if(!S)
Ostatnio zmieniony 06 maja 2022, 16:03 przez ninjaproject, łącznie zmieniany 1 raz.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Dax/Nasdaq Daytrading
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.
Programuję wskaźniki i EA do MetaTrader 4/5.
-
- Pasjonat
- Posty: 932
- Rejestracja: 05 lip 2021, 20:35
Re: Dax/Nasdaq Daytrading
Dzięki!ninjaproject pisze: ↑06 maja 2022, 15:57Kuźwa, wykryłem błąd!Mistyfikator pisze: ↑06 maja 2022, 15:16No nic. W testerze dalej otwiera kolejną pozycję po zamknięciu poprzedniej.
Muszę zrobić sobie przerwę od tego i jeszcze raz wszystko przemyślę za parę godzin, bo pewnie nie widzę czegoś oczywistego.
Oczywiście będę niezmiernie wdzięczny za każdą podpowiedź, która mnie nakieruje na rozwiązanie zagadnienia
Ty miałeśa to zawsze jest spełnione!Kod: Zaznacz cały
if(S=true)
Powinno byćalbo po prostuKod: Zaznacz cały
if(S==true)
Ja zawsze piszęKod: Zaznacz cały
if(S)
alboKod: Zaznacz cały
if(S)
dla bool, więc nie zwróciłem nawet uwagi na to, a ME nie wyrzucił błędu.Kod: Zaznacz cały
if(!S)
Tego jeszcze nie rozgryzłem, kiedy pisać ==, a kiedy !
Znaczy się, próbowałem i z "==" wcześniej, ale widocznie błąd był gdzieś indziej.
Najlepiej to bym się zapisał na lekcje z MQL4, ale najpierw przejrzę dokumentację jeszcze z kilka razy i przerobię podstawy C++, bo moje błędy wynikają po prostu z niezrozumienia podstaw, braku wiedzy i usiłowania zrobienia czegoś "na szybko".
-
- Pasjonat
- Posty: 932
- Rejestracja: 05 lip 2021, 20:35
Re: Dax/Nasdaq Daytrading
PS. Pewnie takie EA powstały już tysiące razy, bo to jest chyba najprostsze, co można napisać.
Ale wklejam kod, jeśli kiedyś ktoś przyjdzie początkujący, żeby sobie przekopiował lub zobaczył, na wszelki wypadek jakby ten załącznik powyżej zniknął:
Mozna ustawić Timeframe, SL i TP, a także ilu okresowe średnie kroczące zostały wykorzystane jako sygnał wejścia w transakcję.
Wiadomo, samo nie zarobi, ale jeśli ktoś będzie potrafił ustawić właściwe parametry, znaleźć odpowiedni instrument i odpowiednie warunki rynkowe, to czemu nie.
Oczywiście działa dzięki pomocy Ninjaproject
Edit: Testy na S&P500, przy uzyciu powyższych parametrów pokazują, że są plusy tak wąskiego TP.
Przy wyższym ATR na granym TF, EA może otworzyć kolejną pozycję po wzięciu TP. Tak więc EA może wyłapać pewne ekstremalne sytuacje, jak świeca o niespotykanie dużym zasięgu (tzw. wodospad, lub fanga w górę), co za tym idzie widzę szanse na TP>SL nawet przy parametrach mówiących coś innego (tzw. TP "łączony"). Na moje oko lepiej będzie grać na m5, otworzy to szanse na większe profity. Ale oczywiście faza testów sporo powie.
Ale wklejam kod, jeśli kiedyś ktoś przyjdzie początkujący, żeby sobie przekopiował lub zobaczył, na wszelki wypadek jakby ten załącznik powyżej zniknął:
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| Mistyfikator_EA.mq4 |
//| Copyright 2022, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "MSTFKTR"
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
input int SMA1=5;
input int SMA2=30;
input int SL=5;
input int TP=5;
input ENUM_TIMEFRAMES PERIOD=PERIOD_M1;
input double Lot=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()
{
L=false;S=false;
double aStopLoss = Ask - SL*_Point;
double bStopLoss = Bid + SL*_Point;
double aTakeProfit = Ask + TP*_Point;
double bTakeProfit = Bid - TP*_Point;
aStopLoss=NormalizeDouble(aStopLoss,_Digits);
bStopLoss=NormalizeDouble(bStopLoss,_Digits);
aTakeProfit=NormalizeDouble(aTakeProfit,_Digits);
bTakeProfit=NormalizeDouble(bTakeProfit,_Digits);
double NOW1 = iMA(NULL, PERIOD, SMA1, 0, 0, 0, 1);
double NOW2 = iMA(NULL, PERIOD, SMA2, 0, 0, 0, 1);
double PRE1 = iMA(NULL, PERIOD, SMA1, 0, 0, 0, 2);
double PRE2 = iMA(NULL, PERIOD, SMA2, 0, 0, 0, 2);
if((NOW1>NOW2)&&(PRE1<PRE2)){L=true;S=false;}
else
if((NOW1<NOW2)&&(PRE1>PRE2)){S=true;L=false;}
else
{L=false;S=false;}
if(OrdersTotal()<1){
Print("S=",S," L=",L);
if(L&&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&&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);}
//---
}
}
//+------------------------------------------------------------------+
Wiadomo, samo nie zarobi, ale jeśli ktoś będzie potrafił ustawić właściwe parametry, znaleźć odpowiedni instrument i odpowiednie warunki rynkowe, to czemu nie.
Oczywiście działa dzięki pomocy Ninjaproject
Edit: Testy na S&P500, przy uzyciu powyższych parametrów pokazują, że są plusy tak wąskiego TP.
Przy wyższym ATR na granym TF, EA może otworzyć kolejną pozycję po wzięciu TP. Tak więc EA może wyłapać pewne ekstremalne sytuacje, jak świeca o niespotykanie dużym zasięgu (tzw. wodospad, lub fanga w górę), co za tym idzie widzę szanse na TP>SL nawet przy parametrach mówiących coś innego (tzw. TP "łączony"). Na moje oko lepiej będzie grać na m5, otworzy to szanse na większe profity. Ale oczywiście faza testów sporo powie.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Dax/Nasdaq Daytrading
No to, może jak tak ciasno chcesz, to nie stawiaj TP, tylko napisz, żeby robił OrderClose() jeżeli profit>0.Mistyfikator pisze: ↑06 maja 2022, 17:42PS. Pewnie takie EA powstały już tysiące razy, bo to jest chyba najprostsze, co można napisać.
Ale wklejam kod, jeśli kiedyś ktoś przyjdzie początkujący, żeby sobie przekopiował lub zobaczył, na wszelki wypadek jakby ten załącznik powyżej zniknął:
Mozna ustawić Timeframe, SL i TP, a także ilu okresowe średnie kroczące zostały wykorzystane jako sygnał wejścia w transakcję.
Wiadomo, samo nie zarobi, ale jeśli ktoś będzie potrafił ustawić właściwe parametry, znaleźć odpowiedni instrument i odpowiednie warunki rynkowe, to czemu nie.
Oczywiście działa dzięki pomocy Ninjaproject
Edit: Testy na S&P500, przy uzyciu powyższych parametrów pokazują, że są plusy tak wąskiego TP.
Przy wyższym ATR na granym TF, EA może otworzyć kolejną pozycję po wzięciu TP. Tak więc EA może wyłapać pewne ekstremalne sytuacje, jak świeca o niespotykanie dużym zasięgu (tzw. wodospad, lub fanga w górę), co za tym idzie widzę szanse na TP>SL nawet przy parametrach mówiących coś innego (tzw. TP "łączony"). Na moje oko lepiej będzie grać na m5, otworzy to szanse na większe profity. Ale oczywiście faza testów sporo powie.
Wtedy mogą być fajne bonusiki.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.
Programuję wskaźniki i EA do MetaTrader 4/5.
-
- Pasjonat
- Posty: 932
- Rejestracja: 05 lip 2021, 20:35
Re: Dax/Nasdaq Daytrading
Aż tak to chyba nie, za dużo straciłoby na spreadachninjaproject pisze: ↑06 maja 2022, 18:26
No to, może jak tak ciasno chcesz, to nie stawiaj TP, tylko napisz, żeby robił OrderClose() jeżeli profit>0.
Wtedy mogą być fajne bonusiki.
Ale dzięki za podsunięcie pomysłu, na pewno się przyda w przyszłości.
Na razie testy od 27 kwietnia pokazują, że zarabia. Dałem tylko minimalnie większy TP, żeby SL<TP
Nie są to setki%, raczej groszowe sprawy, wiadomo liczy się to, co wydarzy się w perspektywie wielu miesięcy i kilku tradowanych instrumentów.
-
- Pasjonat
- Posty: 932
- Rejestracja: 05 lip 2021, 20:35
Re: Dax/Nasdaq Daytrading
Tutaj fragment backtestów. S&P500 ostatni tydzień kwietnia.
Jeżeli uznać, że około 100 transakcji to już wiarygodny materiał statystyczny, to można uwierzyć, że to prawda, co mówią:
Gra wg wskaźnika, który teoretycznie powinien dać przewagę plus odpowiedni money managment powinny dać już możliwość zarabiania w tym kasynie. Niewielką, ale wystarczającą.
Dobre ćwiczenie dla tradera: obserwacja backtestów. Ja dzięki temu wpadłem na pomysł kolejnego EA.
Tym razem znacznie prostszego.
Ale najpierw backtesty indeksów amerykańskich.
Tutaj przecięcie się średnich na m1. SL=5, TP=6:
Wnioski są dwa:
1. Trzeba będzie zezwolić na zawieranie przeciwnych transakcji w tym samym czasie. Dużo wejść profitowych straconych w związku z limitem jednej transakcji.
2. Pewnie warto przesunąć średnie na wykresie. Na razie nie mam pojęcia jak. Wiem, że jest wartość dla funkcji iMa. Ale to niewystarczająca wiedza. Bo o ile przesunąć średnią, żeby złapać korzystniejsze ceny?
Jeżeli uznać, że około 100 transakcji to już wiarygodny materiał statystyczny, to można uwierzyć, że to prawda, co mówią:
Gra wg wskaźnika, który teoretycznie powinien dać przewagę plus odpowiedni money managment powinny dać już możliwość zarabiania w tym kasynie. Niewielką, ale wystarczającą.
Dobre ćwiczenie dla tradera: obserwacja backtestów. Ja dzięki temu wpadłem na pomysł kolejnego EA.
Tym razem znacznie prostszego.
Ale najpierw backtesty indeksów amerykańskich.
Tutaj przecięcie się średnich na m1. SL=5, TP=6:
Wnioski są dwa:
1. Trzeba będzie zezwolić na zawieranie przeciwnych transakcji w tym samym czasie. Dużo wejść profitowych straconych w związku z limitem jednej transakcji.
2. Pewnie warto przesunąć średnie na wykresie. Na razie nie mam pojęcia jak. Wiem, że jest wartość dla funkcji iMa. Ale to niewystarczająca wiedza. Bo o ile przesunąć średnią, żeby złapać korzystniejsze ceny?
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Ostatnio zmieniony 07 maja 2022, 00:48 przez Mistyfikator, łącznie zmieniany 1 raz.