PDA

Zobacz pełną wersję : Średni dzienny zasięg (ADR) - sprawdzanie kodu



Arexxaso4
03-17-2009 14:33, 14:33
Hej,

czy ktoś może sprawdzić poniższy kod do obliczenia ADR? jest kodowany w ten sposób, że pomija niedzielne paski ...



int getADR (ciąg s, liczba dni)
{
int adr = 0, i = 0;
int tmp_days = dni;

for (i = 1; ilt; = tmp_days; i ) {

if (TimeDayOfWeek (iTime (s, PERIOD_D1, i)) lt; 1 || TimeDayOfWeek (iTime (s, PERIOD_D1, i)) gt; 5) {
tmp_days ;

} else {
adr = adr (iHigh (s, PERIOD_D1, i) -iLow (s, PERIOD_D1, i))MarketInfo (s, MODE_POINT);
}

}

adr = adrdays;

return (adr);
}
dziękuję, okrzyki!

Rase77
11-30-2021 13:57, 13:57
hej, czy ktoś może sprawdzić poniższy kod do obliczenia ADR? jest zakodowany w ten sposób, że pomija niedzielne bary ... dziękuję, okrzyki!
MarketInfo (s, MODE_POINT) daje 0 i daje błąd dzielenia przez zero dla wszystkich par walutowych spoza JPY.

Rase77
11-30-2021 15:18, 15:18
hej, czy ktoś może sprawdzić poniższy kod do obliczenia ADR? jest zakodowany w ten sposób, że pomija niedzielne bary ... dziękuję, okrzyki!
Moja wersja implementacji jest taka. Musiałem użyć niestandardowej funkcji FindAndReplace (), aby wykryć, czy symbol ma komponent Yen. Daj mi znać, jeśli potrzebujesz kodu źródłowego. Jeśli chcesz pominąć niedzielne bary, możesz również przełączyć się do innego brokera MT4, który nie zawiera niedzielnych pasków. Dzieje się tak dlatego, że Twoje wykresy cenowe zawsze pokazują niedzielne bary, jeśli twój broker zapewnia niedzielne bary. Wiem, że niektórzy brokerzy z Wielkiej Brytanii robią niedzielne bary, w przeciwieństwie do brokerów z USA.
http://www..com/shared/ar_code.PNGZrzut ekranu ADR:
https://www.forex-instant.com/attachments/15189541421454731404.pngMoje wyniki testu są zgodne z tym, co widzisz na tej stronie
http://www.aboutcurrency.com/university/currencypairs/most_volatile_active_traded_currency_pairs.shtml

Lerogarcay84
11-30-2021 16:39, 16:39
1 Załącznik (-i) W końcu znalazłem ADR indi, który wyklucza niedzielny pasek w obliczeniach. Próbuję dodać etykietę, gdy ADR NIE zostanie osiągnięty .. aby pokazać, na czerwono ... Nie osiągnięty i kiedy jest osiągnięty, to pokazać na zielono ADR osiągnął (tylko dla uproszczenia tutaj). Zrobiłem kilka poważnych ataków na skrypty, a teraz pokazuje ”Nieosiągnięty” na czerwono ... a kiedy jest osiągnięty, pokazuje się na zielono. Osiągnąłem ... Jednak potrzebuję czerwonej etykiety Nie osiągnąłem by zniknąć i zostać zastąpione zielona etykieta i odwrotnie. Teraz pojawiają się jeden na drugim i zostają tam. Czy używam ObjectDelete na każdym? W deinitach lub pod każdą etykietą? UWAGA dla innych: Ten indi miał również ATR (co po prostu skomentowałem, ponieważ uważam, że ATR nie jest istotny w Forex) i poprawnie oblicza ADR. Sprawdziłem to za pomocą programu Excel. Więc ... to działa ... po prostu nie jest zbyt piękne. Dziękuję za pomoc
https://www.forex-instant.com/attachments/15189541452133329721.mq4

Zurl
11-30-2021 18:00, 18:00
1 Załącznik (y) pipimo88, spróbuj to sprawdzić, czy to działa dla Ciebie. jeśli problem pojawi się ponownie, zmień ramy czasowe, aby zaktualizować dane. jeśli to zadziała, opublikuję później oczyszczoną wersję. to działało dla mnie na fxdd, nie miałem czasu spróbować na różnych brokerach. Tomek
https://www.forex-instant.com/trading-discussion/87-indiors.html

Lerogarcay84
11-30-2021 19:21, 19:21
1 Załączniki Dołączony obraz to, co robi indi. Po osiągnięciu ADR ... Oryginał Nie osiągnięty na czerwono nadal tam jest, a na nim pojawia się zielony. Ten sam problem, który miałem wcześniej. Poprawa polega na tym, że czasy przełączania odświeżą indi i będą wyświetlane poprawnie ... aż do następnego pojawienia się przeciwnej etykiety. Zdecydowanie widziałem indis, gdzie obiekty można włączać i wyłączać automatycznie ... po prostu nie mogę tego zrobić. Dzieki za probe. Jakieś inne pomysły?

koalita74
11-30-2021 20:41, 20:41
Cześć! Rozumiem, że Średni dzienny przedział czasu jest obliczany przez kilka dni, w których zakres każdego dnia (hi - lo) jest uśredniany. Czy ktoś może mi wytłumaczyć, co ludzie mają na myśli, mówiąc: cotygodniowy ADR lub comiesięczny ADR lub 180-dniowy ADR? Jak to jest obliczane? na przykład Czy tygodniowe ADR = ADR z zeszłego tygodnia w ciągu 5 dni roboczych w tygodniu? Widziałem, jak wiele osób używa tych terminów, w tym ludzie mówią o rocznym ADR, ale jak dotąd nigdy nie widzieli zasady, która określałaby, w jaki sposób należy ją obliczyć. Jakakolwiek pomoc jest wytłumaczona, byłaby doceniona. Twoje zdrowie!