PARTNER SERWISU
mgvqzjyu

komenda AFL AMIBROKER - cena wyższa nastepnego dnia ?

michalmotyka
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 ?

michalmotyka
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;

cyzo
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)
:)


michalmotyka
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..

michalmotyka
0
Dołączył: 2014-12-04
Wpisów: 63
Wysłane: 27 lutego 2015 11:36:01
KTOŚ POMOŻE??

cyzo
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ąć.

michalmotyka
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

michalmotyka
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?

michalmotyka
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

michalmotyka
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 );


michalmotyka
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 -

Użytkownicy przeglądający ten wątek Gość



Na silniku Yet Another Forum.net wer. 1.9.1.8 (NET v2.0) - 2008-03-29
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.
Czas generowania strony: 1,127 sek.

slkmahzd
cnfpuauz
ehobjdby
Portfel StockWatch
Data startu Różnica Wartość
Portfel 4 fazy rynku
01-01-2017 +75 454,67 zł +377,27% 95 454,67 zł
Portfel Dywidendowy
03-04-2020 +60 637,62 zł 254,44% 125 556,00 zł
Portfel ETF
01-12-2023 +4 212,35 zł 20,98% 24 333,09 zł
akwhrkzh
pkbjogtf
cookie-monstah

Serwis wykorzystuje ciasteczka w celu ułatwienia korzystania i realizacji niektórych funkcjonalności takich jak automatyczne logowanie powracającego użytkownika czy odbieranie statystycznych o oglądalności. Użytkownik może wyłączyć w swojej przeglądarce internetowej opcję przyjmowania ciasteczek, lub dostosować ich ustawienia.

Dostosuj   Ukryj komunikat