Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
thisredone
Stały bywalec
Stały bywalec
Posty: 72
Rejestracja: 05 sie 2010, 17:07

Nieprzeczytany post autor: thisredone »

funkcja start() jest uruchamiana przy każdym ticku. Oczywiście dotyczy to EA. Jeżeli uruchomisz swój przykład jako skrypt to włączy się tylko raz.

Awatar użytkownika
jamesfisher
Pasjonat
Pasjonat
Posty: 497
Rejestracja: 03 wrz 2008, 17:42

Nieprzeczytany post autor: jamesfisher »

thisredone pisze:funkcja start() jest uruchamiana przy każdym ticku. Oczywiście dotyczy to EA. Jeżeli uruchomisz swój przykład jako skrypt to włączy się tylko raz.
Dziękuję :)

Moje kolejne pytanie, to czy można przypisać obecną cenę Ask do zmiennej ? Przykładowo:

Kod: Zaznacz cały

double cena;
int start()
{
cena=Ask;
if ((cena+10) > Ask) 
   { 
     OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0,0, "", 0,0 ,Green);
   }
}

Awatar użytkownika
Esco
Przyjaciel Forum
Przyjaciel Forum
Posty: 2603
Rejestracja: 11 kwie 2010, 20:56

Nieprzeczytany post autor: Esco »

Można.

Ten przykładowy warunek :

Kod: Zaznacz cały

cena=Ask;
if ((cena+10) > Ask)
jest równoważny

Kod: Zaznacz cały

Ask+10 > Ask
Taki warunek zawsze będzie spełniony.

Ketteo
Gaduła
Gaduła
Posty: 155
Rejestracja: 07 sie 2011, 14:53

Nieprzeczytany post autor: Ketteo »

JAk to będzie wyglądało w kodzie jeśli chcę aby otwarło pozycję gdy cena wzrośnie ponad jakiś tam próg, który wprowadzę jako extern int ?
Jestem optymistą. Bycie kimkolwiek innym, zapewne nic nie daje.

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nieprzeczytany post autor: personov »

Kod: Zaznacz cały

extern int    level=1.4300;
if(Bid>level){OrderSend(....................);
lub

Kod: Zaznacz cały

extern int    level=1.4300;
if(Close[0]>level){OrderSend(....................);
tylko, że w przypadku ceny po przecinku to musiałoby być extern double a nie extern int.
Solą życia jest kasa.

kargi
Bywalec
Bywalec
Posty: 7
Rejestracja: 30 cze 2011, 12:50

Nieprzeczytany post autor: kargi »

NIech mi ktos wytłuamczy dlaczego do cholery zmieniajac okres w testerze

Obrazek

Otrzymuje inne rezulataty symulacji. Przeciez to powinno byc niezalezne bo kod EA jest jeden i niezmienny i wlasnie tam sa podane sa okresy, timeframy, konkretne ustawienia indykatorow, ktorych interpretacja przeklada sie na wejscie/wyjscie.

Na poczatku wydawalo mi sie ze ta opcja jest tylko do wizualnego trybu/ zmianniajaca jedynie opcje wysietlania. Zmienia jednak rowniez z niewiadomych mi pwodow zachowanie staregii.

Jak czegos nie rozumiem to szlag mnie trafia. :roll:


__________________________________________________
EDIT: Testowany okres powinien byc zgodny z tym w kodzie EA. Opcja o ktora pytalem po prsotu pozwala bez ingerencji w kod zmienic okres- w sumie dobra sprawa. Ale z wiadomych trzeba o tym pamietac ze po zakonczeniu testowania i ewentulanie wydetowac EA.
Ostatnio zmieniony 23 sie 2011, 15:29 przez kargi, łącznie zmieniany 1 raz.

Awatar użytkownika
ahanook
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 09 cze 2011, 08:35

Nieprzeczytany post autor: ahanook »

nie jest tak jak napisales:
Przeciez to powinno byc niezalezne bo kod EA jest jeden i niezmienny i wlasnie tam sa podane sa okresy, timeframy,...
dla przykladu:

Kod: Zaznacz cały

double iMA( string symbol, int timeframe, int period, int ma_shift, int
ma_method, int applied_price, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu 
timeframe możesz podac, ale moze on zostac odczytany z wykresu lub testera. sprawdz swojego EA, pewnie gdzies tez ma taki parametr, który jawnie nie okresla timeframe tylko odczytuje z wykresu.

stad
Stały bywalec
Stały bywalec
Posty: 29
Rejestracja: 01 sie 2010, 11:39

Nieprzeczytany post autor: stad »

Witam
Poproszę o pomoc w wykorzystaniu wskaźnika SHI_Channel_Colour w EA.
Chodzi mi o to jak określić wartość linnii górnej, dolnej i środkowej w świeczce nr 1 i 2?
czyli:
iCustom (NULL, 0, "SHI_Channel_Colour", ????, ??????, 1) - dla góry [1] ??
iCustom (NULL, 0, "SHI_Channel_Colour", ????, ??????, 2) - dla góry [2] ??
iCustom (NULL, 0, "SHI_Channel_Colour", ????, ??????, 1) - dla dołu [1] ??
iCustom (NULL, 0, "SHI_Channel_Colour", ????, ??????, 2) - dla dołu [2] ??
iCustom (NULL, 0, "SHI_Channel_Colour", ????, ??????, 1) - dla środka [1] ??
iCustom (NULL, 0, "SHI_Channel_Colour", ????, ??????, 2) - dla środka [2] ??

Wskaźnik w załączniku.

Z góry dziekuję.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Awatar użytkownika
siersciuch
Pasjonat
Pasjonat
Posty: 407
Rejestracja: 06 kwie 2010, 20:31

Nieprzeczytany post autor: siersciuch »

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
jeżeli będziesz uparty, prawdopodobnie częściej odniesiesz sukces, niż doznasz porażki.

Awatar użytkownika
kris007
Pasjonat
Pasjonat
Posty: 551
Rejestracja: 23 sty 2008, 22:50

Nieprzeczytany post autor: kris007 »

siersciuch pisze:niemam pojecia co oznacza ten 4051
4051 - Nieprawidłowa wartość parametru funkcji.

ODPOWIEDZ