You are mixing the concept of tick size as in the smallest possible difference in quote price, and tick volume as in the count or number ticks or price changes when deals are made.
Using "tick_volume" and "close - open" are not compatible values to added or subtracted together, even if scaled by "_point". They are different concepts.
EDIT: Also, if you want to analyse proper tick data you should use the CopyTicks function.
One more thing ... for non-forex symbols, the tick size and the point size can be different.
Forum on trading, automated trading systems and testing trading strategies
Fernando Carreiro, 2022.06.02 01:14
Here are two examples from AMP Global (Europe):
- Micro E-mini S&P 500 (Futures): point size = 0.01, tick size = 0.25, tick value = $1.25
- EURO STOXX Banks (Stock Index): point size = 0.01, tick size = 0.05, tick value = €2.50
Forum on trading, automated trading systems and testing trading strategies
Fernando Carreiro, 2022.05.18 21:05
double dbTickSize = SymbolInfoDouble( _symbol, SYMBOL_TRADE_TICK_SIZE ), // Tick size dbTickValue = SymbolInfoDouble( _symbol, SYMBOL_TRADE_TICK_VALUE ), // Tick value dbPointSize = SymbolInfoDouble( _symbol, SYMBOL_POINT ), // Point size dbPointValue = dbTickValue * dbPointSize / dbTickSize; // Point valueRemember, it's best to use tick size and tick value in your calculations, instead of point size and its value.Forum on trading, automated trading systems and testing trading strategies
Tick size vs Point(), can be a little tricky in Multicurrency EA
Fernando Carreiro, 2022.03.09 12:11
Tick Size and Point Size can be very different especially on stocks and other symbols besides forex.
Always use Tick Size to adjust and align your prices, not the point size. In essence, make sure that your price quotes, are properly aligned to the Tick size (see following examples).
... double tickSize = SymbolInfoDouble( _Symbol, SYMBOL_TRADE_TICK_SIZE ); ... double normalised_price = round( price / tick_size ) * tick_size; ... // Or use a function double Round2Ticksize( double price ) { double tick_size = SymbolInfoDouble( _Symbol, SYMBOL_TRADE_TICK_SIZE ); return( round( price / tick_size ) * tick_size ); };
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello everyone!
I have an indicator than counts the amount of upticks and downticks for each candle which works well for Forex symbols however for symbols such as SP500 it can show negative upticks/downticks and ticks decreasing live which shouldn't be possible. I'm unsure as to why it works for Forex symbols but not other symbols and therefore would greatly appreciate an explanation/work around!
Best regards,
MK
The code: