Wszystkie pytania dozwolone początkujących programistów
Re: Wszystkie pytania dozwolone początkujących programistów
Podpowie ktoś jak napisać funkcję aby wywołać wartość Rsi dla świecy poprzedniej?
Re: Wszystkie pytania dozwolone początkujących programistów
iRSI(NULL,0,14,PRICE_CLOSE,1)
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
Kod: Zaznacz cały
for (int i=0; i<=limit; i++)
{
double RSI_prev=iRSI(_Symbol,_Period,Okres_RSI,Cena_zastosowana,i+1)
}
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.
-
- Uczestnik
- Posty: 2
- Rejestracja: 24 wrz 2020, 23:51
Re: Wszystkie pytania dozwolone początkujących programistów
wiem ze istniej gogle, ale gole przysyła mnie tutaj
MT4 tak mam zainstalowane na kompie z 9 miesięcy ale nie tykałem nic w edytorze.
skąd wytrzasnąć strategie? jak ją włączyć? i jak ją ustawiać?
ze wskaźnikami sobie radzę i strategiami.
nie kumam kompletnie automatów, wczoraj się dowiedziałem o tralling stop czy SL STOP, zauważyłem ze pomagają.
MT4 tak mam zainstalowane na kompie z 9 miesięcy ale nie tykałem nic w edytorze.
skąd wytrzasnąć strategie? jak ją włączyć? i jak ją ustawiać?
ze wskaźnikami sobie radzę i strategiami.
nie kumam kompletnie automatów, wczoraj się dowiedziałem o tralling stop czy SL STOP, zauważyłem ze pomagają.
shaw
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
Roboty za ciebie nie wykonają roboty.
Przez co mówię, że roboty tylko tracą, nie zarabiają.
Natomiast, pytasz w niewłaściwym wątku.
Ty potrzebujesz kursu z platformy MT4 i z podstaw tradingu.
Stop Loss, czy Trailing Stop to elementy zarządzania ryzykiem.
Jeszcze masz bardzo dużo nauki przed sobą.
Zacznij tutaj:
platformy-transakcyjne.html
Przez co mówię, że roboty tylko tracą, nie zarabiają.
Natomiast, pytasz w niewłaściwym wątku.
Ty potrzebujesz kursu z platformy MT4 i z podstaw tradingu.
Stop Loss, czy Trailing Stop to elementy zarządzania ryzykiem.
Jeszcze masz bardzo dużo nauki przed sobą.
Zacznij tutaj:
platformy-transakcyjne.html
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.
Re: Wszystkie pytania dozwolone początkujących programistów
Co jest nie tak z tym kodem potrzebuję wczytać liczby typu double z pliku bin do tablicy. Za podpowiedz z góry dzięki.
Kod: Zaznacz cały
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window
int size=0;
double buff[];
int OnInit()
{
return(INIT_SUCCEEDED);
}
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[])
{
static bool done=false;
if(done==false)
{
ResetLastError();
int file_handle=FileOpen("test.bin",FILE_READ|FILE_BIN);
if(file_handle!=INVALID_HANDLE)
{
size=(int)FileReadDouble(file_handle,DOUBLE_VALUE);
ArrayResize(buff,size);
for(int i=0; i<size; i++)
{
buff[i]=FileReadDouble(file_handle,DOUBLE_VALUE);
}
FileClose(file_handle);
}
else
{
Print("Can't load file ",GetLastError());
}
for(int i=0; i<size; i++)
Print(buff[i]);
done=true;
}
return(rates_total);
}
Re: Wszystkie pytania dozwolone początkujących programistów
Czy ktoś może mi powiedzieć co jest z tym kodem nie tak?
Kod uruchamiany jest na wykresie M1 i na starcie, gdy godziny działania się zgadzają ma odczytać poziom High i Low z ostatniej zamkniętej świecy H1. Niestety robot odczytuje parametry bodajże z 22:00 dnia poprzedniego jeśli uruchomię go przed godzinami handlu, a odczyty prawidłowe robi gdy uruchomię go po rozpoczęciu godzin handlu. Czyli w tym wypadku po godzinie 11:00.
Kod uruchamiany jest na wykresie M1 i na starcie, gdy godziny działania się zgadzają ma odczytać poziom High i Low z ostatniej zamkniętej świecy H1. Niestety robot odczytuje parametry bodajże z 22:00 dnia poprzedniego jeśli uruchomię go przed godzinami handlu, a odczyty prawidłowe robi gdy uruchomię go po rozpoczęciu godzin handlu. Czyli w tym wypadku po godzinie 11:00.
Kod: Zaznacz cały
int Start_Time = 11;
int Stop_Time = 19;
if (Hour()>=Start_Time && Hour()<Stop_Time)
{
Hi = NormalizeDouble(iHigh(NULL, 60, 1),Digits);
Lo = NormalizeDouble(iLow(NULL, 60, 1),Digits);
}
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
To jest w czym?lxi pisze: ↑28 paź 2020, 09:48Czy ktoś może mi powiedzieć co jest z tym kodem nie tak?
Kod uruchamiany jest na wykresie M1 i na starcie, gdy godziny działania się zgadzają ma odczytać poziom High i Low z ostatniej zamkniętej świecy H1. Niestety robot odczytuje parametry bodajże z 22:00 dnia poprzedniego jeśli uruchomię go przed godzinami handlu, a odczyty prawidłowe robi gdy uruchomię go po rozpoczęciu godzin handlu. Czyli w tym wypadku po godzinie 11:00.
Kod: Zaznacz cały
int Start_Time = 11; int Stop_Time = 19; if (Hour()>=Start_Time && Hour()<Stop_Time) { Hi = NormalizeDouble(iHigh(NULL, 60, 1),Digits); Lo = NormalizeDouble(iLow(NULL, 60, 1),Digits); }
EA, czy Script?
Jak go uruchamiasz?
No, bo, logiczne, program zapamiętuje ostatnie wartości, jeżeli chodzi cały czas, a wartości Hi i Lo nie są zresetowane, lub w czasie poza godzinami handlu nadal program zwraca cały czas wartości Hi i Lo, tyle że są to cały czas te same wartości od 19-tej do 11-tej.
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.
Re: Wszystkie pytania dozwolone początkujących programistów
To jest kod EA. EA wrzucam na wykres o godzinie 10:50. Dokładnie wygląda tak:
Zmienna Start jest tylko po to, aby pobieranie wartości High i Low wykonało się tylko raz, kiedy zegar wybije godzinę 11:00.
Jeśli wrzucę robota na wykres o godzinie np. 10:50, to o godzinie 11:00 pobiera dane z dnia poprzedniego z godziny 22:00. Nie wiem dlaczego tak się dzieje.
Jeśli wrzucę robota na wykres np. o 11:01, to odczyty robi już poprawne, czyli ze świecy godzinowej 10:00 - 11:00 dnia aktualnego.
Kod: Zaznacz cały
int OnInit()
{
Start=0;
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
if (Hour()>=Start_Time && Hour()<Stop_Time)
{
if (Start==0)//Odczyt poziomów na starcie programu
{
Hi = NormalizeDouble(iHigh(NULL, 60, 1),Digits);
Lo = NormalizeDouble(iLow(NULL, 60, 1),Digits);
Start=1;
Print("Hi = "+Hi);
Print("Lo = "+Lo);
}
}
Jeśli wrzucę robota na wykres o godzinie np. 10:50, to o godzinie 11:00 pobiera dane z dnia poprzedniego z godziny 22:00. Nie wiem dlaczego tak się dzieje.
Jeśli wrzucę robota na wykres np. o 11:01, to odczyty robi już poprawne, czyli ze świecy godzinowej 10:00 - 11:00 dnia aktualnego.
- ninjaproject
- Maniak
- Posty: 4944
- Rejestracja: 30 lip 2019, 13:15
Re: Wszystkie pytania dozwolone początkujących programistów
Teraz nie mam akurat czasu, ale powiem tyle, że ten kod nie wykonuje się gdy godzina wybije, tylko gdy są ticki.
Sekcja OnInint() wykonuje się tylko raz, przy inicjacji EA, a to nastęouje, gdy EA jest wrzucane na wykres, oraz gdy EA jest "otwierane" w celu zmany parametrów zewnętrznych, i gdy np. zmieniane są Tfy.
Poza tym zmienna Start będzie miała wartość 1 i if() się nie wykona.
Sekcja OnInint() wykonuje się tylko raz, przy inicjacji EA, a to nastęouje, gdy EA jest wrzucane na wykres, oraz gdy EA jest "otwierane" w celu zmany parametrów zewnętrznych, i gdy np. zmieniane są Tfy.
Poza tym zmienna Start będzie miała wartość 1 i if() się nie wykona.
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.