TradingView
Daveatt
4 dec 2019 14:06

Syminfo.Type 

Index of top 30 shares on Wall StreetFXCM

Beskrivning

Hello traders

Earlier this week I discovered a new built-in variable called syminfo.type

What is it for?

This variable returns the type of the current symbol. Possible values are cfd, stock, futures, indices, forex, crypto, fund.

Cool bro but... should we care?

Well... we all should. Imagine you have a generic script and you want a different configuration whether you're trading FOREX or Crypto.
I designed a dummy example in that script that will preset the inputs according to the asset type from the chart.
Here I want 12/26/9 for forex and 20/50/50 for crypto - 30/60/90 otherwise

Quick caveat

It seems that for any crypto asset, syminfo.type returns "bitcoin". TradingView will fix it at some point but wanted to give you the heads-up regardless

Enjoy and all the BEST ^^

--
Dave
Kommentarer
gkushal
Hi Dave, Thank you for the code snippet and your time for helping the community.

I'm new to pine scripting and may be you could help me with the problem that i'm facing.

Example: I'm working on a script that works with both futures and spot data. I don't want to hard code. Was wondering if there is a way to trim the "1!" from futures ticker (below) to form equivalent Index/Stock ticker. From some of the forums on web i get to understand that string manipulation is limited to concatenation in pine (i could be wrong as well) ?

Is there a way i can get equivalent SPOT(INDEX/STOCK) ticker for a given FUTURES ticker ?

Futures Ticker - NSE:BANKNIFTY1!
SPOT (INDEX) Ticker - NSE:BANKNIFTY

Any clue would be highly appreciated. Thank you.
Daveatt
@gkushal, the only string function available for now is that one
tradingview.com/pine-script-reference/v4/
So obviously you could try to replace "1!" by an empty string ""
But what about the CFD SPX500 and the future equivalent ES_1! or US30 with the future YM1!

The only way I see would be to hardcode this map (spot, future) in your pine script with 2 arrays. 1 array for spot instruments, 1 array for future instruments
And making sure the index of the array for spot and future allow to match

Example:
array_spot[0] = SPX500
array_future[0] = ES_1!
gkushal
@Daveatt, Thank you for your timely response and guidance. Will try as suggested by you.

"But what about the CFD SPX500 and the future equivalent ES_1! or US30 with the future YM1!" => Had not thought about it.

Good day!
BadgerTrader
really interesting, what if you've got math problems within the code between forex pairs, specifically FX and JPY Pairs with the decimal issue? any way to get around that?
Daveatt
@GBFXTrading, yes of course
That's how you can do to add an ATR value to a FX pair

fx_pips_value = syminfo.type == "forex" ? syminfo.mintick*10 : 1 close_atr = atr(14) * fx_pips_value


This works well with JPY pairs as well
BadgerTrader
@Daveatt, wow brilliant, thanks man for the reply and the tip :-)
Trendbeat
Pretty interesting.
So if we wanted an different type of ATR input or calculation on different markets this would be a fuss free way of doing it?
Daveatt
@Trendbeat, it would indeed :)
Trendbeat
@Daveatt,
Well then I'm sure people that have this issues will be inspired by this to make better all in on tools using this.

If only we could make it so that it applies different settings on few selected pairs.
That way people could have their PSARs and Superclouds closer to being optimal on Forex, as an 2nd option to Evergets profitable scripts.
Mer