Searching for entries matching tradestation, looking in keywords for any words Found 9 matching entries

Entries

1407

showscots

1375

rolcol

Here's a volume indicator I use for watching the volume trend on the NYSE. The chart is a 30-min chart of $TVOLC (Total volume on the NYSE). The bars are color coded by hour to make it easy to see when their is either an increase or decrease in volume from prior sessions. (This is Tradestation 9.1).

This indicator is based on tradestations free momentum indicator but I added a feature that is a histogram by default, smooths the histogram, adds a moving average to the histogram and reference lines in the suubgraph.

This is the EasyLanguage version of BMT_Envelop BigMike came up with.

I like the Averages & Fib Levels & since I use Tradestation, here is my version.

I made very minor changes for my use:
1. I changed 76.4% to 61.8%
2. I have commented the 100% & 161% plots (I find scaling of charts an issue with Tradestation)

Either of these changes can be un-commented very easily.

The inbuilt function in TS to get OHLC for the day is based on time so I had to customize to use sessions & have new functions attached as a part of ELD.

this is pretty simple one that i pasted together in easy language a while back and i find it useful for tracking the 24 hour midpoint --- i added some other lines/zones (previous ohlc) etc... but these can be modified in the code for whatever you want projected from the midpoint ---

i am new to ninja and was wondering if there was any recommendations for ninja script consultants that do quality work but price was reasonable for recoding this and other indicators to ninja --- any recommendations appreciated.
thanks

i attached a picture of part of the indicator -- you will have to go under style and set it to your own liking...

CCL is abbreviation for 'Confirmed CLose'. Years ago I rejected indicators - which I now I have a more friendly relationship with btw- and went into bars. The only trading seminar I went to was by Kent Calhoun who developed his 5 vertical bar trading pattern, essentially a 3 bar swing with some rules, but from which he designed some very effective strategies.

I modified his pattern to feature a 'confirmed close' meaning that only if the close takes out the low of the #4 bar (in a forming high swing) is the pattern verified. Very simple. But not so easy to code. Once that was done, you have the ShowMe included which plots confirmed by close (ccl) swing highs and lows color coded such that higher highs and higher lows are bullish color (for me yellow), LL and LH bearish and a swing whose high or low penetrates a previous one but whose close does not confirm is red, i.e. neither bullish nor bearish and often indicative of trend exhaustion, new trend change etc.

Then there are some Fib levels from those swings.

Also a set that project targets.

There's another one somewhere that determines long term trends by keep track of 'Active Highs' and 'Active Lows', i.e. a low whose developing swing made a higher high is Active until it is penetrated or a higher active low is formed. The trend is up until an active low is penetrated. In this way a bull market is defined as higher highs, and a bear market is defined as lower lows in that a bear market only starts if an active low is penetrated and a bull if an active high is penetrated. If/when I find it I will post it here without further explanation.

Picture shows the attached files in action. Colors are garish by TS8 and Ninja standards but some might find the swing patterns of interest. TS8 users will find they can be made to look quite elegant.

Also, they can be helpful for developing wave and other calculations because the swing points can be referenced. That said, Ninja has a very good swing high/low function, although I must say that the confirmed close business does filter out many bad swings, but doesn't always need multiples of ATR's (and 5-10 bars) to determine them.

I have worked with long terms seasonals for a while as part of developing a futures portfolio system - hopefully for institutional clients at some point.

Although never used for the system, it was an attempt to almost eliminate optimization by applying a universal seasonal indicator to every instrument. It actually works, and well, the results were not good enough for me and so although I use it as a visual indicator, it is not part of any entry rule algorithm.

Ideally, this would be coded in arrays but I lack the skills to work with them in a context that combines text and numbers. Over my pay grade coding-wise!

In any case, it tracks the percentage move each week (this only works on weekly charts) and then puts them together in such a way that when an RSI of those values is plotted it instantly reveals whether or not there are regular or particular seasonal patterns.

In the picture attached you will see signals generated from a different seasonal system (part of my portfolio system) that has 59% successful trades going back over more then 20 years with 7% max drawdown. Not bad. But on the picture you can see the signals and compare how the indicator reads at the same time. As you can see, they are often in agreement. And this indicator will plot automatically on any weekly chart instantly revealing whether or not there are significant seasonal tendencies.

I suspect the same type of approach could be used for daily and intraday charts, albeit with the latter you might be looking for days-of-the-week, and/or hours of the day type behavior. Again, ability to code in arrays is key.

For those not using Tradestation, I paste in the code below.

Note on the picture: there is also an Equity indicator that shows current account balance from starting balance input, current trade P/L, current drawdown from maximum account high, and during DD's the histogram bars get progressively darker. It can also assume compounding in terms of the percentage drawdowns (i.e. of starting balance or the current balance after many years).

The ATR indicator shows either $$ or percentage of instrument ATR and also includes a money-management formula recommending nr. of contracts to trade.

If anyone wants either of these, let me know and I will gladly post them here.

PS. I am hoping some enterprising coder will want to translate this into Ninja script and/or use this as an kick starter to look into day-of-week or time-of-day type analysis. It's not rocket science, but you need to be good at coding arrays which I am not.

+++++++++++++++++++++

Pasted in Code

Indicator:
+++++++++++++++++++++

{***************************************
Written by: ccl-trading-systems.com
Description: Seasonal Indicator without Loop but using new Function
****************************************}
inputs: Rsilen(9),RunorNew(false),highline(70),lowline(30);
vars: runline(0),av(0),slow(0),count(0),slower(0),newrun(0),rsiline(0);

If currentbar >=43 then Begin

runline = VSeasRun2;
if (runline > 0 and runline[1] > 0) or (runline < 0 and runline[1] < 0) then newrun = runline + newrun[1] else newrun = runline;

If RunorNew then slow = averagefc(runline,3) else slow = averagefc(newrun,3);
rsiline = rsi(slow,rsilen);

vars: color(0);
Color = month(d); if color = 1 then color = darkgray;

{***************************************
Written by: ccl-trading-systems.com
Description: Seasonal Indicator without Arrays, last 10 times attempt
****************************************}

If TDN = 1 then begin TDNTot1 = TDNTot1 + Sday; Count1 = Count1+1; TDNAv1 = TDNTot1/Count1; end;
If TDN = 2 then begin TDNTot2 = TDNTot2 + Sday; Count2 = Count2+1; TDNAv2 = TDNTot2/Count2; end;
If TDN = 3 then begin TDNTot3 = TDNTot3 + Sday; Count3 = Count3+1; TDNAv3 = TDNTot3/Count3; end;
If TDN = 4 then begin TDNTot4 = TDNTot4 + Sday; Count4 = Count4+1; TDNAv4 = TDNTot4/Count4; end;
If TDN = 5 then begin TDNTot5 = TDNTot5 + Sday; Count5 = Count5+1; TDNAv5 = TDNTot5/Count5; end;
If TDN = 6 then begin TDNTot6 = TDNTot6 + Sday; Count6 = Count6+1; TDNAv6 = TDNTot6/Count6; end;
If TDN = 7 then begin TDNTot7 = TDNTot7 + Sday; Count7 = Count7+1; TDNAv7 = TDNTot7/Count7; end;
If TDN = 8 then begin TDNTot8 = TDNTot8 + Sday; Count8 = Count8+1; TDNAv8 = TDNTot8/Count8; end;
If TDN = 9 then begin TDNTot9 = TDNTot9 + Sday; Count9 = Count9+1; TDNAv9 = TDNTot9/Count9; end;
If TDN = 10 then begin TDNTot10 = TDNTot10 + Sday; Count10 = Count10+1; TDNAv10 = TDNTot10/Count10; end;
If TDN = 11 then begin TDNTot11 = TDNTot11 + Sday; Count11 = Count11+1; TDNAv11 = TDNTot11/Count11; end;
If TDN = 12 then begin TDNTot12 = TDNTot12 + Sday; Count12 = Count12+1; TDNAv12 = TDNTot12/Count12; end;
If TDN = 13 then begin TDNTot13 = TDNTot13 + Sday; Count13 = Count13+1; TDNAv13 = TDNTot13/Count13; end;
If TDN = 14 then begin TDNTot14 = TDNTot14 + Sday; Count14 = Count14+1; TDNAv14 = TDNTot14/Count14; end;
If TDN = 15 then begin TDNTot15 = TDNTot15 + Sday; Count15 = Count15+1; TDNAv15 = TDNTot15/Count15; end;
If TDN = 16 then begin TDNTot16 = TDNTot16 + Sday; Count16 = Count16+1; TDNAv16 = TDNTot16/Count16; end;
If TDN = 17 then begin TDNTot17 = TDNTot17 + Sday; Count17 = Count17+1; TDNAv17 = TDNTot17/Count17; end;
If TDN = 29 then begin TDNTot18 = TDNTot18 + Sday; Count18 = Count18+1; TDNAv18 = TDNTot18/Count18; end;
If TDN = 29 then begin TDNTot19 = TDNTot19 + Sday; Count19 = Count19+1; TDNAv19 = TDNTot19/Count19; end;
If TDN = 20 then begin TDNTot20 = TDNTot20 + Sday; Count20 = Count20+1; TDNAv20 = TDNTot20/Count20; end;
If TDN = 21 then begin TDNTot21 = TDNTot21 + Sday; Count21 = Count21+1; TDNAv21 = TDNTot21/Count21; end;
If TDN = 22 then begin TDNTot22 = TDNTot22 + Sday; Count22 = Count22+1; TDNAv22 = TDNTot22/Count22; end;
If TDN = 23 then begin TDNTot23 = TDNTot23 + Sday; Count23 = Count23+1; TDNAv23 = TDNTot23/Count23; end;
If TDN = 24 then begin TDNTot24 = TDNTot24 + Sday; Count24 = Count24+1; TDNAv24 = TDNTot24/Count24; end;
If TDN = 25 then begin TDNTot25 = TDNTot25 + Sday; Count25 = Count25+1; TDNAv25 = TDNTot25/Count25; end;
If TDN = 26 then begin TDNTot26 = TDNTot26 + Sday; Count26 = Count26+1; TDNAv26 = TDNTot26/Count26; end;
If TDN = 27 then begin TDNTot27 = TDNTot27 + Sday; Count27 = Count27+1; TDNAv27 = TDNTot27/Count27; end;
If TDN = 28 then begin TDNTot28 = TDNTot28 + Sday; Count28 = Count28+1; TDNAv28 = TDNTot28/Count28; end;
If TDN = 29 then begin TDNTot29 = TDNTot29 + Sday; Count29 = Count29+1; TDNAv29 = TDNTot29/Count29; end;
If TDN = 30 then begin TDNTot30 = TDNTot30 + Sday; Count30 = Count30+1; TDNAv30 = TDNTot30/Count30; end;
If TDN = 31 then begin TDNTot31 = TDNTot31 + Sday; Count31 = Count31+1; TDNAv31 = TDNTot31/Count31; end;
If TDN = 32 then begin TDNTot32 = TDNTot32 + Sday; Count32 = Count32+1; TDNAv32 = TDNTot32/Count32; end;
If TDN = 33 then begin TDNTot33 = TDNTot33 + Sday; Count33 = Count33+1; TDNAv33 = TDNTot33/Count33; end;
If TDN = 34 then begin TDNTot34 = TDNTot34 + Sday; Count34 = Count34+1; TDNAv34 = TDNTot34/Count34; end;
If TDN = 35 then begin TDNTot35 = TDNTot35 + Sday; Count35 = Count35+1; TDNAv35 = TDNTot35/Count35; end;
If TDN = 36 then begin TDNTot36 = TDNTot36 + Sday; Count36 = Count36+1; TDNAv36 = TDNTot36/Count36; end;
If TDN = 37 then begin TDNTot37 = TDNTot37 + Sday; Count37 = Count37+1; TDNAv37 = TDNTot37/Count37; end;
If TDN = 38 then begin TDNTot38 = TDNTot38 + Sday; Count38 = Count38+1; TDNAv38 = TDNTot38/Count38; end;
If TDN = 39 then begin TDNTot39 = TDNTot39 + Sday; Count39 = Count39+1; TDNAv39 = TDNTot39/Count39; end;
If TDN = 40 then begin TDNTot40 = TDNTot40 + Sday; Count40 = Count40+1; TDNAv40 = TDNTot40/Count40; end;
If TDN = 41 then begin TDNTot41 = TDNTot41 + Sday; Count41 = Count41+1; TDNAv41 = TDNTot41/Count41; end;
If TDN = 42 then begin TDNTot42 = TDNTot42 + Sday; Count42 = Count42+1; TDNAv42 = TDNTot42/Count42; end;
If TDN = 43 then begin TDNTot43 = TDNTot43 + Sday; Count43 = Count43+1; TDNAv43 = TDNTot43/Count43; end;
If TDN = 44 then begin TDNTot44 = TDNTot44 + Sday; Count44 = Count44+1; TDNAv44 = TDNTot44/Count44; end;
If TDN = 45 then begin TDNTot45 = TDNTot45 + Sday; Count45 = Count45+1; TDNAv45 = TDNTot45/Count45; end;
If TDN = 46 then begin TDNTot46 = TDNTot46 + Sday; Count46 = Count46+1; TDNAv46 = TDNTot46/Count46; end;
If TDN = 47 then begin TDNTot47 = TDNTot47 + Sday; Count47 = Count47+1; TDNAv47 = TDNTot47/Count47; end;
If TDN = 48 then begin TDNTot48 = TDNTot48 + Sday; Count48 = Count48+1; TDNAv48 = TDNTot48/Count48; end;
If TDN = 49 then begin TDNTot49 = TDNTot49 + Sday; Count49 = Count49+1; TDNAv49 = TDNTot49/Count49; end;
If TDN = 50 then begin TDNTot50 = TDNTot50 + Sday; Count50 = Count50+1; TDNAv50 = TDNTot50/Count50; end;
If TDN = 51 then begin TDNTot51 = TDNTot51 + Sday; Count51 = Count51+1; TDNAv51 = TDNTot51/Count51; end;
If TDN = 52 then begin TDNTot52 = TDNTot52 + Sday; Count52 = Count52+1; TDNAv52 = TDNTot52/Count52; end;
If TDN = 53 then begin TDNTot53 = TDNTot53 + Sday; Count53 = Count53+1; TDNAv53 = TDNTot53/Count53; end;
If TDN = 54 then begin TDNTot54 = TDNTot54 + Sday; Count54 = Count54+1; TDNAv54 = TDNTot54/Count54; end;

vars: runline(0),runlineav(0);

If TDN = 1 then begin Runline = TDNAv1; runlineav = averagefc(tdnav1,10); end;
If TDN = 2 then begin Runline = TDNAv2; runlineav = averagefc(tdnav2,10);end;
If TDN = 3 then begin Runline = TDNAv3; runlineav = averagefc(tdnav3,10);end;
If TDN = 4 then begin Runline = TDNAv4; runlineav = averagefc(tdnav4,10);end;
If TDN = 5 then begin Runline = TDNAv5; runlineav = averagefc(tdnav5,10);end;
If TDN = 6 then begin Runline = TDNAv6; runlineav = averagefc(tdnav6,10);end;
If TDN = 7 then begin Runline = TDNAv7; runlineav = averagefc(tdnav7,10);end;
If TDN = 8 then begin Runline = TDNAv8; runlineav = averagefc(tdnav8,10);end;
If TDN = 9 then begin Runline = TDNAv9; runlineav = averagefc(tdnav9,10);end;
If TDN = 10 then begin Runline = TDNAv10; runlineav = averagefc(tdnav10,10); end;
If TDN = 11 then begin Runline = TDNAv11; runlineav = averagefc(tdnav11,10); end;
If TDN = 12 then begin Runline = TDNAv12; runlineav = averagefc(tdnav12,10); end;
If TDN = 13 then begin Runline = TDNAv13; runlineav = averagefc(tdnav13,10); end;
If TDN = 14 then begin Runline = TDNAv14; runlineav = averagefc(tdnav14,10); end;
If TDN = 15 then begin Runline = TDNAv15; runlineav = averagefc(tdnav15,10); end;
If TDN = 16 then begin Runline = TDNAv16; runlineav = averagefc(tdnav16,10); end;
If TDN = 17 then begin Runline = TDNAv17; runlineav = averagefc(tdnav17,10); end;
If TDN = 18 then begin Runline = TDNAv18; runlineav = averagefc(tdnav18,10); end;
If TDN = 19 then begin Runline = TDNAv19; runlineav = averagefc(tdnav19,10); end;
If TDN = 20 then begin Runline = TDNAv20; runlineav = averagefc(tdnav20,10); end;
If TDN = 21 then begin Runline = TDNAv21; runlineav = averagefc(tdnav21,10); end;
If TDN = 22 then begin Runline = TDNAv22; runlineav = averagefc(tdnav22,10); end;
If TDN = 23 then begin Runline = TDNAv23; runlineav = averagefc(tdnav23,10); end;
If TDN = 24 then begin Runline = TDNAv24; runlineav = averagefc(tdnav24,10); end;
If TDN = 25 then begin Runline = TDNAv25; runlineav = averagefc(tdnav25,10); end;
If TDN = 26 then begin Runline = TDNAv26; runlineav = averagefc(tdnav26,10); end;
If TDN = 27 then begin Runline = TDNAv27; runlineav = averagefc(tdnav27,10); end;
If TDN = 28 then begin Runline = TDNAv28; runlineav = averagefc(tdnav28,10); end;
If TDN = 29 then begin Runline = TDNAv29; runlineav = averagefc(tdnav29,10); end;
If TDN = 30 then begin Runline = TDNAv30; runlineav = averagefc(tdnav30,10); end;
If TDN = 31 then begin Runline = TDNAv31; runlineav = averagefc(tdnav31,10); end;
If TDN = 32 then begin Runline = TDNAv32; runlineav = averagefc(tdnav32,10); end;
If TDN = 33 then begin Runline = TDNAv33; runlineav = averagefc(tdnav33,10); end;
If TDN = 34 then begin Runline = TDNAv34; runlineav = averagefc(tdnav34,10); end;
If TDN = 35 then begin Runline = TDNAv35; runlineav = averagefc(tdnav35,10); end;
If TDN = 36 then begin Runline = TDNAv36; runlineav = averagefc(tdnav36,10); end;
If TDN = 37 then begin Runline = TDNAv37; runlineav = averagefc(tdnav37,10); end;
If TDN = 38 then begin Runline = TDNAv38; runlineav = averagefc(tdnav38,10); end;
If TDN = 39 then begin Runline = TDNAv39; runlineav = averagefc(tdnav39,10); end;
If TDN = 40 then begin Runline = TDNAv40; runlineav = averagefc(tdnav40,10); end;
If TDN = 41 then begin Runline = TDNAv41; runlineav = averagefc(tdnav41,10); end;
If TDN = 42 then begin Runline = TDNAv42; runlineav = averagefc(tdnav42,10); end;
If TDN = 43 then begin Runline = TDNAv43; runlineav = averagefc(tdnav43,10); end;
If TDN = 44 then begin Runline = TDNAv44; runlineav = averagefc(tdnav44,10); end;
If TDN = 45 then begin Runline = TDNAv45; runlineav = averagefc(tdnav45,10); end;
If TDN = 46 then begin Runline = TDNAv46; runlineav = averagefc(tdnav46,10); end;
If TDN = 47 then begin Runline = TDNAv47; runlineav = averagefc(tdnav47,10); end;
If TDN = 48 then begin Runline = TDNAv48; runlineav = averagefc(tdnav48,10); end;
If TDN = 49 then begin Runline = TDNAv49; runlineav = averagefc(tdnav49,10); end;
If TDN = 50 then begin Runline = TDNAv50; runlineav = averagefc(tdnav50,10); end;
If TDN = 51 then begin Runline = TDNAv51; runlineav = averagefc(tdnav51,10); end;
If TDN = 52 then begin Runline = TDNAv52; runlineav = averagefc(tdnav52,10); end;
If TDN = 53 then begin Runline = TDNAv53; runlineav = averagefc(tdnav53,10); end;
If TDN = 54 then begin Runline = TDNAv54; runlineav = averagefc(tdnav54,10); end;

Just a tradestation version of the Ninja Scalper already available.

This is an indicator that looks for higher highs and lower lows. Inspired by John Carter's TTMScalper. Found on the NT forum. It's plotting price action based on higher highs, and lower lows.

If, used on it's own, it will give a lot of false signals, therefore it is recommended to be used in conjunction with other stuff that fits your trading stile and that's confirming your set-up.

June 27th, 2013 03:03 PM yiman Thanks very much, ilike this set of indicators and i find them very useful.I was wondering if you ever found the set tha

t projects targets.

Is there some info somewhere that will help me make better use of these indicators please.

Thanks again

Y I Man

June 27th, 2013 02:49 PM yiman Thanks very much, ilike this set of indicators and i find them very useful.I was wondering if you ever found the set tha

t projects targets.

Is there some info somewhere that will help me make better use of these indicators please.

March 11th, 2019 01:56 PM vmodus Not sure what I'm looking at, but it's interesting at least. My partner uses Fib a lot, so I'll send it her way.

September 26th, 2015 09:04 AM PharmDoc I use Tradestation 9.5, 61.8% in fibs, and session times to build bars. Thanks for your time in creating the ELD.