Chciałbym utworzyć plik / pliki excela, w którym znajdowałyby się dane historyczne z par walutowych:
- open/close/high/low dla świeczek m15, m30, h1, h4, d1
Idealnie gdyby dane same się aktualizowały w arkuszu lub poprzez kliknięcie "update".
Czy zna ktoś z Was jakiś sposób?
Baza danych
Re: Baza danych
też chce zrobić eksport do excela.
Może do Accessa jeszcze uzgodnie to z kumplem który ma vb i SQL bardziej opanowany, gdzie lepiej dane będzie przeglądać i sortować.
Zależy mi na wycinkach czasowych, chcę np sprawdzić jak przez ostatni rok chodził dax między np. 9-10,30
pogrupowane dniami tygodnia
powinno to wyglądać tak wycinki 1,5h
data - dzień pn (i wykres~)~~~~~~~~~~~~
data - dzień wt ~~~~~~~~~~~~
na początku trzeba je wyeksportować tak żeby excel ładnie świece zrobił
a wymaga aby:
aby utworzyć wykres giełdowy Uporządkuj dane na arkuszu w następującej kolejności cena najwyższa cena najniższa cena zamknięcia Użyj zatrudnia giełdowych jako etykiety
od jednego z forumowiczów znalazłem taki kod
http://fxcraft.biz/baza-wiedzy/mt4-i-ek ... -do-pliku/
void export() {
string file="export_"+Symbol()+"_"+Period()+".csv";
int f=FileOpen(file,FILE_CSV|FILE_WRITE,",");
if(f<1) {
Alert("Błąd otwierania pliku");
return(0);
}
for(int i=0;i<Bars;i++) {
FileWrite(f,TimeToStr(Time,TIME_DATE|TIME_MINUTES),
Open,High,Low,Close);
}
Alert("Eksport "+Symbol()+" zakończony. Wyeksportowano "+Bars+" rekordów");
FileFlush(f);
FileClose(f);
}
do export do excela,
ale jak go zaimplementować w Mt4 lub 5, , w jakim pliku to zapisać i gdzie ten plik umieścić , może ktoś podpowie?
Może do Accessa jeszcze uzgodnie to z kumplem który ma vb i SQL bardziej opanowany, gdzie lepiej dane będzie przeglądać i sortować.
Zależy mi na wycinkach czasowych, chcę np sprawdzić jak przez ostatni rok chodził dax między np. 9-10,30
pogrupowane dniami tygodnia
powinno to wyglądać tak wycinki 1,5h
data - dzień pn (i wykres~)~~~~~~~~~~~~
data - dzień wt ~~~~~~~~~~~~
na początku trzeba je wyeksportować tak żeby excel ładnie świece zrobił
a wymaga aby:
aby utworzyć wykres giełdowy Uporządkuj dane na arkuszu w następującej kolejności cena najwyższa cena najniższa cena zamknięcia Użyj zatrudnia giełdowych jako etykiety
od jednego z forumowiczów znalazłem taki kod
http://fxcraft.biz/baza-wiedzy/mt4-i-ek ... -do-pliku/
void export() {
string file="export_"+Symbol()+"_"+Period()+".csv";
int f=FileOpen(file,FILE_CSV|FILE_WRITE,",");
if(f<1) {
Alert("Błąd otwierania pliku");
return(0);
}
for(int i=0;i<Bars;i++) {
FileWrite(f,TimeToStr(Time,TIME_DATE|TIME_MINUTES),
Open,High,Low,Close);
}
Alert("Eksport "+Symbol()+" zakończony. Wyeksportowano "+Bars+" rekordów");
FileFlush(f);
FileClose(f);
}
do export do excela,
ale jak go zaimplementować w Mt4 lub 5, , w jakim pliku to zapisać i gdzie ten plik umieścić , może ktoś podpowie?
Re: Baza danych
1. Wchodzisz w MT4 i odpalasz pasek testera na dole a potem przechodzisz do kreatora EA https://images92.fotosik.pl/39/983a85c6d0f63fc7.png
2. Klikasz na tej liście ze wskaźnikami i EA na Create in MetaEditor
3. Wklejasz ten kod do tego pustego pliku, zastępujesz ten wygenerowany czysty kod EA
4. Puszczasz test... i zatrzymujesz od razu.
5. Plik zapisuje się pod Windowsem gdzieś w tych folderach, tam gdzie masz w AppData folder dla plikó MT4 gdzie się wrzuca wskaźniki
C:\Users\(home folder)\AppData\Roaming\MetaQuotes\Terminal\A24505C************************4C\tester\files
LUB PO PROSTU WRZUCASZ EA NA WYKRES LIVE, na bieżący wykres, wyskakuje Alert i plik zapisuje się w tej ścieżce
C:\Users\(home folder)\AppData\Roaming\MetaQuotes\Terminal\A24505C*********A195FD144C\MQL4\Files
-- Dodano: 18 wrz 2018, 12:31 --
W sumie moglibyście to podbić i opisać skoro fxcraft dał rozwiązanie, żeby potem inni nie szukali.
2. Klikasz na tej liście ze wskaźnikami i EA na Create in MetaEditor
3. Wklejasz ten kod do tego pustego pliku, zastępujesz ten wygenerowany czysty kod EA
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| ExportFile18092018TestEA.mq4 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
_export();
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
}
//+------------------------------------------------------------------+
void _export() {
string file="export_"+Symbol()+"_"+Period()+".csv";
int f=FileOpen(file,FILE_CSV|FILE_WRITE,",");
if(f<1) {
Alert("Błąd otwierania pliku");
return;
}
for(int i=0;i<Bars;i++) {
FileWrite(f,TimeToStr(Time[i],TIME_DATE|TIME_MINUTES),
Open[i],High[i],Low[i],Close[i]);
}
Alert("Eksport "+Symbol()+" zakończony. Wyeksportowano "+Bars+" rekordów");
FileFlush(f);
FileClose(f);
}
5. Plik zapisuje się pod Windowsem gdzieś w tych folderach, tam gdzie masz w AppData folder dla plikó MT4 gdzie się wrzuca wskaźniki
C:\Users\(home folder)\AppData\Roaming\MetaQuotes\Terminal\A24505C************************4C\tester\files
LUB PO PROSTU WRZUCASZ EA NA WYKRES LIVE, na bieżący wykres, wyskakuje Alert i plik zapisuje się w tej ścieżce
C:\Users\(home folder)\AppData\Roaming\MetaQuotes\Terminal\A24505C*********A195FD144C\MQL4\Files
-- Dodano: 18 wrz 2018, 12:31 --
W sumie moglibyście to podbić i opisać skoro fxcraft dał rozwiązanie, żeby potem inni nie szukali.
Re: Baza danych
super, dzięki za odpowiedź,
dobrze opisane, teraz to rozumiem, faktycznie przydało by się opisać ,
wcześniej wrzucałem na wykres, kopiując go do różnych folderów, i też do 'script' ale nie działał
wywala
2018.09.18 22:07:04.522 cannot open file 'C:\Users\.......pData\Roaming\MetaQuotes\Terminal\......\Scripts\ToExcel.ex4' [2]
robię w/g wskazówek i dalej nie działa
2018.09.18 21:36:20.614 Tester: cannot load Experts\1excel22
2018.09.18 21:36:20.614 cannot open file 'C:\Users\...\AppData\Roaming\MetaQuotes\Terminal\.....FC1E5CF75\MQL4\Experts\1excel22.ex4' [2]
a w samym edytorze o uruchomieniu wywala
'1excel22.mq4' 1excel22.mq4 1 1
'export' - unexpected token 1excel22.mq4 3 6
'(' - name expected 1excel22.mq4 3 12
'file' - undeclared identifier 1excel22.mq4 6 16
'if' - expressions are not allowed on a global scope 1excel22.mq4 8 1
'for' - expressions are not allowed on a global scope 1excel22.mq4 13 1
'Alert' - declaration without type 1excel22.mq4 18 1
'FileFlush' - declaration without type 1excel22.mq4 20 1
'FileClose' - declaration without type 1excel22.mq4 21 1
')' - expressions are not allowed on a global scope 1excel22.mq4 23 1
9 error(s), 0 warning(s) 10 1
Nie mam pojęcia co to może być że nie może pliku załadować
zmieniłem uprawnienia w w10 że plik może każdy edytować ,
prog uruchamiałem jak admin.
oczywiście plik tam jest i w momencie uruchamiania w edytorze jest zamknięty
może druga instancja mt4 blokuje, ale przecież mają swoje podfoldery
dobrze opisane, teraz to rozumiem, faktycznie przydało by się opisać ,
wcześniej wrzucałem na wykres, kopiując go do różnych folderów, i też do 'script' ale nie działał
wywala
2018.09.18 22:07:04.522 cannot open file 'C:\Users\.......pData\Roaming\MetaQuotes\Terminal\......\Scripts\ToExcel.ex4' [2]
robię w/g wskazówek i dalej nie działa
2018.09.18 21:36:20.614 Tester: cannot load Experts\1excel22
2018.09.18 21:36:20.614 cannot open file 'C:\Users\...\AppData\Roaming\MetaQuotes\Terminal\.....FC1E5CF75\MQL4\Experts\1excel22.ex4' [2]
a w samym edytorze o uruchomieniu wywala
'1excel22.mq4' 1excel22.mq4 1 1
'export' - unexpected token 1excel22.mq4 3 6
'(' - name expected 1excel22.mq4 3 12
'file' - undeclared identifier 1excel22.mq4 6 16
'if' - expressions are not allowed on a global scope 1excel22.mq4 8 1
'for' - expressions are not allowed on a global scope 1excel22.mq4 13 1
'Alert' - declaration without type 1excel22.mq4 18 1
'FileFlush' - declaration without type 1excel22.mq4 20 1
'FileClose' - declaration without type 1excel22.mq4 21 1
')' - expressions are not allowed on a global scope 1excel22.mq4 23 1
9 error(s), 0 warning(s) 10 1
Nie mam pojęcia co to może być że nie może pliku załadować
zmieniłem uprawnienia w w10 że plik może każdy edytować ,
prog uruchamiałem jak admin.
oczywiście plik tam jest i w momencie uruchamiania w edytorze jest zamknięty
może druga instancja mt4 blokuje, ale przecież mają swoje podfoldery
Re: Baza danych
Nie grzebałem do tej pory z zapisywaniem plików na MT4, za bardzo nie ogarniam tego.
Może spróbuj dodać nowy indykator i wklej ten kod do wygenerowanego pliku.
I wtedy wrzuć na wykres zamiast EA indykator.
Poza tym nie wiem jak jest rozwiązany dostęp do plików w Win 10, nie wiem jak przestwić chmod na folderach z poziomu MT4, nie wiem jak zmienić uprawnienia do zapis w Win10 itd. Nic nie wiem o Win10 niestety bo go nie miałem nigdy. Więc ja w tej kwestii nie pomoge.
Poza tym mogłeś podać kod który wrzucasz bo jeśli coś zmieniłeś to może to jest pochodna tych zmian które tam wprowadziłeś do tego kodu co wkleiłem.
Coś widzę że mają problemy inni z Edytorem MT4 https://www.mql5.com/en/forum/68197 i np tutaj ktoś napisał że wystarczy zastąpić plik edytora tym tutaj ale nie wiem co tam w tym pliku jest więc nie będę kombinował https://www.forex.in.rs/metatrader-ex4- ... de-solved/
Chyba tyle mogłem pomóc tutaj.
Może spróbuj dodać nowy indykator i wklej ten kod do wygenerowanego pliku.
I wtedy wrzuć na wykres zamiast EA indykator.
Kod: Zaznacz cały
//+------------------------------------------------------------------+
//| jsdsakfh13jhj13b51352135.mq4 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
_export();
Print( TerminalInfoString(TERMINAL_DATA_PATH) ); // zakladce EXPERTS na dolnym panelu wyświetli sciezke do folderu MT4
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
void _export() {
string file="export_"+Symbol()+"_"+Period()+".csv";
FileDelete(file);
int f=FileOpen(file,FILE_CSV|FILE_WRITE,",");
if(f<1) {
Alert("Błąd otwierania pliku");
return;
}
for(int i=0;i<Bars;i++) {
FileWrite(f,TimeToStr(Time[i],TIME_DATE|TIME_MINUTES),
Open[i],High[i],Low[i],Close[i]);
}
Alert("Eksport "+Symbol()+" zakończony. Wyeksportowano "+Bars+" rekordów");
FileFlush(f);
FileClose(f);
}
Poza tym mogłeś podać kod który wrzucasz bo jeśli coś zmieniłeś to może to jest pochodna tych zmian które tam wprowadziłeś do tego kodu co wkleiłem.
Coś widzę że mają problemy inni z Edytorem MT4 https://www.mql5.com/en/forum/68197 i np tutaj ktoś napisał że wystarczy zastąpić plik edytora tym tutaj ale nie wiem co tam w tym pliku jest więc nie będę kombinował https://www.forex.in.rs/metatrader-ex4- ... de-solved/
Chyba tyle mogłem pomóc tutaj.
Re: Baza danych
Co za czasów dożyłem. Z tego co piszecie wyglada ze program "Windowsy" lepiej działa na Linuxie niż na Win. Niestety też nie pomogę mogę tylko napisać że pod linuxem działa.