0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
26 lutego 2015 18:41:15
Witajcie ? jak zrobić by podczas testów systemu w poleceniu BUY porownywalo mi wartość wskaźnika z dniem dzisiejszym i wczorajszym?
A dokładnie chodzi mi o MACD Histogram w ujeciu tygodniowym ?
potrzebuje by bral mi do testu spelnienie warunku gdy wartość dzisiejsza jest większa od wczorajszej ?
|
0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
26 lutego 2015 19:15:27
NAPISAŁEM COŚ TAKIEGO ?? I NIE DZIAŁĄ ?
TimeFrameSet( inWeekly ); MACDH= MACD(12,26) - Signal(12,26,9); MACDH2 = MACDH >Ref( MACDH, -1 );
Cond1= MACDH >MACDH2; Buy = Cond1; Sell= 0;
|
3 Grupa: SubskrybentP1
Dołączył: 2009-06-17 Wpisów: 753
Wysłane:
26 lutego 2015 22:32:50
Zakładając, że wyrażenie: MACDH= MACD(12,26) - Signal(12,26,9); to poprawnie zapisany wzór na histogram ( nie wiem,z czego jest zbudowany więc nie podpowiem) to swój warunek kupna zapisałeś już w wyrażeniu MACDH2.
Wszytsko co trzeba w tym przypadku to: TimeFrameSet( inWeekly ); MACDH= MACD(12,26) - Signal(12,26,9); Buy=MACDH >Ref( MACDH, -1 ); Sell= 0;
To co Ty napisałeś brzmi: kup, jeżeli histogram z dzisiaj > (histogram z dzisiaj>histogram z wczoraj) :)
|
0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
27 lutego 2015 09:48:11
Cześć Cyzo Dzięki za odpowiedź wprowadziłem Twoje zmiany i pomimo tego nie pokazuje mi żadnego wyniku w wyszukiwaniu.
Jeśli chodzi o działanie MACD to chyba dobrze zrobiłem wzór na MACD Histogram. Kurcze i dalej nie działa..
|
0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
27 lutego 2015 11:36:01
KTOŚ POMOŻE??
|
3 Grupa: SubskrybentP1
Dołączył: 2009-06-17 Wpisów: 753
Wysłane:
27 lutego 2015 11:52:47
Moim zdaniem wzór na histogram nie jest zapisany poprawnie i to chyba nie będzie takie proste, żeby po prostu odjąć Signal line od MACD. Żeby coś od czegos odjąć musisz mieć dwie konkrentne wartości. Zajrzyj do Eldera i zobacz jak się liczy ręcznie na papierze wartość histogramu - wtedy będziesz wiedział co od czego odjąć.
Dodatkowo ściągnij formułę AFl drukującą Histogram i zobacz co siedzi w środu. Tak będzie pokazane co trzeba od czego odjąć.
|
0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
27 lutego 2015 12:42:36
KIERUJĄC SIĘ TYM CO MI NAPISAŁEŚ POGRZEBAŁEM I ZNALAZŁEM PRZYKŁAD www.amibroker.com/library/deta... WIĘC Z TEGO CO JA WIDZE TO KOMENDE ZAPISAŁEM DOBRZE MACDH JAKO RÓŻNICA POMIĘDZY MACD I SYGNAŁEM A W DALSZYM CIAGU NIE ZNAJDUJE MI ŻADNEJ SPÓŁKI
|
0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
27 lutego 2015 14:40:11
TimeFrameSet( inWeekly ); MACDH=MACD(12,26) - Signal(12,26,9); COND1= Ref(MACDH, -1) < Ref(MACDH, 0); TimeFrameRestore();
Buy=COND1; Sell= 0; ApplyStop( stopTypeTrailing, stopModePercent, 2, False );
ZMODYFIKOWAŁEM TROCHĘ I W DALSZYM CIĄGU NIE DZIAŁA NIE ZNAJDUJE TYLKO JEDNĄ SPOŁKĘ wRZUCIŁEM TO NA FILTR I W FILTRZE ZNAJDUJE SPÓŁKI SPEŁNIAJĄCE WARUNEK POWYŻSZY A W BACKTEST NIE. O CO COMEONE?
|
0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
27 lutego 2015 14:55:30
//Warunek 1 ; TimeFrameSet( inWeekly ); MACDH = MACD(12,26) - Signal(12,26,9); COND1= Ref(MACDH, -1) < Ref(MACDH, 0); TimeFrameRestore();
//Warunek 2 ;
COND2 = StochD(5,3,3)<40; COND3 = StochK(5,3)<40;
//Warunek 3; Cond4= Volume*Close>50000;
Filter = COND1 AND COND2 AND COND3 AND COND4;
W FILTRZE WYGLADA TAK I DZIAŁA SUPER A W BACKTEST NIE
|
0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
27 lutego 2015 15:24:34
UF CHYBA SIE UDAŁO ZOBACZCIE PROSZĘ CZY JEST OKI ?
//Warunek 1 ; TimeFrameSet( inWeekly ); MACDH = MACD(12,26) - Signal(12,26,9); COND1= Ref(MACDH, -1) < Ref(MACDH, 0); TimeFrameRestore();
//Warunek 2 ;
COND2 = StochD(5,3,3)<40; COND3 = StochK(5,3)<40;
//Warunek 3; Cond4= Volume*Close>50000;
//Warunek 4; Cond5= Ref(High, -1)<= High ;
Buy = COND1 AND COND2 AND COND3 AND COND4 AND COND5; Sell= 0; ApplyStop( stopTypeTrailing, stopModePercent, 2, False );
|
0 Dołączył: 2014-12-04 Wpisów: 63
Wysłane:
11 marca 2015 09:51:40
Prawidłowo zapisany kod:
//Warunek 1 == SEZONOWOŚĆ WSKAŹNIKA MACD HISTOGRAM TYGODNIOWY ; TimeFrameSet( inWeekly ); MACDH = MACD(12,26) - Signal(12,26,9); // OBLICZENIE MACD HISTOGRAMU; MACDHw = Ref(MACDH,-1) < MACDH; // MACD HISTOGRAM WZROSTOWY - SEZONOWOŚĆ WSKAŹNIKA WIOSNA. MACDHs = Ref(MACDH,-1) < MACDH; // MACD HISTOGRAM SPADKOWY ; COND1 = MACDH > Ref(MACDH,-1); //TREND TYGODNIOWY - TYGODNIOWA ZMIANA TYGODNIOWEGO HISTOGRAMU MACD; TimeFrameRestore(); COND1= TimeFrameExpand(COND1,inWeekly); // ROZCIĄGNIĘCIE OBLICZONEGO MACDH DO INTERWAŁU DZIENNEGO ABY MOŻNA BYŁO UŻYĆ Z SYGNAŁAMI Z DANYCH DZIENNYCH;
dziękuje wszystkim za wskazówki -
|