SHOW:
|
|
- or go back to the newest paste.
1 | - | /** |
1 | + | |
2 | - | * Získa počet elementov potrebných na výpočet hodnoty prvého elementu. |
2 | + | |
3 | - | * |
3 | + | |
4 | - | * @return |
4 | + | |
5 | - | * Vráti počet elementov potrebných na výpočet hodnoty prvého elementu. |
5 | + | |
6 | - | */ |
6 | + | |
7 | ||
8 | - | /* |
8 | + | |
9 | - | * Dokumentácia: |
9 | + | |
10 | - | * IIndicator => http://www.dukascopy.com/wiki/#IIndicator_interface/Method_getLookback |
10 | + | |
11 | - | */ |
11 | + | |
12 | int numOfElems = 0; | |
13 | ||
14 | IBar[] ins = getOfferSide().equals(OfferSide.ASK) ? barIns[ IN_ASK ] : barIns[ IN_BID ]; | |
15 | ||
16 | - | /** |
16 | + | |
17 | - | * Vypočíta hodnoty indikátora. |
17 | + | |
18 | - | * |
18 | + | |
19 | - | * @param |
19 | + | |
20 | - | * firstIndex Prvý index v zoskupení vstupných elementov. |
20 | + | |
21 | - | * @param |
21 | + | |
22 | - | * lastIndex Posledný index v zoskupení vstupných elementov. |
22 | + | |
23 | - | * @param |
23 | + | |
24 | - | * isOfferSideChanged Zmenila sa ponuková strana na danom grafe? |
24 | + | |
25 | - | * @param |
25 | + | |
26 | - | * isPeriodChanged Zmenil sa časový rámec na danom grafe? |
26 | + | |
27 | - | * @param |
27 | + | |
28 | - | * isInstrumentChanged Zmenil sa obchodovaný nástroj na danom grafe? |
28 | + | |
29 | - | * @param |
29 | + | |
30 | - | * isFeedChanged Zmenila sa ponuková strana, časový rámec alebo obchodovaný |
30 | + | |
31 | - | * nástroj na danom grafe? |
31 | + | |
32 | - | * @param |
32 | + | |
33 | - | * isNewBar Vytvorila sa nová sviečka na danom grafe? |
33 | + | |
34 | - | * @param |
34 | + | |
35 | - | * isVisibleNewBar Vytvorila sa viditeľne nová sviečka na danom grafe? |
35 | + | |
36 | - | * @param |
36 | + | |
37 | - | * isFirstCalculation Jedná sa o úplne prvý výpočet indikátora na danom grafe? |
37 | + | |
38 | - | * @return |
38 | + | |
39 | - | * Vráti počet elementov na výstupe. |
39 | + | |
40 | - | */ |
40 | + | |
41 | int prevAskInIndex = getOfferSide().equals(OfferSide.ASK) ? prevInIndex : getTimedIndex(ins[ prevInIndex ].getTime(), barIns[ IN_ASK ]); | |
42 | - | /* |
42 | + | |
43 | - | * Dokumentácia: |
43 | + | |
44 | - | * IIndicator => http://www.dukascopy.com/wiki/#IIndicator_interface/Method_calculate |
44 | + | |
45 | - | */ |
45 | + | |
46 | continue; | |
47 | } | |
48 | ||
49 | double prevTotalVolume = barIns[ IN_ASK ][ prevAskInIndex ].getVolume() + barIns[ IN_BID ][ prevBidInIndex ].getVolume(); | |
50 | ||
51 | if (prevInIndex > inIndex - intOptIns[ OPT_IN_RISING_PERIOD ]) { | |
52 | averageVolume += prevTotalVolume; | |
53 | - | /** |
53 | + | |
54 | - | * Počet elementov na výstupe. |
54 | + | |
55 | - | */ |
55 | + | |
56 | highestVal = Math.max(highestVal, prevTotalVolume * (ins[ prevInIndex ].getHigh() - ins[ prevInIndex ].getLow())); | |
57 | } | |
58 | - | /** |
58 | + | |
59 | - | * Hlavné zoskupenie vstupných elementov. |
59 | + | |
60 | - | */ |
60 | + | |
61 | ||
62 | if (averageVolume * doubleOptIns[ OPT_IN_CLIMAX_FACTOR ] <= totalVolume || totalVolume * (ins[ inIndex ].getHigh() - ins[ inIndex ].getLow()) >= highestVal) { | |
63 | - | /** |
63 | + | |
64 | - | * Vyšší časový rámec. |
64 | + | |
65 | - | */ |
65 | + | |
66 | notify("Climax Volume", boolOptIns[ OPT_IN_NOTIFY_CLIMAX_VOLUME ], 2); | |
67 | } | |
68 | - | /** |
68 | + | |
69 | - | * @var |
69 | + | |
70 | - | * int inIndex Index v zoskupení vstupných elementov. |
70 | + | |
71 | - | * @var |
71 | + | |
72 | - | * int outIndex Index v zoskupení výstupných elementov. |
72 | + | |
73 | - | */ |
73 | + | |
74 | } else { | |
75 | - | /** |
75 | + | |
76 | - | * Index na strane ponuky v zoskupení vstupných elementov. |
76 | + | |
77 | - | */ |
77 | + | |
78 | ||
79 | return numOfElems; | |
80 | - | /** |
80 | + |