-
Content Count
272 -
Joined
-
Last visited
-
Days Won
50
Content Type
Profiles
Forums
Calendar
Member Map
Everything posted by KyleK29
-
I'll look into the problem. Did you notice this by manually doing hotkeys with SShare = -256; SShare - 300 or was it during an actual order operation? I noticed this exact behavior when developing the hotkey and worked around it in how I formatted the order that it calculates in. I'd have to look at my notes, but if I recall, display (SShare) behaves as an unsigned INT when it's being transferred from Share (it loses the sign), this is because Share swaps from -300 to 300- on box refresh (you'll notice this when going short). However, oddly, manually setting SShare to a negative INT will cause the Display Box to show 0. The typed explanation of how the script works is a simplified version - to develop this I flowcharted all of the memory containers so I could properly "see" what I needed to do, I just didn't feel like typing up a really detailed explanation. As for the hotkey button limitation, there's no real solution for that. This is a very hack-like way of doing what is normally a very simple string of operations because of limitations in DAS. I hope that someday they give proper script support with some user variables and functions that we can do this properly. The entire command would be a lot smaller with a few built-ins. Also, I'll look into making the Google Sheet a tad more Excel friendly with your suggestions.
- 588 replies
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
Added a newer version of the configuration sheet. See original post up above under "UPDATES" to see. Includes a Dynamic Scale-In hotkey command now.
- 588 replies
-
- 2
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
From what I can tell, the user can't assign/create variables. The way I did the one in this thread was to use available variables that the user can access via the hotkey / montage. These can change depending on what ROUTE is selected. SSHARE --> Display Box (next to share), this is an unsigned INT, read/write SHARE --> Share Box, this is an INT, read/write PRICE --> Price Box, this is a FLOAT, read/write DEFSHARE --> Default Shares (not displayed, but accessible), this is an INT, read/write TRAILPRICE --> Trailing Price, FLOAT, but only available if STOP is selected and stop type = Trailing, read/write STOPPRICE --> Trigger Price, FLOAT, only available if STOP is selected and "trigger price" box is writeable, read/write CAPSHARE --> String, write only PREF --> String, write only. Because prices are floats and the majority of variables available are INT based, you can always convert a float to an INT by multiplying by 100 and then dividing by 100 later (to get it back to float), otherwise moving a FLOAT to an INT variable will drop the decimal portion ($100.99 becomes $100). For your request, if I'm understanding it correctly, you don't need to do too much. See if this works, it's hard to test these as you have to get a stock to move to really see it. Again, SIM or a test symbol for trying it out. SHORT: Share = Pos; Price = AvgCost - Bid * .5; Price = AvgCost - Price; Route=STOP;StopType=Market;StopPrice=Price; BUY LONG: Share = Pos; Price = Ask - AvgCost * .5; Price = AvgCost + Price; Route=STOP;StopType=Market;StopPrice=Price; SELL What it's doing is: Short Entry Price: $100 Current Bid: $90 Share = Pos (our current position) Price = AvgCost - Bid * .5 ---> $100 - $90 * .5 ---> $10 * .5 = $5 (Note: DAS calculates in the order seen, I believe), "Price" is our temporary calculation of the midpoint (* .5). Price = AvgCost - Price --> $100 The rest is just a standard STOP order. From what I tested, this worked for finding the midpoint and setting stop midway between the current value. Unfortunately, the hotkey commands for REPLACE (replace an existing order) don't seem to work correctly for STOP order types, so if the stock continued to move in your favor, you'd need to cancel the current STOP and then set the new one (rerun the hotkey).
- 588 replies
-
- 2
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
When you scale out at a .10c move, are you moving your stop (physical or mental) to break even? I ask because I changed scale-out strategies in August (SIM based) and took a huge hit (30% winrate, -$4000 on the month). I wanted to "let the runners run" and wait until it got near my price target. I was able to review the data at the end of August and noticed what was going on (what wasn't working). Like you, my numbers showed that my avg loser was way bigger than my avg winner, per trade expectancy was negative. I think the biggest (good) changes were the scale-out and the risk-based share sizing. Obviously, each person needs to develop their own strategy, but my current strategy is this: 1) Risk Based Share Sizing (see dynamic calculator in DAS area of forum) factored for confidence (e.g. if I'm not confident, I use smaller size than my max-risk allowable). My share size is based upon the stop distance. 2) When the stock reaches 1R (if my stop distance is $0.13 away, it'd need to move in my favor $0.13), I sell 25% and move my mental stop to break-even. I repurposed the Fibonacci tool (since I don't use it) to be a 1R, 2R, 3R levels indicator. 3) During the trade, I scale out some more where I see resistance forming or near known resistance levels (moving averages, half dollar, whole dollar), or at 2R, 3R, or the price target. Using my sell 25% hotkey. 4) My mental stop tends to float, so if a moving average that has been respected recently (bounced off of) is above my break-even point, I'll watch it as an indication for a change of direction (it can go past it a little bit to allow variance) and use that as a trailing stop. 5) Once my shares get down below 100, I usually measure the last two pullback distances, add a few cents to it (as long as it doesn't place it below the break-even point), and set it as a trailing stop order. Move on to the next trade. What really helped me refine this to my personality was a few data points that I record with every trade: - Highest Price in Trade (this is price related, not direction related, so highest price seen for either long or short) - Lowest Price in Trade Those aren't prices you executed at, but prices that the stock reached while your trade was open. From there, I can calculate the average R-movement, updraw%, and downdraw% for every trade. When I reviewed August's losses, the data told me that: 78% of my picks moved in my favor. I was simply not scaling appropriately and letting winners run against me. My position sizing and $risk was all over the place. For September, I implemented the new strategy listed above. Winrate is 76%. It has a lot of "small" wins. I'm working on releasing a few custom tools to the community to help people narrow down their strategy and refine their edge. One is a data-focused journal (does most of the work for you) and the other is a backtester (allowing you to automatically replay all of your trades with different scale out approaches you want to test).
-
Not sure if this is the right forum for this as I couldn't find one where it "fit" the criteria perfectly, so move it as needed. In the documents linked below is an example trading plan that I created many months ago from various sources, as well as my own thoughts. I've developed many business plans in a similar fashion and the way I get the most done is by typing up a list of questions, printing it out, and writing (or typing) thorough answers to those questions. You then wait a few days (reset your mind) and return, putting those answers into concise statements / paragraphs to form the basis of your overall business plan. For a trading plan, you may never do the second part (putting it into concise paragraphs), that's OK. The intended purpose of a plan (for business or trading) is to make you think and develop a vision for what you feel is success and how you intend to go about reaching your goal. Just like a business plan, you may deviate from it, you may go slower than you projected, and / or you may alter it along the way. It doesn't matter how you use it after you create it, it's just there to put you back on the tracks if you come off or serve as a reminder to the longer term goal if you're having a short term struggle. Some Tips: - I encourage you to really reflect on your answers, get granular with them, the more you get out of your head now is the more you'll be able to power through in the end. My last major business plan I wrote risk-aversion scenarios for coupe d'etat's (it was for the Middle East) and an assortment of what-if's related to the region - you won't need that here (although, maybe you have terrible in-laws and it's not out of the question), but it helps to think complex (possible) scenarios through as you'll be more prepared to react if it happens. - Set realistic goals. I took a few psychology courses on goal setting at university for my degree and they all seem to agree. Break the goal up into small obtainable steps and build momentum. So don't say "I want to be a billionaire in 5 years," reframe it as "In 5 years, I'd like to have my house paid off entirely, and I'm going to do it by ...". A goal too far out of reach or without structure is useless, even if there's a slim chance. The document has questions for the following sections: - Introduction --> Just a brief overview of what's intended. - Overall Goals & Strategy --> Questions regarding your intended trading goals and strategy. - Education / Evolution --> Questions about how you're going to gain knowledge and evolve to meet your goals. - Psychology --> Questions for how you plan to deal with the psychological aspects of trading. - Timeline --> Your intended timeline of milestones. How you plan to progress through it. - Future You Statements --> Prejourney Statement (message to yourself to be read after you've completed the journey, written in the future-sense like you're talking back at yourself.) - Time Statements --> Done at certain intervals, a quick journal of your progress so far. - After Completion Statements --> Area for you to reflect after this leg of the journey is over and you're about to start the next. Documents: Template File (with example data): https://drive.google.com/file/d/1hKLkaPc4pYXNIpjv26ud3pFLWbeBogvL/view?usp=sharing Template File (blank, just questions): https://drive.google.com/file/d/14VL_ZVk1gBgqpKNeYwiNJDYwfWfSF2gS/view?usp=sharing
-
Also, take a look at this thread: Appears there might be an issue with the Windows 10 drivers, so you have to use Flash Drive mode for programming. They'll be able to help a tad more, as they have the device.
- 588 replies
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
I wouldn't take one for the team testing it, use a NASDAQ testing symbol. It sends the order in to the market, but they don't actually fulfill with anything (as it's not a real company). These: TEST TESTB TESTE TESTX ATEST Additionally, a few different ways to test it to wait until the market closes and switch the "SELL=SEND;" to "SELL=LOAD;", click a price really close to the current. See what it puts in the share box, as that's likely to be the maximum-affordable calculation. That's how I tested a lot of it, with the market closed you don't have to worry about the price jumping around and can consistently click different stop distances (e.g. .10c back, .20c back) to see what it is calculating. I assume that DAS is likely using the buying power for long for both calculations (since it doesn't know you're planning to go short when it loads the values), so you'd need to factor that into the hotkey, 0.33 should be the right number on the short side. **EDIT** I think I may have figured out how to go about this: Example Numbers: Equity: $25,000 Buying Power Long 4:1 - $100,000 : $25,000 Buying Power Short 3:1 - $75,000 : $25,000 Assuming $10 stock and that DAS is going to use the LONG number for both: BP = 100,000 / $10 = 10,000 "Shares" 10,000 * 0.25 [equity] = 2,500 [at account equity] BP * 0.75 = 75,000 / $10 = 7,500 "Shares" 7,500 Shares * 0.33 [equity] = 2,475 So try this: DefShare=BP*0.73; Share=DefShare*0.333333333333333* Price * 0.01; That opening DefShare=BP*0.73 is saying "Calculate using 73% of Buying Power [assuming it's using the LONG number]" (It's 75% minus 2% for a buffer for price fluctuations/spreads). Please let me know if you test it and if it works or not. If it does, I'll add it to the configuration and instructions.
- 588 replies
-
- 1
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
-------------------------------------------------------- Figured I'd post these here and not make a new thread. A lot of these icons were custom created by me, and a few were royalty-free. The PSD was done quickly, so it's not the easy thing to figure out - I included it, if anyone wants to create their own. If you can think of one that I'm missing, feel free to suggest it and maybe I'll create it. Also attached examples of how I have mine setup. Design wise, I tried to coordinate the colors for easy recognition. ICON PACK Download Here: https://mega.nz/#!798GnASY!dzl8p6cm8CgWPRh67A6-B5lVQv-Ru4cDF6cFqwUEl90 MAIN MENU: LONG FOLDER: SHORT FOLDER:
-
Here's a screenshot of how I do it. You'll notice I have the button mapped to: CTRL+ALT+PgDown (ignore the title of F1, I never changed it). In the Settings > Profiles > I have a "Day Trading" profile configured and Application set to "None." Also note that DAS doesn't appear to support certain key presses (F13 to F24). I also uploaded my DayTrading profile here if you want to see it: https://mega.nz/#!Wgl2mA6a!l8cCkSJnh1c7eD6bK6VM2yE5U_DgfAd-9uAs8qEuGvw You'd have to unzip the profile and import it.
-
Yes, that's the reason for the 0.98%. I'm sure if you set a really large stop price, you could effectively run out of buying power. And yes, that DAS calculation confused me at first because I didn't realize the BP function was converting to shares. I haven't tested it in Excel. It's probably messing up on SHEETS Validation functions as they may not be compatible with that of Excel's. Are these numbers set in DAS as well? With that in mind, if DAS does know the your buying power for long is different than short, then it should work. You can use either 0.33333333333 (<--- sheets defaults to 15 places) or 0.33 (33%) or 0.3 (30%). It won't make too big of a difference. I haven't thought of having mixed values for long / short. What you could do is either test it in SIM or use one of the test stock symbols, I believe TEST is one of them (it's a dummy symbol for testing things). Let me know what you find out and if it calculates correctly.
- 588 replies
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
Yeah, I'm not physically familiar with the device, from what I've read about it, it will flash a key-combination to the button (I believe each button can have an A and B mode). That is stored on the devices EEPROM (hardware memory) and then it sends that stored hot-key to the PC via the USB as that key. This way it can be used without driver software (moved to another PC). See the attached screenshot -- From the looks of it, you run the "Genovation MacroMasterCPxx (CP24)" software and then: 1) Select the key you want to program (#1 on the screen) 2) Select the level you want (since each key can have two operations stored), #2 in the image. 3) Select the key combination, in this example I selected SHIFT + CTRL + A (see #3 and #4) 4) Save the file. I'd imagine you have to flash this file some how, but I don't have the hardware. 5) The rest is done in DAS. I wouldn't use the F13-F24 keys as DAS doesn't appear to support them.
- 588 replies
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
Ha, I wouldn't go that far. I don't have experience with the Genovation, but a quick glance ( https://store.genovation.com/programmables/cp24-usbhid.html ) tells me it's writing the hotkey command to the hardware memory (so you don't need the driver once you config it). Have you installed the config software for it? Give me a little while to test it, I've made a few modifications. Right now it's literally just doing this type of operation (in AHK script language): IF Active Window = Das Trader Pro Send RAYLINE Command Left-Mouse Click Move Mouse 4px to the right Left-Mouse Click Double-Click Left Mouse Send ORDER Hotkey Command I use the RayLine because A) I never use it (so I can assign a RED color to it) and B) it allows you to get the longest line without moving them mouse a lot. The difference in order procedure is that you have to HOVER over where you want to place the stop as it does the double-click for you.
- 588 replies
-
- 2
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
Updated: 8/8/2019 @ 12:44pm (PST) Finally out of the alpha stage and releasing this to the community, I've been using it with success. Because I had to do some musical chairs with memory I made a configuration utility as the script itself is very ugly. This is more of a BETA release for this, so if anyone wants to try this out in SIM and let me know if you have any issues with the configuration sheet or the hotkeys themselves. It's based on the work started by @fjmocke here: https://forums.bearbulltraders.com/topic/469-das-calculate-shares-based-on-account-risk/ . What it is: It's a hotkey command script that can be used to dynamically alter the share total based on: Available Buying Power (capital) Stop Location (Risk) % Account Risk OR Fixed Dollar Amount The script includes purchase power protection and won't send an order that you can not afford, it does this by calculating two factors: A - Shares You Can Afford B - Shares at Risk Parameter (e.g. $25,000 account equity, 1% risk = $250 risk, $250 * a stop distance of .10 = 2500 shares) min{A,B} = 0.5(A + B - | A - B | ) But, why male models? I just told you. /Zoolander reference You'd use this to calculate your share total based on what you're willing to risk. So instead of blindly throwing 500 shares at every setup, you can dynamically alter risked amount based on the per-trade setup. I use it on my StreamDeck (will also release the icon packs soon) with modifiers of 100%, 75%, 50%, and 25%. 100% is the A-Plus setups I see, those I have HIGH confidence in. Alternatively, if a stock has a large spread or is low-float, I may only use the 25% modifier key for those. Instructions for Configuration: Go to this link: V2.1: DOWNLOAD ^^ Recommend latest DAS version of 5.4.3.0. Requires DAS version 5.2.0.34 or above (current BETA branch as of 11/19/2018) for the physical stop portion to work. If you don't use the physical stop, you don't have to worry about it. NOTE: Thoroughly test in SIM to make sure it's doing what you expect it to do. Choose: Download the ZIP file and unzip to where you want. On "Setup & Instructions" configure your settings. Account Leverage (default for DAS is 4), this is the margin your broker gives you. Some off-shores give 6. It needs to match what is configured in DAS for proper calculations. Max Account Risk %. This is the maximum percent of equity you're willing to risk on every trade (default is 1%). You can always risk lower (more on that later). % of Total Buying Power. If you don't want to calculate based on the total buying power of 100%, you can set this to a lower percentage (example: 100,000 buying power with 60% here equals $60,000 maximum position size) Route. LIMIT, MARKET, SMRTL. Default is LIMIT. Order Bid/Ask Offset. This is the offset you use when you send the price for order, e.g. "Ask + 0.05" (meaning fill me up to 5 cents above ask) Time in Force. Default: Day+ Default Shares. This is the amount of shares you want to set as the DEFAULT SHARES for all trades (e.g. when you click a Symbol and it loads, this is the share total). You can see why this is here in the technical breakdown section below. Minimum Stop Buffer. This is an offset to the stop distance. If you set this to 0.05, it'll add 5 cents to the stop distance calculation (so if your stop distance is 0.05, it'll be calculated on 0.10). Switch to the "Hotkeys" tab. Choose your preferred style. % Risk of Equity (Dynamic) or Fixed Price (e.g. $150 risk). %Equity Risk: Use the drop down to select what you want the value to be % equity. NOTE: This is a modifier AFTER your account risk maximum %. So if you have 1% account risk, and set this to 50%, your effective account risk is 0.005 --> 0.5%. $ Fixed: Use the drop down to select what you want the value to be for dollar risk. Select "long" or "short" to flip the script's direction. Click the cell that contains the start of the command (E column) and Ctrl + C (copy). Paste it into DAS. It should look like a sample command below. Instructions for Usage: First, you must have "Double Click to Trade" turned on in Chart, Right-Click --> Configure --> Settings --> Double-click to trade. Double click the chart where you want to set a mental stop (it does not place a stop order, you can always put one in after). Hit your configured hotkey. Sample Scripts: LONG: DefShare=BP*0.98; Share=DefShare*0.25* Price * 0.01; Price = Ask - Price + 0.02;SShare = Share / Price; Share = DefShare - SShare; DefShare = DefShare + SShare; SShare = Share; SShare = DefShare - SShare; Share = 0.5 * SShare; TogSShare; ROUTE =LIMIT; Price = Ask + 0.05; TIF=DAY+; BUY=Send; DefShare = 500; SHORT: DefShare=BP*0.98; Share=DefShare*0.25* Price * 0.01; Price = Price - Bid + 0.02;SShare = Share / Price; Share = DefShare - SShare; DefShare = DefShare + SShare; SShare = Share; SShare = DefShare - SShare; Share = 0.5 * SShare; TogSShare; ROUTE =LIMIT; Price = Bid - 0.05; TIF=DAY+; SELL=Send; DefShare = 500; Technical Breakdown: DAS has basic scripting. Montage commands have access to very few read/write variables, basic operations, and only operators of addition, subtraction, division, and multiplication. To do this calculation we need additional operators (min function, and absolute function) and more memory for storage of variables. This command gets around these limitations by using user-writeable areas of memory in the program. Since DAS is written in the C++ language (from what I can tell), it's strict on what can be done in these existing memory locations. The hotkey uses the following items (plus the usual Price -- FLOAT): (Assumptions on Datatypes) DefShare -- INT (Used as a temporary variable for storage) SShare -- Unsigned INT (Behaves like an Unsigned INT in certain situations. Used as a temporary variable for storage) Share -- INT (Used as a temporary variable for storage) With the 3 INT variables, objects are moved around in memory so that we can calculate and compare with our variable limitation (be much easier if we could assign our own). To facilitate the ABS() function, we use a trick --> When a negative value is placed into an Unsigned INT it loses it's sign (thus, it becomes a POSITIVE value in memory). A more detailed technical breakdown (step by step) is located in the Configuration spreadsheet up above. Future Enhancements: If need be, I can make a step-by-step video of this entire process. I have a version that uses an AutoHotKey macro to drop a line at the stop location, I can upload that as well if people want it. ^^ Update, I discontinued this as it was too cumbersome. You had to have two sets of hotkeys for each command. I may someday revisit it if I can build out a configuration tool for it. TLDR: It does the math for you so you can risk a known amount (% or $) based on your per-trade risk position (stop distance). And yes, I'm a bit of a tech nerd. Also, longest post .. ever. Would not read again, 0/5 stars. --- KNOWN ISSUES: %Account Risk gets smaller and smaller when subsequent open positions Reason: No Equity variable, we reverse calculate equity using Buying Power. On subsequent positions, the % (e.g. 1%) calculation will be based on the available buying power and NOT the account equity. Workaround: Precalculate the %risk and use it for the $risk versions. So 1% of $25,000 equity equals $250. SSR rejection on LONG position when scaling out; rejection message (e.g. "Short marketable limit order disable due to SSR!") if using the automatic STOP trigger. Reason: DAS calculates that the position will drop below the open stop order position and reject as this can cause the position to "flip" if it was triggered. Workaround: Have a hotkey to clear the open orders (CXL ALLSYMB), clear it, scale the position (e.g. 25%). Either replace the stop or switch to a mental stop. Alternatively, you can add "CXL ALLSYMB;" to the front of the scale-out hotkeys. You just have to be cognizant to replace the stop order. Equated position size if very small (e.g. 4 or 5 shares when expected is hundreds). Reason: Wrong side was used for the order. E.g. a long hotkey is used when trying to go short. -or- Stop Distance was calculated to be a negative value (clicked too close to current price). Workaround: Be cognizant of the hotkeys used and the stop distance clicked. Clicking too close (a really tight stop) can be very dangerous if you do it inadvertently. TriggerOrder for automatic STOP placement not being sent (no stop order placed). Reason: Montage is not set to a style that doesn't allow TriggerOrder input. Styles not compatible are: Default [DAS's, if you changed it], Basic, OCO, Option, Full Fix: Use a style that is compatible, they are: Stop Order, Detail, Trigger -- I recommended using the "Stop Order" montage style. To change this, right click the montage area around where you'd enter a price and select Style --> Your Choice. --- UPDATES: 10/17/2018 - Added v.1.1 link, you'd need to use the new version to change anything. - General cleanup of the script. Added instructions for the IB issue (discussed in this thread) - NEW FEATURE: Added a new section to the Hotkeys sheet, it will now create a set up for Dynamic Scale-In hotkey commands. You'd use these by setting a scale value (say you want an additional 50% of your current position size). The hotkey will calculate the maximum share you can afford (how much you can afford at the moment) and the scale value, choosing to take the least amount. So if your current position is 1500 shares (@ $50.00) and you want to scale in at 50% your current position, it'd check if you can afford an additional 750 shares, if you can't, it'll buy the maximum you can afford. For this example, you can't afford it (if Buying Power is 100k), so it'd buy roughly $25k worth (500 shares). - CLEANUP: Cleaned up the $Dollar Risk version and removed unnecessary steps. Don't really need to replace yours if they exist, but worth noting. 10/30/2018 - Added @Michael P's suggested fixes for Excel. Configuration tool should now work in both Sheets and Excel. - NOTICE: This was a configuration tool change, no changes were made to the hotkey scripts, so no need to change any existing hotkeys. 11/19/2018 - Shortened some of the commands so we don't hit any hotkey character limit, makes them less readable, but shorter. Couldn't get them low enough to fit the montage buttons though (although removing the portions for the buying power rejection protection would likely do it). - Added a section for SELL/COVER buttons for people who just need to create those. E.g. "Sell 25% position" or "Sell 33% position". - Added @Robert H's stop suggestion. New fields on the setup page for enabling physical stops. If enabled, it'll place a MARKET or LIMIT (settings included) trigger order to go into the market once the initial order is fulfilled, these are placed at the location you double-clicked on the chart. 11/20/2018 - Added a stop-order setting to set an additional buffer for the stop price (for those that want to include or exclude the double-clicked price). - Added conditional formatting to subdue the stop settings that aren't required if you disable sending a physical stop into the market. 12/10/2018 - Added a known issues section to this post and the spreadsheet (for when a new version goes up). 12/12/2018 - Updated known issues section to include the "Montage Style" issue for TriggerOrders. 12/13/2018 - Updated to new version 1.46. Fixed a bug in the Trigger Order script which could cause it to not be interpreted by DAS's command parser on certain user settings. - Added "modifier" extra hotkeys. See instructions next to these on how to use them. - - - Set Stop to Breakeven - Long or Short - Stop Limit or Stop Market (cancels any pending orders for SYMB) - - - Set Stop to Breakeven - Bidirectional - Stop Market (cancels any pending orders for SYMB) - - - Stop - Update Price - Long or Short - Stop Limit or Stop Market (cancels pending orders, double click chart where you want stop before firing hotkey) - - - Stop - Update Price - Bidirectional - Stop Market (cancels pending orders, double click chart where you want stop before firing hotkey) - - - Stop - Update Position - Long or Short - Stop Limit or Stop Market - Replace (requires you double-click the original stop in the Orders window) - - - Stop - Update Position - Bidirectional - Stop Market Orders Only - Replace (requires you double-click the original stop in the Orders window). 8/8/2019 - New version 2.0, download the .zip file and unzip it. - Fixed an issue with some hotkey configurations that may have caused them to be inaccurate in vary rare situations. Recommend recreating your hotkeys in this new version, just to be sure. - Added Profit Target hotkeys. - Added % Scale-In Hotkeys - Added $ Risk Scale-In Hotkeys - Added Short-SSR to Long/Short dropdown for SSR hotkeys (DAS Simulator) - Added Range Order hotkeys - Added Y-Margin Scale Increase hotkey, Y-Margin Decrease, and Y-Margin Reset - Added new sheet "Example - Equity%" and "Example - $Risk" to give a more workflow outlook on what is happening. - Included a ScaleOut worksheet to manually simulate what different scale percentages / scenarios look like (instructions will be in the video). ALSO: Video is done and rendering, I think it comes in at 45minutes with 3.4gigs (4k), so it'll need to be optimized before I upload it to YouTube. Will try to do it today and will update this when done. 9/10/2019 - New version 2.1 released. Just general clean up (UI) and bug fixes. - FIXED: Issue with the Scale-In $Risk hotkeys. - FIXED: Issue with the Stop Update Price long and short hotkeys> ^^ If you use either of those, please regenerate them and replace in your DAS to avoid issues. UPDATES: The majority of this side project is completed and besides a few requests I have in with DAS developers to optimize a few things, out of any major bugs or improved scripting features, I'd say this is about done. I'll provide any edge-case support as need, but I want to move on to other BBT-community projects. So what do I have cookin' for you guys, gals, and cat? You'll see a glimpse in the video of an early prototype (buggy! I programmed that in a few hours, so bugs are expected) of a DAS calculator side program. The newer version (need to finish the UI) will incorporate a lot more in ways of tools for you, including automatically calculating changes without a hotkey intervention. It also allows you to mass-process trade log .csv files you may have exported and compile it into Excel or .CSV for import into other programs. Configuration is drag/drop friendly, so rearranging your columns is as easy as click and holding. I'm also going to shift my attention to finishing my ORB-strategy research. Right now, my datapool encompasses 15000 news article, gaplists for 2011-2019, and 1second data for stocks in that range. It's a data store of roughly 80 gigs. The idea is to test for hidden signals we may not see that can indicate a potential direction of an ORB strategy (if no rare outside influence occurs, like a terrorist attack) by leveraging a consortium of machine learning algorithms to give us a higher probability of success for each day. Depending how the research works out, the end product would likely be a probability predictor for each day. I'll share the research results with the community and may incorporate some other tests as well. VIDEO: Ok, so I may have gone down an editing rabbit hole and that took longer than expected. The videos are up, came in quite long so I chunked it down. Sorry it's a tad scattered and not one-linear cohesive unit, but I tried to mark it up as best as possible. Part 1 - Config / Math - https://youtu.be/YrRrydwGyRY Part 2 - Setup, Quick Examples, Tips - https://youtu.be/pXLlWF7T6hw Part 3 - Sim Trade Example - https://youtu.be/SO9UhJh4dTc Bonus 1 - Scale/Price Excel Calc - https://youtu.be/KTr_iJ2p0TU Bonus Tips - https://youtu.be/sNHXFMoia7A
- 588 replies
-
- 59
-
- scripts
- risk management
-
(and 3 more)
Tagged with:
-
DAS Trader Pro - update available
KyleK29 replied to Lee W's topic in DAS Trader Pro Tips and Tricks
What I also do (besides that) is to right click the DAS folder (with it closed) --> Send to ZIP. That way you have a very quick way to restore if the new version doesn't work correctly. From what I can tell, DAS doesn't use the registry or any temp folders on the OS, so it's all self contained to that directory. -
Automating stop loss based on account percentage
KyleK29 replied to Anthony1231's topic in Risk, Account & Money Management
For being able to remove the STOP automatically, you can add this to the end of your SELL ALL (or COVER ALL) hotkeys: ; CXL ALLSYMB; --> That clears any open orders for the selected symbol. I use it on all of mine because there were times where I forgot I set price-orders and exited the position. Example for my SELL ALL (Long) Hotkey: ;Share=Pos;Price=Bid-.05;TIF=DAY+;SELL=Send;CXL ALLSYMB DAS's scripting is very very limited. You *can* make a hotkey that would send a STOP order at 2% account value, but it's complex. The 2% account value (some have it as 1%, which is what I think Andrew has in the books) is setup dependent. It should be calculated on your stop distance, which changes with every setup (might be .10 back or .30 back). Fjmocke has a hotkey here: If you see my comments at the bottom, there's a version that uses account risk % (original version uses a $dollar amount). I'm working on a new version that will include the Buying Power offset (e.g. if calculated shares is > than buying power available, use lower value). The commands for are very eye-gouging because of DAS's lack of scripting, so I'm also building a tool for the community to set up their hotkeys via a GUI. I hope to have those out shortly and I'll post back here to let you know. -
How to Quickly Add Rows to Watchlist (Market Viewer)
KyleK29 replied to Robert H's topic in DAS Trader Pro Tips and Tricks
I could not get it to work in DAS version 0.33. I think they may have "fixed" it. -
DAS Trader Pro - update available
KyleK29 replied to Lee W's topic in DAS Trader Pro Tips and Tricks
Been using the new .33 all this week. So far, no issues with the hand. I do still have the jumping global lines, but I'm not sure if that was addressed in this release. I'm awaiting the next BETA as it apparently has a new hotkey I want (Rectangle), not sure when it'll release. One thing I've noticed with this software is it's kinda hard to know if something is a BUG or just an implementation issue (incomplete). I've found a lot of stuff in the different studies that seems to be off, but a lot of it seems like they just never finished putting it in. I've been slowly trickling the bug reports in. -
DAS - Calculate Shares based on account risk %
KyleK29 replied to fjmocke's topic in DAS Trader Pro Tips and Tricks
Slight tweak to the prior command (I edited it into the post above this), moved TogSShare to before the ROUTE/SEND commands. Reading up on this box, I guess it's for sending a different share quantity than what your actual order quantity is (only certain exchanges support it). Figured it's best to clear it before we send to the exchange. Some people up above mentioned they'd like it to drop a line to where your "stop" is. I believe I can whip this up with a side program to execute the macro, I'll post if I do so. -
DAS - Calculate Shares based on account risk %
KyleK29 replied to fjmocke's topic in DAS Trader Pro Tips and Tricks
Re: Over Buying Power Not fully tested so USE ONLY IN SIM for the time being, but this might work. Note that we have to do some tomfoolery since DAS doesn't allow actual math on a lot of things, so the roundabout way of doing this is to get around the limitations. I'll explain what's going on down below. This should load in the shares based on an equation of 1% of your account value. In DAS Simulator, Buying Power is 4 * account balance, so by default that's 25,000 * 4 = $100,000. If you wanted to risk 1% of account value as Andrew says (as the maximum, you may chose .5%), that'd be $250 dollars risked. Buy: SShare = BP * 0.25 * 0.01 * Price; Price = Ask-Price + 0.01; Share = SShare / Price; TogSShare; ROUTE=SMRTL;Price=Ask+0.10;TIF=DAY+; BUY=Send; SShare = BP * [reversing the leverage given, so 4:1 is a decimal of 0.25 = 25% of buying power] * [decimal of your risk percentage, 0.01 = 1%] * Price; Price = Ask-Price + [this is an offset in the initial equation]; Share = SShare / Price; TogSShare; ROUTE=SMRTL;Price=Ask+ [this is the fill-zone you use to make sure you get filled, Andrew uses 0.05 I believe] ;TIF=DAY+; BUY=Send; Sell: SShare = BP * 0.25 * 0.01 * Price; Price = Price-Bid + 0.01; Share = SShare / Price; TogSShare; ROUTE=SMRTL;Price=Bid-0.10;TIF=DAY+; SELL=Send; So what's happening (I'll use the Buy example, but applicable to both): 1) SShare = BP * 0.25 * 0.01 * Price; ---> This is setting a "Share Display" box to equal the BP * 0.25 * 0.01 * Price. It's worth noting that using the BP function (buying power) in DAS is actually divided by symbol price (so BP * 0.25 = $100,000 * 0.25 = $25,000 / PRICE). The 0.01 in this equation is the decimal for 1%. If you wanted to risk 2% of your account value, it'd be 0.02. BP = 100,000 / PRICE --> If Stock Price = $10, this would be 10,000 --> 10,000 * 0.25 = 2,500 --> 2,500 * 0.01 [1% risk] = 25 --> 25 * PRICE [$10 for example] = $250 --> $250 is the amount we're willing to risk on this trade. Side Notes: A) If you're wanting to do 1% of BUYING POWER, I'd recommend setting the "decimal of account equity" (0.25 up above) to 0.90, as this gives you a math cushion to not get rejected for lack of buying power. B) If you want to do a fixed dollar amount, you may need to play around with the ratios a tad. Setting SShare to a fixed price will result in the same issue of not having enough buying power in certain scenarios. 2) Price = Ask-Price + 0.01; --> Untouched from the original. It's essentially the Level 1 ASK Price minus the chart-clicked PRICE + 0.01 (offset value). For this example, let's assume we wanted the stock price on ASK was $10.00 and we clicked the chart at $9.95 --> Stop Distance = $0.05 3) Share = SShare / Price; --> Instead of the assigning the default 125 / Price (for $125 / Price), we use our stored value of $250 so it becomes $250 / Price. For the $10 example, this would be 250 / stop distance of $0.05 = 5000 shares 4) TogSShare; --> This toggles the "Share Display" box that we used to store our temporary value to off, releasing the variable. 5) ROUTE=SMRTL;Price=Ask+0.10;TIF=DAY+; BUY=Send; --> Unchanged from the original. Some Gotchas: We have to pass from float to int values in memory a few times [DAS wants INT for the display box], this will "lop off" anything after the decimal. e.g. 5.85 becomes 5. So it might not be mathematically exact, but close enough for our purposes. -
For the DAS Simulator you usually have to put a $ after the symbol. It's hit or miss though. These are the ones that I've found active: SPY SPDR S&P 500 SPX$ S&P 500 OEX$ S&P 100 RUA$ RUSSELL 3000 RUT$ RUSSELL 2000 RUI$ RUSSELL 1000 UTY$ PHLX Utility Sector SOX$ PHLX Semiconductor OSX$ PHLX Oil Service Sector HGX$ PHLX Housing Sector XAU$ PHLX Gold/Silver Sector TRIN$ NYSE TRIN NYA$ NYSE COMPOSITE NDX$ NASDAQ-100 TRAN$ NASDAQ Transportation IXTC$ NASDAQ Telecommunications OFIN$ NASDAQ Other Finance QNET$ NASDAQ Internet INSR$ NASDAQ Insurance INDS$ NASDAQ Industrial IXHC$ NASDAQ Health Care IXF$ NASDAQ Financial 100 IXCO$ NASDAQ Computer COMP$ NASDAQ Composite NBI$ NASDAQ Biotechnology BANK$ NASDAQ Bank BKX$ KBW BANK SECTOR INDU$ DOW JONES 30 INDUSTRIALS
-
Show us your set-up!
KyleK29 replied to Jason H.'s topic in Day Trading Hardware, Software and Tools
We have similar setups with the large monitor. How do you like it? I've seriously considered switching to a multi-monitor setup. I find I don't want the 3 charts to the side at all (like I planned). It's easier/more natural for me to turn my head to look at another monitor. Not so much a setup, but I remember I snapped this in the chat a week or so back. Also, for those thinking of getting a standing desk. Costco in the states has stock of a decent one for $300 (glass top, embedded USB, electronic, preset levels). -
DAS Trader Pro - update available
KyleK29 replied to Lee W's topic in DAS Trader Pro Tips and Tricks
For those with the hand cursor issue on .31, I had that pop up on me today. Not sure if it was related to your issues, but I fixed it by going to: Chart Window > Right-Click > Toolbar ---> Toggle the Mouse Pointer icon off/on and then the Crosshair icon off/on. It went away for me after that. -
Hi, I'm Kyle .. KyleK29 in the chat. Almost 34 years young. Here's a brief overview of my journey so far .. At age 13, I started on an entrepreneurial path doing Web Design work while living in Silicon Valley - my first "company" I guess. That work eventually led to some decent full time positions, a move to Las Vegas, and continued personal growth until I took a jump of faith and left it all for a tech start-up. That didn't last long (they rarely do) and I went back to school, juggled college hockey, work, and school to earn my degree in Sports Medicine / Entrepreneurship. While there, I dabbled in a crypto-mining operation before a professor I was helping at a startup competition convinced me to enter another project (A.I. related) of mine - one thing led to another, I won a few regional's, finished as a semi-finalist at nationals, and made a push for the tech start-up dream - a free cereal bar, and nap pods! A few radio interviews, newspaper articles, and VC pitches later, we lost momentum and sit in limbo [no one said this would be easy]. So not one to sit still (it's a problem), a programming side project related to trading led me to pickup a book I bought years prior - Harvey Walsh, Day Trade for Profit - not a bad book, but it rekindled something I've always wanted to learn. I read a few other books (including Andrew's), and tried a few other places before landing on BBT. It proved a much better fit for me and I quickly jumped at the lifetime membership. With that in mind, you'll likely find me helpful, if not a little optimistic at times. I don't believe that the journey in life is set in stone, it just takes a constant stretching of your comfort zone (rhyming unintentional) and a willingness to accept mistakes as excellent opportunities to learn.
-
My last simulator platform was easy, click, set, and forget as far as stops go. All done right on the chart (right click or hotkey). But you would get the stop out on those random outlier prices that sweep the stops. When I switched to DAS, I decided to practice the mental stop. What I'm finding helps is that I'll place a horizontal line where I want my stop to be. If the price hits that line, I close out, no questions. I give a decent slight delay to make sure it's not just a random excursion to a really low price. The only *actual* stop I place into the market is when I move to breakeven (e.g. I've taken profit on a target). So far, having that line as a mental trigger has worked.
-
For those still on the fence, they're $139.99 on Amazon right now and I've seen a few warehouse returns pop up. Bought a returned unit for $119, seems to have just been a packaging reject.