Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
fxBobi
Gaduła
Gaduła
Posty: 244
Rejestracja: 20 sie 2008, 18:43

Nieprzeczytany post autor: fxBobi »

siersciuch pisze:Mam problem z OrderClose, moze źle uzupełniłem nawiasy? Zlecenie nie ma sie zamykać po żądanej cenie

Kod: Zaznacz cały

 OrderClose(long,lots,Bid,3,NULL);
błąd mam taki:

OrderClose error 4051

nawiasy chyba mam dobrze, ale niemam pojecia co oznacza ten 4051

ogólnie chodzi mi, żeby zlecenie zamknęło sie na końcu świecy, nie na początku nowej tylko na końcu starej, bo już na nowej ma się otworzyć kolejne
Może niepoprawne typy parametrów .

long wartośc całkowita (int)
lots (double)

Awatar użytkownika
mikolaj2
Gaduła
Gaduła
Posty: 231
Rejestracja: 04 maja 2011, 14:37

Nieprzeczytany post autor: mikolaj2 »

Witam! Czy w MQL4 istnieje możliwość przypisania do zmiennej ceny, która padła np. w poprzednim ticku? Pozdrawiam...

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

mikolaj2 pisze:Witam! Czy w MQL4 istnieje możliwość przypisania do zmiennej ceny, która padła np. w poprzednim ticku? Pozdrawiam...
Nie da się sprawdzić poprzedniego ticka, ale możesz zapamiętać ostatni tick i go potem wykorzystać (czyli będziesz miał poprzedni tick).
Było by to coś takiego mniej więcej:

Kod: Zaznacz cały

// zmienna globalna - na początku kodu przed funkcjami start i init
double lastTick;

// ten kod w INIT i na końcu funkcji start
lastTick=Bid;

// a przed powyższym przypisaniem sprawdzanie ceny poprzedniej => lastBid i obecnej Bid
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
CoVal
Gaduła
Gaduła
Posty: 320
Rejestracja: 06 paź 2005, 22:45

Nieprzeczytany post autor: CoVal »

albo mozesz sobie utworzyc tablice.

double Ticks[x];
i w niej zapamietywac ostatnie x tickow...
tylko zwroc uwage, zeby otwrocic w tablicy kierunek indeksowania tak jak ma sie to w przypadku cen, czyli, ze najnowszy dopisany element ma wartosc 0, poprzedni 1, itd...

Awatar użytkownika
mikolaj2
Gaduła
Gaduła
Posty: 231
Rejestracja: 04 maja 2011, 14:37

Nieprzeczytany post autor: mikolaj2 »

Jako, że dział nosi nazwę "wszystkie pytani9a dozwolone", więc pozwolę sobie poprosić o łopatologiczne przedstawienie kodu służącego do wykorzystania kroczącego SL. Z góry dziękuję!

Awatar użytkownika
Kuba1111
Stały bywalec
Stały bywalec
Posty: 42
Rejestracja: 16 sie 2011, 11:53

Nieprzeczytany post autor: Kuba1111 »

Do czynienia z EA mam jakiś tydzień, cały czas dowiaduje się czegoś nowego, ale to dla mnie za mało, postanowiłem spróbować stworzyć pewną prostą strategie, mam nadzieje że pomożecie mi w zlikwidowaniu błędów lub ewentualnych braków, siedzę nad nią już drugi dzień i generalnie czy ona jest gotowa? Proszę o wyjaśnienia:)

Strategi opiera się o Stochastic Oscylator (standardowy) na interwale 1h. Gdy dojdzie do przecięcia linii k%(domyślnie to ta ciągła linia) przez d%(domyślnie to ta przerywana linia) od dołu to będzie sygnał sprzedaży, a gdy linia d% przetnie k% od góry będzie to sygnał zakupu. Każde zlecenie ma być opatrzone SL i TP w wysokości 20pkt.
Dodam jeszcze że przy procesie kompilacji wyświetlają mi sie dwa błędy:

1. "optymalizacja moze skończyc sie neipowodzeniem!-double quotes needed"
2. "Koneic pracy programu-double quotes needed"

Moje EA w załączniku :)

Dodano po 9 minutach:
mikolaj2 pisze:Jako, że dział nosi nazwę "wszystkie pytani9a dozwolone", więc pozwolę sobie poprosić o łopatologiczne przedstawienie kodu służącego do wykorzystania kroczącego SL. Z góry dziękuję!
Zobacz to : http://www.xtb.pl/?p=1000#0
Moim zdaniem dobry poradnik dla początkujacych, jest tam wiele przykładów i napewno coś znajdziesz.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
"Nie narzekaj że masz pod górę skoro zmierzasz na szczyt."

Awatar użytkownika
altmer
Gaduła
Gaduła
Posty: 115
Rejestracja: 05 gru 2010, 00:04

Nieprzeczytany post autor: altmer »

Kuba1111 pisze:przy procesie kompilacji wyświetlają mi sie dwa błędy:

1. "optymalizacja moze skończyc sie neipowodzeniem!-double quotes needed"
2. "Koneic pracy programu-double quotes needed"
Lepiej przejrzyj ten kod bardziej dokładnie ;)
To co od razu się rzuca:

Kod: Zaznacz cały

Alert ("Funkcja init, start programu!" //Alert-program zaczyna prace
       "Uwaga!"
       "Program działa przy TF 1H! Każda próba" 
       "optymalizacji może skonczyc sie niepowodzeniem!
       "Parametry Stochastic Oscylator: K% = 5, D% = 3, Slowing = 3");
Tak się nie da. Komentarz powinien być jednym ciągiem w "...", albo na przykład tak:

Kod: Zaznacz cały

Alert ("Funkcja init, start programu!"
       +"Uwaga!"
       +"Program działa przy TF 1H! Każda próba"
       +"optymalizacji może skonczyc sie niepowodzeniem!"
       +"Parametry Stochastic Oscylator: K% = 5, D% = 3, Slowing = 3");
z tym że to będzie jednoznaczne z zapisaniem komentarza jednym ciągiem. (brakuje też cudzysłowu po słowie "niepowodzeniem!" - stąd tekst błędu 'double quotes needed')

Ta część:

Kod: Zaznacz cały

Alert ("Koniec pracy Programu);
- tekst błędu "double quotes needed" znaczy że "brakuje podwójnych cudzysłowów", brakuje znaku cudzysłowu po słowie "Programu".

Kod: Zaznacz cały

int deinit() //Wejscie (deinit)
{
extern int TP Points = 20;
a) deinit to funkcja "kończąca", deinicjalizacja, a nie rozpoczynająca,
b) w związku z powyższym, zmiennych nie definiuje się w funkcji deinit. Zmienne extern i inne zmienne globalne raczej będziesz chciał zdefiniować na początku całego kodu, poza wszelkimi funkcjami (w odróżnieniu od zmiennych lokalnych definiowanych wewnątrz funkcji i wtedy takich zmiennych lokalnych można używać tylko wewnątrz takiej funkcji)

Nie poddawaj się, taka wiedza naprawdę bardzo się przydaje :) Wystarczy przejść trudny początek, zwracać uwagę na szczególiki, testować co jak działa, a potem jest już z górki.

Awatar użytkownika
Kuba1111
Stały bywalec
Stały bywalec
Posty: 42
Rejestracja: 16 sie 2011, 11:53

Nieprzeczytany post autor: Kuba1111 »

Dzięki wielkie Altmer!!!
"Nie narzekaj że masz pod górę skoro zmierzasz na szczyt."

lasek
Stały bywalec
Stały bywalec
Posty: 23
Rejestracja: 27 lut 2011, 08:23

Nieprzeczytany post autor: lasek »

Skoro wszystkie pytania dozwolone, to ja spróbuję ze swoim. Jestem zielony w programowaniu, zresztą nie wiem czy to co chcę zrobić wymaga programowania... ale do rzeczy-

Chciałbym dodać do wskaźnika Volumes[wolumen] średnią kroczącą. Oczywiście w MetaTraderze4.

Prosiłbym o wskazówki jak to zrobić

Pozdrawiam

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

lasek w MT4 nie ma wolumenu, tzn jest ale nie określa on ilości transakcji a jedynie: zlicza ilość zmian na jednej świecy (ile razy zmieniła się cena).

A ogólnie to nieprecyzyjnie zadałeś pytanie, bo pytasz o jakiś wskaźnik do którego chcesz dodać średnią, czy o to aby zrobić średnią z wolumenu i z tego wskaźnik..

No ale jak napisałem powyżej wolumen w MT4 to nie wolumen.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

ODPOWIEDZ