Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

taotree

Members
  • Content Count

    72
  • Joined

  • Last visited

Everything posted by taotree

  1. This sounds like what I've been calling "cost per move" that I've been working on. At first I did it based on bid/ask moves, but I have a new value that "smooths" out the fluttering of last between bid/ask and am using that instead now. The idea is as you describe, as it gets more and more "expensive", to move the market in a certain direction, than we might expect it to turn because it means it's hitting heavy resistance.
  2. Yeah, that's one of the things I'm struggling with. I'm taking on the challenge to avoid parameters as much as possible. I have some historical data I can run this stuff on (to about 2 microsecond timestamp), I've done an intensity calculation, but working out how to sum it without choosing an arbitrary window size is a fun challenge.
  3. I respect your posts a great deal. I don't think the above is quite accurate, depending on how it is interpreted. Yes, you explain a useful method in transferring higher timeframe information onto a lower timeframe chart. However, all the necessary information for a successful trading methodology are not in the original post I would propose that the reason your bias indicator is so effective is because you have done an enormous amount of research, analysis, computation discovering information in the market data. It's that proprietary analysis that is giving you such a wonderfully valuable "indicator" on the lower timeframe. Put another way, it's not that you have taken 24 random indicators from a higher time frame and transferred that to the lower. It's that you have taken 24 *very useful/effective* (and unfortunately for me, unavailable to me until I figure them out for myself) bits of information from the higher timeframes. And I think you make this clear as you posted later in this thread: So, as you say so yourself, grabbing your typical indicator information from the higher timeframe and applying that to the lower chart is not going to magically make all those lagging indicators any more useful. One still has to dive into some "uncharted" territory (such as "multidimensional imbalance in order flow" as you call it) to continue the journey.
  4. Let's say I have 2 existing indicators: A, B. I want to create another indicator X that includes information from A and B. Without changing A and B at all, how can I access all the information about A and B? I found this: IndicatorA(Param1, Param2, etc.).Value[0] worked to get me the value of one of them. But how do I get the color (the color changes over time in this indicator)? Especially if one of them is a paintbar: how do I get the color of the paintbar? Thanks!
  5. So, I've seen Harris and O'Hara books mentioned but not in the form of a recommendation. What's the best book for studying market microstructure? I'm also looking for a recommendation for a solid book on game theory. I don't know/care about poker, so would rather have one that's just focused on game theory, but if the best one is about poker, I'm ok with that. I'm not afraid of math, so heavy in math/theory is fine--just looking for the most informative/useful. I've read some about game theory before, but I would like to read through a good solid formal approach. Oh, and I should say: book that I can get right now I also look forward to a certain unpublished book mentioned on this thread, but I'd like to pick one up right away. (Unless that someone needs any help reviewing/editing/proofreading/etc. for which I would gladly volunteer) Thanks!
  6. taotree

    Volume Splitter

    A little harsh there. I understand how you feel, but... I'm very grateful that these people are here sharing some info, even if they don't tell us all. It does reinforce some of my ideas of where I'm heading with my own work. I have been developing my own software since I haven't seen any current software that does anything near what I think is ideal. I was going to include a visualization I did some time ago but it's not executable at the moment. Each transaction is plotted as a circle with radius depending on size of transaction. The overall window is zoomable in/out infinitely (using mouse wheel). Perhaps by saying you have to come up with it yourself, AgeKay is saying you have to think creatively? Or maybe... to understand how to use something effectively, you have to have the level of thinking that can come up with it yourself. Most recently, I've been considering: what about defining a "bar" as a movement of bid/ask. The current value within the bar equals the average transaction price (weighted by volume) in the bar--so as more transactions occur at ask, the plot approaches the ask. Or plot each trade as a line following that. This fits with what AgeKay was saying about not having any parameter at all. Anyway... a little off topic, but I think pertinent to the way the discussion has turned. And could be specifically applicable to "volume splitter" by considering... what are some effective visualizations that could be applied to the concept of volume splitting? I find it interesting that instead of considering, what is the best way to consider this information, it has been converted into a MACD--a very familiar tool indeed. Do we have a tendency to take any new thing and fit it into the familiar? That may be ok initially, but do we let that hinder us from expanding to new ideas? And how much is that limitation dictated by charting software capabilities? Ok, now let's start discussing Sapir-Worf as it applies to traders thinking being limited by the software/tools they are familiar with just kidding
  7. If you're just looking for a feed and not a full charting software package... Zen-Fire has a Linux version of their API. Any FIX compatible feed can run on just about any platform since it's a protocol: and you could use quickfix or quickfixj or roll your own FIX or whatever... Trader Technologies has a FIX feed, there are others as well.
  8. I apologize if this is the wrong forum, but if there was one book on understanding volume (specifically I'm in the futures market), what would it be? I know there is lots of great info in these forums that I plan to leverage over time, but I'm looking for a book that can give me a solid basis in understanding volume, how to view it, how to read it, its interaction with price and the market, etc. Thanks!
  9. taotree

    Volume Splitter

    Right, I didn't export whole thing--he was asking for it for Tradestation. Attached is the zip file with both indicators. Like I said, these have not been refined at all. They are a start of an investigation, not the result of it. Suggestions welcome. 2VolumeInds.zip
  10. taotree

    Volume Splitter

    Sorry to freak you out Yes, I'm using Ninja. And I'll tell you the logic on one condition: if you find it useful, you'll tell me about it The tradestation frequency one is a little tricky. Tradestation does not give you fine grained time at all. You have to use a dll to get system time. It also won't work historically of course--only live. There is a dll for system time you can get--search the forums for it. And there's the limitation on whether a transaction was at bid or ask--it probably works most of the time, I'm not sure how often its a problem. I don't think I tried to do the frequency on tradestation. I got rid of tradestation a month or two ago--these types of serious limitations get rather frustrating. As for the logic, it's: volume / (log( currentTime - lastAskTime ) + 1) Ah this is why sometimes it doesn't plot--if we get two simultaneous ones, the log goes to infinity--that happened once in the screenshot. lastAskTime would be lastBidTime if this tick was at bid. Track them separately. I took the log of time diff because otherwise it can have some enormous spikes I think, and so squish everything down. The plot in screenshot has two histograms--one up and one down: bid and ask, one negated so it displays below 0. Also that plot adds up the frequency over a bar--then each bar it starts over at 0. The yellow line is the 7 ema of the difference between the two, again by tick, not bar. Here's the code if you want to decipher, but everyone has to promise not to judge me by this code as it was just slapped together and messed around with as I experimented with different things... so it's ugly. If someone determines refinements that will make it especially useful, I can implement them and clean it up. protected override void OnMarketData(MarketDataEventArgs e) { long now = DateTime.Now.Ticks; if (e.MarketDataType == MarketDataType.Ask) { lastAsk = e.Price; lastAskTime = now; } else if (e.MarketDataType == MarketDataType.Bid) { lastBid = e.Price; lastBidTime = now; } else if (lastAsk != 0 && lastBid != 0 && e.MarketDataType == MarketDataType.Last && e.Volume >= minVol) { // TODO: for in between bid and ask? if (e.Price >= lastAsk && e.Price > lastBid) { double dur = Math.Log((double)now - lastAskTime+1) + 1; double newFreq = (double)e.Volume/dur; double oldFreq = askFreq; // askFreq = (newFreq - askFreq)*mult + askFreq; askFreq = (newFreq)*mult + askFreq; if (Math.Abs(askFreq - oldFreq) < oldFreq/1000) { Print("Ask no change: "+e.Volume+", "+(now-lastAskTime)+", "+dur+", "+newFreq+", "+oldFreq+", "+askFreq); } lastAskTime = now; } else if (e.Price <= lastBid && e.Price < lastAsk) { double dur = Math.Log((double)now - lastBidTime+1) + 1; double newFreq = (double)e.Volume/dur; double oldFreq = bidFreq; // bidFreq = (newFreq - bidFreq)*mult + bidFreq; bidFreq = (newFreq)*mult + bidFreq; if (Math.Abs(bidFreq - oldFreq) < oldFreq/1000) { Print("Bid no change: "+e.Volume+", "+(now-lastBidTime)+", "+newFreq+", "+oldFreq+", "+bidFreq); } lastBidTime = now; } else { Print("Was inside bid/ask: "+e.Price); } } } /// <summary> /// Called on each bar update event (incoming tick) /// </summary> protected override void OnBarUpdate() { if (FirstTickOfBar) { bidFreq = 0; askFreq = 0; diffEma = diffEmaBar; diffEmaBar = 0.0; } else { double diff = askFreq - bidFreq; if (diffEma == 0.0) { diffEmaBar = diff; } else { diffEmaBar = (2.0/(1.0+7.0))*(diff - diffEma)+diffEma; } Plot0.Set(diffEmaBar); Plot1.Set(-bidFreq); Plot2.Set(askFreq); } }
  11. taotree

    Volume Splitter

    Just for fun I ran what I have to see if anyone wants to comment on it. There are two indicators: one is a cumulative volume splitter that is: Orange 1 - 4 Green 5 - 49 Purple 50 - 99 Red 100+ And the other is a Volume Frequency that measures how quickly contracts are moving compared to time. I did this because I saw some discussions regarding this somewhere. These two screenshots are from the past hour or so on ES. It's a 987 volume bar chart.
  12. taotree

    Volume Splitter

    I'm not sure about the market delta reasoning, but regarding the question of transaction at bid or ask issue... TS bid/ask values are snapshotted (maybe 100ms, but I'm don't remember for sure), so there is no sure way to know whether a transaction occurred at the bid or the ask. So... the part that says: if Close = CurrentBid, you're comparing a realtime value (Close) with a value that might be 100ms or more old (CurrentBid). There are several topics on TS forums about that. That being said... 100ms might be sufficient that it might be correct most of the time. I'm not sure. During my search for data/brokerage recently, I found that snapshotting bid/ask/DOM is common. I ran into volume splitter somewhere a few weeks ago and coded up a ninja trader version of what I thought might be the same thing (It was very similar to my attempt at another indicator which was about the frequency of orders at bid/ask which I had seen discussed somewhere). I didn't mess around with it a lot and I didn't smooth it at all, but did divide by the logarithm of the value in order to bring it together, otherwise one of the plots goes way far away and squishes the other values. It actually plots 4 different values: <5, <50, <100, <10000 If someone can tell me how best to make it useful (smooth or not, sum or not, show both long/short, cumulative or window or for day, or...), I could finish it up and post it. Glancing at it for a few minutes, I didn't immediately see something useful, but I know that's not long enough to make any judgment.
  13. I emailed Dorman. I received the response: "You should contact Eliot Wickersheimer". After a quick google, he's Co-owner of Mirus. So, apparently, at least for how I asked the question, I was referred to Mirus by Dorman. I would like to have someone explain to me what the considerations are between Dorman and Rosenthal Collins Group. Considering I'm just doing CME right now, what's the difference? When I asked Mirus, they responded "you can use RCG" without an explanation of why that over Dorman.
  14. First, get a screen capture you can do from command line. I did a search for "command line screen capture" and several options appear available. Then, if you're on Windows, you can use Task Scheduler to schedule a task every 15 minutes that will run a command line screen capture program. On unix-like stuff, you could use cron, on Mac... maybe still use cron? Not sure.
  15. Thanks for the info, seems like Mirus and AMP is what I hear most. Considering that Mirus apparently has the "in" with zen-fire (someone said they're same company (or owned by same or something)?) and that the guy who answers the emails at zen-fire Pat Shaughnessy pjs@zen-fire.com has an email address pjs@mirusfutures.com listed on mirus futures site... (and it helps that the commission rate is a little better) Sounds like that's the way I'll go. Thanks all!
  16. Interesting... On what volume? According to what I've seen: Mirus = $4.40 and AMP = $4.70 for bottom volume tier for ES. When you say "discount broker" what do you mean (example?)? And what is a highly competitive commission in your book? Does $4.40 (<500 RTs) down to $3.15 (>10k RTs) qualify? Also, I'm not going to use a platform--I'm using the zen-fire API, so I don't think I need to expect a platform fee. You're not being negative, and I value your experience. Thanks!
  17. I'm going to be doing custom software development against an API and I've pretty much decided that I want to use zen-fire, so... My next questions is which brokerage to use that will allow me to use the zen-fire API? At this point, I'm only trading the ES e-mini. Which brokerage to use that offers: 1) <= $2500 minimum to open account 2) <= $1000 ES intraday margin 3) highly competitive commissions (even for low volume) 4) No monthly fees 5) No minimum activity Any recommendations? I've seen at least a couple I think satisfy this, but I would like to get some more confirmation from others' experience (and if there are others I should consider) before making a commitment. Thanks!
  18. SnagIt is the "low end" product (typically for screen shots, recently added video I think) Camtasia Studio is the full product--so, it's the same company, same dogfood.
  19. I have been writing specs for developing some new charting software and just ran into this thread. To some points on this thread: Not Matlab: It's expensive. "If you have to ask, you cannot afford it". I don't see a price on their site, therefore it's too expensive Unless you're talking about the free clones of it? Time Series Database: interesting, but we don't need to manipulate the data--only read/write it. So probably overkill. Relational db: yeah, don't even think about it. Files in folders in filesystem: qmail does this to handle millions of emails. It does put you somewhat at the mercy of the filesystem's limitations. However, indexing by folder by symbol and one file per day, no folder will have more than 31 entries. Path would be short enough: db/symbol/2009/12/31.dat Custom indexed file: it would be easy to run into file system limit on file size with this. Multiple big files with separate index: this might be best bet. Because data is never modified, you don't have to worry about fragmentation--you can just keep adding onto the end of the file. You would have some sort of indexing scheme in a separate file that could be kept in memory so you can skip to the beginning of a certain day or something like that. The nice thing about that is once you have found the right location to start in the data file, you can just move forward straight from there without ever having to jump somewhere else, with the sole exception if you run to the end of that data file and have to go to the next one (which is trivial to deal with). The index file could be a custom job, or use a simple db for it. This might even open up possibility of keeping index completely in memory and memmap the data file for quick access wherever... I might have to consider that some more. Custom bar types: My concept at the moment is that bars are just an indicator--and so are handled just like an indicator. Someone could create their own bar type, or chart type, and have it generated any way they want from the ticks and have it paint any way they want. Strategies would be able to use their custom bar types just like any other.
  20. Trading psychology is critical. We often sabotage ourselves. Trading is one of those things that if done really well can make huge success. If we are not psychologically ready for that huge success, we may sabotage ourselves without even realizing it.
  21. Is there anywhere available historical tick data timestamped to sub-second (1/100 would be nice)? I have found 1 second tick data, but I need something at least 1/10 of a second, and preferably 1/100th. Is that available anywhere? Oh, specifically I'm looking for futures data: the ES. Thanks!
  22. I've used CamStudio http://camstudio.org/ For some time. It seems to work great. I also grabbed the "FM Screen Capture Codec" and it makes very small video files. Very nice. I've been using VirtualDub for playback sometimes if I need to find a specific frame because it makes it very quick to scroll through the frames.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.