PDA

Zobacz pełną wersję : Czas rozpoczęcia wskaźnika



xavibasa
12-29-2009 10:17, 10:17
1 Załączniki Czy ktoś ma jakieś wskazówki, jak zmienić czas rozpoczęcia wskaźnika, aby można było uzyskać Pips to Open od określonego czasu rozpoczęcia i Hi to Lo przez określony czas?

Widziałem to z kilkoma wskaźnikami przestawnymi, ale uznałem, że jest to mylące.


double low0 = iLow (NULL, PERIOD_D1,0);
double high0 = iHigh (NULL, PERIOD_D1,0);
double OPEN = iOpen (NULL, 1440,0);
double CLOSE = iClose (NULL, 1440,0);

PIPS = DoubleToStr ((((CLOSE-OPEN)xecn)Point, 0);
HILO = DoubleToStr ((((High_Today-Low_Today)xecn)Point, 0);

https://www.forex-instant.com/attachments/15189555672031823838.mq4

xavibasa
12-17-2021 09:49, 09:49
Ktoś?

oxcoxrdigaas
12-17-2021 11:10, 11:10
Angus, Zakładając, że wiesz, ile pasków chcesz przejść, możesz użyć następującego: extern int Bars_back = 10; Period_High = High [iHighest (NULL, 0, MODE_HIGH, Bars_back, 0)];/to powie ci najwyższą wartość w ciągu ostatnich 10 okresów Period_Low = Low [iLowest (NULL, 0, MODE_LOW, Bars_back, 0)]; OPEN = iOpen (NULL, 0, Bars_back); Używam 0 w ramce czasowej oznaczającej obecny TF, ale jeśli chciałeś innych ram czasowych, po prostu użyj go odpowiednio. jeśli nie wiesz, ile pasków chcesz zmienić, ale znasz godzinę, użyj funkcji iBarsShift, aby określić Bars_back

xavibasa
12-17-2021 12:30, 12:30
Dzięki za odpowiedź, Ale, Problem z tym podejściem polega na tym, że nie będziesz mieć ustalonego początku, ponieważ każdy pasek, który się drukuje, spowoduje, że czas rozpoczęcia będzie się przesuwał o jeden pasek. Będę ciągle polował i zobaczę, co wymyślę. W każdym razie, dzięki jeszcze raz.

oxcoxrdigaas
12-17-2021 13:51, 13:51
Dzięki za odpowiedź, Ale, Problem z tym podejściem polega na tym, że nie będziesz mieć ustalonego początku, ponieważ każdy pasek, który się drukuje, spowoduje, że czas rozpoczęcia będzie się przesuwał o jeden pasek. Będę ciągle polował i zobaczę, co wymyślę. W każdym razie, dzięki jeszcze raz.
Angus, Ponieważ nie byłem pewien, co dokładnie próbujesz zrobić, uwzględniłem także koncepcję ustalania, jak daleko zależy od czasu. Funkcja iBarsShift zapewnia przesunięcie o określony czas. Więc jeśli jest godzina 03:00 w dniu 21 grudnia 2009 r., A obecnie wynosi ona 150 barów, a następnie po utworzeniu nowego pręta, czas ten wzrośnie o 151 barów. Funkcja ibarsshift ponownie obliczy liczbę pasków dla funkcji startu.

xavibasa
12-17-2021 15:12, 15:12
Angus, Ponieważ nie byłem pewien, co dokładnie próbujesz zrobić, uwzględniłem także koncepcję ustalania, jak daleko zależy od czasu. Funkcja iBarsShift zapewnia przesunięcie o określony czas. Więc jeśli jest godzina 03:00 w dniu 21 grudnia 2009 r., A obecnie wynosi ona 150 barów, a następnie po utworzeniu nowego pręta, czas ten wzrośnie o 151 barów. Funkcja ibarsshift ponownie obliczy liczbę pasków dla funkcji startu.
Przepraszam, myślałem, że iBarShift zrobił coś innego. Myślę, że jestem teraz na dobrej drodze. Dam ci znać, jak się okazuje. Dzięki jeszcze raz.