Jump to content


Lifetime Members
  • Content Count

  • Joined

  • Last visited

  • Days Won


KyleK29 last won the day on October 18

KyleK29 had the most liked content!

Community Reputation

16 Good

1 Follower

About KyleK29

  • Birthday September 30

Personal Information

  • Location
    Las Vegas, Nevada, 89139, United States

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. 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.
  2. 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).
  3. KyleK29

    Help! Losers way bigger than Winners!

    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).
  4. 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
  5. 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.
  6. 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.
  7. -------------------------------------------------------- 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:
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. Updated: 10/17/2018 @ 12:25pm (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: https://docs.google.com/spreadsheets/d/16sNEsbymp6Ks2QIM9vCTvTjTPPOOFOOQGADK6oRoRHE/edit?usp=copy Choose: "Make a copy" when prompted. If you don't have a Google account, I can always upload a copy as well. 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): DefShare -- INT (Used as a temporary variable for storage) SShare -- Unsigned INT (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 of C++ --> 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. 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. --- 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.
  13. 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.
  14. 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.
  15. I could not get it to work in DAS version 0.33. I think they may have "fixed" it.

Important Information

By using this site, you agree to our Terms of Use, Privacy Policy and use of We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..