Giter VIP home page Giter VIP logo

techan.js's People

Contributors

andredumas avatar briancappello avatar fojt avatar priikone avatar sf-wind avatar thomashan avatar tomas-rampas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

techan.js's Issues

Plotting the same indicator twice.

Hello,
Currently, I cannot plot the same indicator twice without renaming the indicator. If I want to plot two RSIs, I must name one rsi and the other rsi2. This is needed, for example, when people want to use say an RSI of length 14 and another of length 21.

It would be nice to be able to do this without messing around with renaming variables (especially when some person uses 5 or more of the same indicator for some reason).

Do you know of a current way to do this? And, if not, can this be implemented?

Thanks for everything!

Fibonacci Tool

Hello,
Can you implement a simple fibonacci retracement tool (Here is a wikipedia page with an image to the right showing what it is: http://en.wikipedia.org/wiki/Fibonacci_retracement). Basically, it is a trendline that the user draws, with horizontal levels showing 38.2%, 50.0%, 61.8%, etc. of the total trendline distance vertically.

Thanks

API Reference Documentation

Comment and vote here if you want documentation, otherwise I'll just be focusing on adding new features and enhancements.

Display received technical indicator data rather than calculating it

Hi @andredumas,

This is a great bit of work, only came across this a few days ago and it looks like it'll be perfect for what I want - very well done.

I have a question which is quite similar to the 'resuable framework to write own indicator' one of a month or so ago. I am calculating a number of technical indicators on the backend and what I would like is a way to get techanjs to not actually perform the indicator calculations (client side), but rather just take some supplied technical indicator data and display it (with a way to define the placement, scales etc).

Pls don't take this as any sort of criticism of the indicators already calculated, its just that I've got approx. 40 that are already calculated on the backend so I'm just looking for a way to display them as-is.

I know techan is built on D3, so at some level I guess this is possible but it would be great if there is some sort of empty/template technical indicator construct into which I can just supply the data. Is anything like that possible pls ?

Tks
Alex

P.S. I should say I'm not a javascript coder so pls excuse me if this is already super easy to do and my lack of javascript makes me blind to how to do this !:)

I can't get this to work 14 failures

INFO [PhantomJS 1.9.8 (Mac OS X)]: Connected on socket M_aEIMepWJOL0CXdj-Dp with id 17256312
PhantomJS 1.9.8 (Mac OS X) Given I have module "indicator/atr" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And atr is initialised with defaults Then on default invoke, atr should calculate correct values FAILED
    Expected { date: Date(Thu Jun 07 2012 00:00:00 GMT-0500 (CDT)), value: 2.1978571428571434 } to equal { date: Date(Fri Jun 08 2012 00:00:00 GMT-0500 (CDT)), value: 2.1978571428571434 }.
    Error: Expected { date: Date(Thu Jun 07 2012 00:00:00 GMT-0500 (CDT)), value: 2.1978571428571434 } to equal { date: Date(Fri Jun 08 2012 00:00:00 GMT-0500 (CDT)), value: 2.1978571428571434 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3756
    Expected { date: Date(Sun Jun 10 2012 00:00:00 GMT-0500 (CDT)), value: 2.128724489795919 } to equal { date: Date(Mon Jun 11 2012 00:00:00 GMT-0500 (CDT)), value: 2.128724489795919 }.
    Error: Expected { date: Date(Sun Jun 10 2012 00:00:00 GMT-0500 (CDT)), value: 2.128724489795919 } to equal { date: Date(Mon Jun 11 2012 00:00:00 GMT-0500 (CDT)), value: 2.128724489795919 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3756
    Expected { date: Date(Mon Jun 11 2012 00:00:00 GMT-0500 (CDT)), value: 2.0345298833819245 } to equal { date: Date(Tue Jun 12 2012 00:00:00 GMT-0500 (CDT)), value: 2.0345298833819245 }.
    Error: Expected { date: Date(Mon Jun 11 2012 00:00:00 GMT-0500 (CDT)), value: 2.0345298833819245 } to equal { date: Date(Tue Jun 12 2012 00:00:00 GMT-0500 (CDT)), value: 2.0345298833819245 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3756
    Expected { date: Date(Tue Jun 12 2012 00:00:00 GMT-0500 (CDT)), value: 1.960634891711787 } to equal { date: Date(Wed Jun 13 2012 00:00:00 GMT-0500 (CDT)), value: 1.960634891711787 }.
    Error: Expected { date: Date(Tue Jun 12 2012 00:00:00 GMT-0500 (CDT)), value: 1.960634891711787 } to equal { date: Date(Wed Jun 13 2012 00:00:00 GMT-0500 (CDT)), value: 1.960634891711787 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3756
    Expected { date: Date(Wed Jun 13 2012 00:00:00 GMT-0500 (CDT)), value: 1.8955895423038025 } to equal { date: Date(Thu Jun 14 2012 00:00:00 GMT-0500 (CDT)), value: 1.8955895423038025 }.
    Error: Expected { date: Date(Wed Jun 13 2012 00:00:00 GMT-0500 (CDT)), value: 1.8955895423038025 } to equal { date: Date(Thu Jun 14 2012 00:00:00 GMT-0500 (CDT)), value: 1.8955895423038025 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3756
    Expected { date: Date(Thu Jun 14 2012 00:00:00 GMT-0500 (CDT)), value: 1.8894760035678166 } to equal { date: Date(Fri Jun 15 2012 00:00:00 GMT-0500 (CDT)), value: 1.8894760035678166 }.
    Error: Expected { date: Date(Thu Jun 14 2012 00:00:00 GMT-0500 (CDT)), value: 1.8894760035678166 } to equal { date: Date(Fri Jun 15 2012 00:00:00 GMT-0500 (CDT)), value: 1.8894760035678166 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3756
    Expected { date: Date(Sun Jun 17 2012 00:00:00 GMT-0500 (CDT)), value: 1.9452277175986867 } to equal { date: Date(Mon Jun 18 2012 00:00:00 GMT-0500 (CDT)), value: 1.9452277175986867 }.
    Error: Expected { date: Date(Sun Jun 17 2012 00:00:00 GMT-0500 (CDT)), value: 1.9452277175986867 } to equal { date: Date(Mon Jun 18 2012 00:00:00 GMT-0500 (CDT)), value: 1.9452277175986867 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3756
PhantomJS 1.9.8 (Mac OS X) Given I have module "indicator/atrtrailingstop" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And atrtrailingstop is initialised with defaults Then on default invoke, atr should calculate correct values FAILED
    Expected { date: Date(Mon Jul 23 2012 00:00:00 GMT-0500 (CDT)), up: 25.20357142857143, down: null } to equal { date: Date(Tue Jul 24 2012 00:00:00 GMT-0500 (CDT)), up: 25.20357142857143, down: null }.
    Error: Expected { date: Date(Mon Jul 23 2012 00:00:00 GMT-0500 (CDT)), up: 25.20357142857143, down: null } to equal { date: Date(Tue Jul 24 2012 00:00:00 GMT-0500 (CDT)), up: 25.20357142857143, down: null }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3785
    Expected { date: Date(Tue Jul 24 2012 00:00:00 GMT-0500 (CDT)), up: 26.023316326530615, down: null } to equal { date: Date(Wed Jul 25 2012 00:00:00 GMT-0500 (CDT)), up: 26.023316326530615, down: null }.
    Error: Expected { date: Date(Tue Jul 24 2012 00:00:00 GMT-0500 (CDT)), up: 26.023316326530615, down: null } to equal { date: Date(Wed Jul 25 2012 00:00:00 GMT-0500 (CDT)), up: 26.023316326530615, down: null }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3785
    Expected { date: Date(Wed Jul 25 2012 00:00:00 GMT-0500 (CDT)), up: 26.023316326530615, down: null } to equal { date: Date(Thu Jul 26 2012 00:00:00 GMT-0500 (CDT)), up: 26.023316326530615, down: null }.
    Error: Expected { date: Date(Wed Jul 25 2012 00:00:00 GMT-0500 (CDT)), up: 26.023316326530615, down: null } to equal { date: Date(Thu Jul 26 2012 00:00:00 GMT-0500 (CDT)), up: 26.023316326530615, down: null }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3785
    Expected { date: Date(Thu Jul 26 2012 00:00:00 GMT-0500 (CDT)), up: null, down: 28.068416024573093 } to equal { date: Date(Fri Jul 27 2012 00:00:00 GMT-0500 (CDT)), up: null, down: 28.068416024573093 }.
    Error: Expected { date: Date(Thu Jul 26 2012 00:00:00 GMT-0500 (CDT)), up: null, down: 28.068416024573093 } to equal { date: Date(Fri Jul 27 2012 00:00:00 GMT-0500 (CDT)), up: null, down: 28.068416024573093 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3785
    Expected { date: Date(Sun Jul 29 2012 00:00:00 GMT-0500 (CDT)), up: null, down: 27.413529165675012 } to equal { date: Date(Mon Jul 30 2012 00:00:00 GMT-0500 (CDT)), up: null, down: 27.413529165675012 }.
    Error: Expected { date: Date(Sun Jul 29 2012 00:00:00 GMT-0500 (CDT)), up: null, down: 27.413529165675012 } to equal { date: Date(Mon Jul 30 2012 00:00:00 GMT-0500 (CDT)), up: null, down: 27.413529165675012 }.
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:3785
PhantomJS 1.9.8 (Mac OS X): Executed 127 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 128 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 129 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 130 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 131 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 132 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 133 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 134 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 135 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 136 of 632 (2 FAILED) (skipped 1) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 137 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 138 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 139 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 140 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 141 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 142 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 143 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 144 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 145 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 146 of 632 (2 FAILED) (skipped 2) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 147 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 148 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 149 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 150 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 151 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 152 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 153 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 154 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 155 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 156 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 157 of 632 (2 FAILED) (skipped 3) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 158 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 159 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 160 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 161 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 162 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 163 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 164 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 165 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 166 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 167 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 168 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 169 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 170 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 171 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 172 of 632 (2 FAILED) (skipped 4) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 173 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 174 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 175 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 176 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 177 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 178 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 179 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 180 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 181 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 182 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 183 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 184 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 185 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 186 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 187 of 632 (2 FAILED) (skipped 5) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 188 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 189 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 190 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 191 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 192 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 193 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 194 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 195 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 196 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 197 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 198 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 199 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 200 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 201 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 202 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 203 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 204 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 205 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 206 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 207 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 208 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 209 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 210 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 211 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 212 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 213 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 214 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 215 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 216 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 217 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 218 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 219 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 220 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 221 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 222 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 223 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 224 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 225 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 226 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 227 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 228 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 229 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 230 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 231 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 232 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 233 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 234 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 235 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 236 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 237 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 238 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 239 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 240 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 241 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 242 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 243 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 244 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 245 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 246 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 247 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 248 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 249 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 250 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 251 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 252 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 253 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 254 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 255 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 256 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 257 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 258 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 259 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 260 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 261 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 262 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 263 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 264 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 265 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 266 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 267 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 268 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 269 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 270 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 271 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 272 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 273 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 274 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 275 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 276 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 277 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 278 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 279 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 280 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 281 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 282 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 283 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 284 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 285 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 286 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 287 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 288 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 289 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 290 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 291 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 292 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 293 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 294 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 295 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 296 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 297 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 298 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 299 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 300 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 301 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 302 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 303 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 304 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 305 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 306 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 307 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 308 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 309 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 310 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 311 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 312 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 313 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 314 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 315 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 316 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 317 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 318 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 319 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 320 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 321 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 322 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 323 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 324 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 325 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 326 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 327 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 328 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 329 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 330 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 331 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 332 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 333 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 334 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 335 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 336 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 337 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 338 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 339 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 340 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 341 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 342 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 343 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 344 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 345 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 346 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 347 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 348 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 349 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 350 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 351 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 352 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 353 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 354 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 355 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 356 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 357 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 358 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 359 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 360 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 361 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 362 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 363 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 364 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 365 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 366 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 367 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 368 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 369 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 370 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 371 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 372 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 373 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 374 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 375 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 376 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 377 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 378 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 379 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 380 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 381 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 382 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 383 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 384 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 385 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 386 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 387 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 388 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 389 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 390 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 391 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 392 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 393 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 394 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 395 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 396 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 397 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 398 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 399 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 400 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 401 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 402 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 403 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 404 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 405 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 406 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 407 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 408 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 409 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 410 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 411 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 412 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 413 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 414 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 415 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 416 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 417 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 418 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 419 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 420 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 421 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 422 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 423 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 424 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 425 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 426 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 427 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 428 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 429 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 430 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 431 of 632 (2 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised Then ticks should return a distributed range of ticks FAILED
    Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 18 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 18 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6140
PhantomJS 1.9.8 (Mac OS X): Executed 432 of 632 (3 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised Then ticks with specified tick count returns approximately that number FAILED
    Expected [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6147
PhantomJS 1.9.8 (Mac OS X): Executed 433 of 632 (4 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised Then ticks with specified interval and step count returns that number FAILED
    Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6158
PhantomJS 1.9.8 (Mac OS X): Executed 434 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 435 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 436 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 437 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 438 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 439 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 440 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 441 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 442 of 632 (5 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And heavily scaled/zoomed in on value Then domain should return a single value FAILED
    Expected [ Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6224
PhantomJS 1.9.8 (Mac OS X): Executed 443 of 632 (6 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And heavily scaled/zoomed in on value Then ticks should return a single value FAILED
    Expected [ Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6228
PhantomJS 1.9.8 (Mac OS X): Executed 444 of 632 (7 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X): Executed 445 of 632 (7 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And heavily scaled/zoomed out Then ticks should return full ticks as if not zoomed FAILED
    Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 18 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 18 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6253
PhantomJS 1.9.8 (Mac OS X): Executed 446 of 632 (8 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And heavily translated Then domain should return the stretched set of domain FAILED
    Expected [ Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6266
PhantomJS 1.9.8 (Mac OS X): Executed 447 of 632 (9 FAILED) (skipped 6) (0 secs /PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And heavily translated Then ticks should return stretched set of ticks FAILED
    Expected [ Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6273
PhantomJS 1.9.8 (Mac OS X): Executed 448 of 632 (10 FAILED) (skipped 6) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 449 of 632 (10 FAILED) (skipped 6) (0 secs PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And zoomable is not clamped And heavily translated Then domain should return a stretched set of domain FAILED
    Expected [ Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Wed May 30 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Thu May 31 2012 00:00:00 GMT-0500 (CDT)), Date(Fri Jun 01 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6307
PhantomJS 1.9.8 (Mac OS X): Executed 450 of 632 (11 FAILED) (skipped 7) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 451 of 632 (11 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 452 of 632 (11 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 453 of 632 (11 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 454 of 632 (11 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 455 of 632 (11 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 456 of 632 (11 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 457 of 632 (11 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 458 of 632 (11 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And translated left Then ticks should return offset tick values FAILED
    Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 18 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Fri May 18 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 22 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Thu May 24 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6375
PhantomJS 1.9.8 (Mac OS X): Executed 459 of 632 (12 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And translated left Then ticks with specified tick count returns approximately that number FAILED
    Expected [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6382
PhantomJS 1.9.8 (Mac OS X): Executed 460 of 632 (13 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X) Given I have module "scale/financetime" available When I require() it And initialise with actual dependencies And the constructor is used to construct an instance And domain and range is initialised And a zoomable obtained And translated left Then ticks with specified interval and step count returns that number FAILED
    Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)) ].
    Error: Expected [ Date(Thu May 17 2012 00:00:00 GMT-0500 (CDT)), Date(Sun May 20 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Mon May 28 2012 00:00:00 GMT-0500 (CDT)) ] to equal [ Date(Mon May 21 2012 00:00:00 GMT-0500 (CDT)), Date(Wed May 23 2012 00:00:00 GMT-0500 (CDT)), Date(Fri May 25 2012 00:00:00 GMT-0500 (CDT)), Date(Tue May 29 2012 00:00:00 GMT-0500 (CDT)) ].
        at /Users/telappy/Documents/Projects/forex/techan/build/specs-bundle.js:6391
PhantomJS 1.9.8 (Mac OS X): Executed 461 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 462 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 463 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 464 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 465 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 466 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 467 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 468 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 469 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 470 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 471 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 472 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 473 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 474 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 475 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 476 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 477 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 478 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 479 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 480 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 481 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 482 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 483 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 484 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 485 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 486 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 487 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 488 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 489 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 490 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 491 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 492 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 493 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 494 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 495 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 496 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 497 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 498 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 499 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 500 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 501 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 502 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 503 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 504 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 505 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 506 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 507 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 508 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 509 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 510 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 511 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 512 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 513 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 514 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 515 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 516 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 517 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 518 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 519 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 520 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 521 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 522 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 523 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 524 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 525 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 526 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 527 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 528 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 529 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 530 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 531 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 532 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 533 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 534 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 535 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 536 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 537 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 538 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 539 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 540 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 541 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 542 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 543 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 544 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 545 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 546 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 547 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 548 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 549 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 550 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 551 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 552 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 553 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 554 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 555 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 556 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 557 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 558 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 559 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 560 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 561 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 562 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 563 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 564 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 565 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 566 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 567 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 568 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 569 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 570 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 571 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 572 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 573 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 574 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 575 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 576 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 577 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 578 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 579 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 580 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 581 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 582 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 583 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 584 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 585 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 586 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 587 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 588 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 589 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 590 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 591 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 592 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 593 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 594 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 595 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 596 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 597 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 598 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 599 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 600 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 601 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 602 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 603 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 604 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 605 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 606 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 607 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 608 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 609 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 610 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 611 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 612 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 613 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 614 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 615 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 616 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 617 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 618 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 619 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 620 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 621 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 622 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 623 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 624 of 632 (14 FAILED) (skipped 8) (0 secs PhantomJS 1.9.8 (Mac OS X): Executed 624 of 632 (14 FAILED) (skipped 8) (1.547 secs / 1.251 secs)
Warning: Task "karma:test" failed. Use --force to continue.

Aborted due to warnings.
npm ERR! Test failed.  See above for more details.
npm ERR! not ok code 0

I can't get this to work on windows or mac. Let me know if I can do anything to help sniff out the issue

Changing plot type with color change

One of the the best JS charting. I am able to use this within no time and started to visualize my data and charts.

Is possible to enable plot type example RSI as a bar chart vs line chart ?

May be have basic plots i.e BarPlot and LinePlot and variable plot scale i.e 0-100 or -ve to +ve with zero line and adjustable support/resistance lines instead of RSI Plot.

Also ability to change color of the plot based on above zero or below zero.

Once I have these plot I can use any data to plot the indicator.

grunt serve error

Hello please see the error I see below when attempting "grunt server" and then "sudo grunt serve"

mymac:techan.js-0.4.0 user2$ grunt serve
Loading "copy.js" tasks...ERROR
>> Error: Cannot find module 'ansi-regex'

Running "clean:dist" (clean) task
>> 0 paths cleaned.

Running "clean:build" (clean) task
ERROR
Warning: Unable to delete "build" file (EACCES, permission denied 'build/version.js'). Use --force to continue.

Aborted due to warnings.
mymac:techan.js-0.4.0 user2$ sudo grunt serve
Loading "copy.js" tasks...ERROR
>> Error: Cannot find module 'ansi-regex'

Running "clean:dist" (clean) task
>> 0 paths cleaned.

Running "clean:build" (clean) task
>> 1 path cleaned.

Running "filegen:version" (filegen) task
>> File: build/version.js

Running "newer:replace" (newer) task

Running "newer:replace:main" (newer) task
No newer files to process.

Running "newer:copy" (newer) task

Running "newer:copy:examples" (newer) task
Fatal error: Task "copy:examples" not found.

Revised crosshair mouse move events

Now that #20 is in place, #8 should be revised to emit events based on primary scales rather than configured annotations, as annotations may not be always specified but scales will be.

Rather than:

[
  [xAnnotation0.axis().scale().invert(x)],
  [yAnnotation0.axis().scale().invert(y), 
    yAnnotation1.axis().scale().invert(y), 
    yAnnotationN.axis().scale().invert(y)
  ]
]

Will be:

[crosshair.xScale().invert(x), crosshair.yScale().invert(y)]

Remove clamping from financescale

Support zooming beyond domain extends:

var zoomable = techan.scale.financetime()
    .domain(domainSet)
    .zoomable().clamp(false);  // Disable clamping on the zooming scale

a reusable framework that help user write his own indicator

Hi @andredumas,

I think it would be great if user can write his own indicator in javascript or coffee-script on the fly or save it to use later.

For example:
A simple fractal indicator:
if(data[i].high > data[i-1].high && data[i].high > data[i-2].high &&
data[i].high > data[i+1].high && data[i].high > data[i+2].high){
draw_symbol("fractal up" + i, i, fractalUpCode, color)
}
else if(data[i].low < data[i-1].low && data[i].low < data[i-2].low &&
data[i].low < data[i+1].low && data[i].low < data[i+2].low ){
draw_symbol("fractal down" + i, i, fractalDownCode, color)
}

Basically, we need a framework to draw something, like:
draw_line(id of line, position, type=trend|vertical|horizontal, style=solid|dash|dot, color)
draw_circle(...)
draw_rectangle(...)
draw_symbol(...)

And a way to manipulate data that have basic function like
access to any position of data to do calculation
min, max function
....

I don't know if it easy to write, but if you need any help, i can work with you.
Currently, i still read your code to understand the logic behind it.

Merry Christmas, @andredumas

GodRtio

JSON Data Source

and the ability to provide indicator data from server side.

Here's an example of some VERY lengthy json containing values for 6 indicators, ATR, bollinger, Volume, EMA, MACD, RSI, and the Primary Dataset.

http://pastebin.com/131CRuKa

Currently using a ton of flot magic to render a bunch of various charts, your graphing library is much nicer looking, but I already have proprietary indicators server side, and i have a largish DB of price quotes.

So I'd like to be able to serve data as JSON for both primary data sets and indicators. Is this something that is in the same spirit as this project or would I be better served forking it since your emphasis seems to be on client side calculation.

Here's an example of what one of these chart's looks like:

http://www.chartagena.us/#e9cb0b28d3a64c3d9a7e4a94d2eabed6

Site is a staging area and various things are broken, but you get the impression of the charting, can expand indicators and change color values, and inputs.

Another features that I would need appears to be a fill option.

Add legend to the chart

When a chart has several moving averages, it is difficult to separate them. It would be nice to add a legend (with color) to indicate which moving average is which.

Also, with crosshair, it would be nice to to show the value of the moving average in the legend.

Is this in the roadmap? Thanks.

Specify x and y crosshair scales to support non annotation based crosshair plotting

Crosshair currently default's x and y scales to the first annotation element annotation arrays. This assumes there are always annotations associated. It would be better to explicitly set x and y scales, and also be able to plot crosshairs without annotations.

Before:

    var crosshair = techan.plot.crosshair()
            .xAnnotation([timeAnnotation, timeTopAnnotation])
            .yAnnotation([ohlcAnnotation, ohlcRightAnnotation]);

After:

    // Without annotations
    techan.plot.crosshair()
            .xScale(timeAnnotation.axis().scale())
            .yScale(ohlcAnnotation.axis().scale());

    // With annotations
    techan.plot.crosshair()
            .xScale(timeAnnotation.scale())
            .yScale(ohlcAnnotation.scale())
            .xAnnotation([timeAnnotation, timeTopAnnotation])
            .yAnnotation([ohlcAnnotation, ohlcRightAnnotation]);

Chart Annotations

Also is it possible to have up and down arrow annotation on the chart when ever RSI cross above 50 as examples.

Not just RSI any plot annotation on charts is good. Also whenever moving average cross above or below price close

UTC Time Scaling with financetime()

It's a question rather than an issue. I'm new to techan.js. With d3, I understand that I can specify the time scaling to be UTC oriented by calling, "d3.time.scale.utc()". What are the necessary things do I need to override so time scaling of an axis as well as axis tick formatting is managed all based on UTC?

I've visited the API section on financetime() but found no documentation.

Thanks,
Julia

User configurable financetime outerPadding

Scale widening ensures when drawing plots with width (candlestick, ohlc, volume), the outer edges are visible. For plots without width (close), this will produce gaps on outer edges of the plot, which is undesirable. Add to API:

var x = techan.scale.financetime()
            .range([0, width])
            .outerPadding(0);

Indicators do not update after data gaps

Hello,

This is primarily a data issue, but it is very possible (even likely), that data gaps will occur from time to time from data providers. For example, in your data.txt file of facebook data, if you remove an open data, close data, etc. the indicators will not update after that period.

At some time, could you implement a feature that would ignore these data gaps/errors and only use full data periods so that data gaps would not cause the chart to stop updating?

Currently, the approach I'm using is to not add these data gaps/errors into the .txt file. This should work fine, but the feature above would make the process cleaner. There is no rush because I've found a workaround for now, but this is probably necessary at some point.

Thanks for everything I really appreciate techan.js.

In chart buy/sell arrows

Should be great if there was an option to put annotation with symbols right on the candle sticks.

I wish to use such a feature to mark buy / sell orders on the graph. A red down pointing arrow to mark a sell option, and a green up pointing arrow to mark a buy option. Ofcourse, I also wish to place marks on the close-time, with the the profit or loss (result) as annotation.

Switch Data Series

I've been unsuccessful in being able to update the graph's data, assuming a fresh data array is utilized. Outside of deleting the line chart (haven't tried candlestick) and appending a new one, it would nice to be able to transition, add new data and update the graph similar to this simple example: http://bl.ocks.org/d3noob/7030f35b72de721622b8

I have no problem feeding new data to the end of the graph and shifting the graph because the x and y rescaling is similar to vanilla d3 but actual changing the data in the graph doesn't seem possible when using techan functions versus basic d3.

Would appreciate advice if i'm missing how to accomplish this, but otherwise would recommend it as a feature. Look forward to response. Thanks!

Crosshair mouse over events

Where crosshair initialisation is:

techan.plot.crosshair()
            .xAnnotation(xAnnotation0)
            .yAnnotation([yAnnotation0, yAnnotation1, yAnnotationN])

Expose mouse over event that supplies:

[
  [xAnnotation0.axis().scale().invert(x)],
  [yAnnotation0.axis().scale().invert(y), 
    yAnnotation1.axis().scale().invert(y), 
    yAnnotationN.axis().scale().invert(y)
  ]
]

Wilder's smoothing

Refactor EMA to take a configurable alpha. Where EMA alpha = 2/(period+1);, Wilder's would be alpha = 1/period;. Expose techan.indicator.wilderma.

Improve dynamic sizing of bars and wick lines

As a candlestick chart is zoomed out, clarity is lost due to the wick being css hardcoded to stroke width 1px. Would be clearer if this scales with the chart.

Styling is no longer required. It is now dynamically set by techanjs based on data displayed.

path.candle.wick {
    stroke-width: 1;
}

Supply and demand Zones - rectangles

Hello I would like to have a possibility to draw rectangle on the chart.
I need this to simulate suply and demand zones.

To draw that kind of rectangle we should have possibility to enter parameters like this:

  • starting date of rectangle and price level
  • ending date of rectangle and price level
  • possibility to fiil this rectangle by colours.

Other functionality is scaling this rectangle when we zoome in or zoome out the chart.
https://www.mql5.com/en/charts/2798176/eurpln-h1-fxpro-financial-services

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.