Welkom bij deze handige tool voor beginnende indicatorprogrammeurs en iedereen die nieuwsgierig is naar de waarden die OnCalculate en enkele andere functies opleveren. Deze indicator laat je zien:
- 1) De meest recente waarde die is geleverd met de laatste OnCalculate-aanroep.
- 2) De vorige waarde van de voorgaande OnCalculate-aanroep.
- 3) De eerste waarde van de eerste keer dat OnCalculate is uitgevoerd.
- 4) De seriewaarde van elk array, of het nu as_series of not_series is, met de mogelijkheid om de seriewaarde te veranderen met een klik op de weergave.
Met versie 1.10 is het nu mogelijk om dynamisch te veranderen of de arrays zijn ingesteld als series of niet - gewoon klikken op de tekst! Ook worden de waarden voor Window Bars en First visible Bar dynamisch ingesteld bij wijzigingen in de grafiek. Het ON/OFF-display geeft aan wat er zal gebeuren met de instellingen bij de volgende OnCalculate-uitvoering, in vergelijking met wat er gebeurde bij de meest recente uitvoering.
Versie 1.20 voegt de mogelijkheid toe om te kiezen of de indicator de arrays instelt als as_series of not_series, ook simpelweg door op de tekst te klikken. De indicator toont nu ook beide uiteinden van de tijdarray en beide uiteinden van de iMA-buffer. Deze wijzigingen zijn bedoeld om het verschil tussen as_series en not_series arrays duidelijk te maken. Bovendien wordt de weergave nu vernieuwd wanneer nodig met behulp van de OnTimeEvent-handler, in plaats van de weergave bij elke quote te doen. Dit vermindert de tijd voor het uitvoeren van OnCalculate van ongeveer 300 ms naar minder dan 1 ms - de code om de uitvoertijd te controleren is behouden in OnCalculate en hoeft alleen maar ontcommentarieerd te worden om de uitvoeringsmilliseconden weer te geven.
In de afbeelding hieronder zie je de waarden die de OnCalculate_Values utility weergeeft. Let op de drie waarden, gescheiden door de '/' die de "Meest recente waarde", "Vorige waarde" en "Eerste waarde" scheiden. De OnCalculate-waarden worden ingesteld als 'as_series' of 'not_series' bij elke OnCalculate-gebeurtenis - wanneer Set Arrays 'ON' is, anders blijven ze op de standaardwaarde van de terminal.

De code implementeert een enkele indicatorlijn, een plot van de Open prijs van elke bar zoals geleverd door iMA; het doel is om een buffer te bieden om de "BarsCalculated" functie te gebruiken en om de weergave van een Indicator te tonen wanneer deze is ingesteld op 'as_series' of 'not_series'. Door op iMA_Val[0] te klikken, wordt de iMA-buffer slechts één keer ingesteld op as_series of not_series wanneer erop wordt geklikt; de iMA-indicatorarray wordt niet ingesteld bij elke OnCalculate-aanroep.
Een verzameling arrays houdt de eigenschappen van elk van de weergaveobjecten (OBJ_LABEL) in de weergave vast:

De "ArrayGetAsSeries" functie wordt gebruikt om te bepalen of de arrays in OnCalculate-parameters tijdsseriesarrays zijn of niet, en de weergave toont het resultaat (As_Series of Not_Series) - de weergave laat zien dat deze arrays in eerste instantie geen series zijn, of van de ene aanroep naar de volgende nadat ze als series zijn ingesteld (de SetAsSeries functie stelt ze alleen in als series wanneer deze aan is, het laat ze terugkeren naar hun standaard wanneer deze uit is - het stelt 'as series' niet op false).
De 3-lid array, ary_OnCalcVals, bevat 1) Meest Recent, 2) Vorige, en 3) Eerste waarden die in de OnCalculate-parameters zijn gevonden. De CopyNewToOld en MoveNewTo functies nemen de huidige waarde voor elk weergaveparameter en plaatsen deze in de historische opslag die wordt geboden door ary_OnCalcVals.
Reactie 0