Initial commit
This commit is contained in:
810
skills/trading-plan-generator/scripts/generate_plan.sh
Executable file
810
skills/trading-plan-generator/scripts/generate_plan.sh
Executable file
@@ -0,0 +1,810 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Trading Plan Generation Script
|
||||
# Interactive workflow for creating comprehensive trading plans
|
||||
|
||||
set -e
|
||||
|
||||
# Colors
|
||||
GREEN='\033[0;32m'
|
||||
BLUE='\033[0;34m'
|
||||
YELLOW='\033[1;33m'
|
||||
RED='\033[0;31m'
|
||||
MAGENTA='\033[0;35m'
|
||||
CYAN='\033[0;36m'
|
||||
NC='\033[0m'
|
||||
|
||||
# Header
|
||||
echo -e "${BLUE}╔══════════════════════════════════════════════════╗${NC}"
|
||||
echo -e "${BLUE}║ Trading Plan Generator ║${NC}"
|
||||
echo -e "${BLUE}╚══════════════════════════════════════════════════╝${NC}"
|
||||
echo ""
|
||||
echo -e "${YELLOW}⚠️ IMPORTANT: This generates a framework, not financial advice${NC}"
|
||||
echo -e "${YELLOW} Trading involves substantial risk of loss${NC}"
|
||||
echo ""
|
||||
|
||||
# Helper function for prompts
|
||||
prompt_input() {
|
||||
local prompt_text="$1"
|
||||
local var_name="$2"
|
||||
local required="$3"
|
||||
|
||||
while true; do
|
||||
echo -e "${CYAN}${prompt_text}${NC}"
|
||||
read -r input
|
||||
|
||||
if [ -n "$input" ]; then
|
||||
eval "$var_name=\"$input\""
|
||||
break
|
||||
elif [ "$required" != "true" ]; then
|
||||
eval "$var_name=\"\""
|
||||
break
|
||||
else
|
||||
echo -e "${RED}This field is required.${NC}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Step 1: Trading Style and Goals
|
||||
echo -e "${MAGENTA}━━━ Step 1: Trading Style & Goals ━━━${NC}"
|
||||
echo ""
|
||||
|
||||
echo "Select your primary trading style:"
|
||||
echo "1) Day Trading (close all positions same day)"
|
||||
echo "2) Swing Trading (hold 2-10 days)"
|
||||
echo "3) Position Trading (hold weeks to months)"
|
||||
echo "4) Options Trading (directional or income)"
|
||||
echo "5) Mix of styles"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-5):" STYLE_NUM true
|
||||
|
||||
case $STYLE_NUM in
|
||||
1) TRADING_STYLE="Day Trading" ;;
|
||||
2) TRADING_STYLE="Swing Trading" ;;
|
||||
3) TRADING_STYLE="Position Trading" ;;
|
||||
4) TRADING_STYLE="Options Trading" ;;
|
||||
5) TRADING_STYLE="Mixed Approach" ;;
|
||||
*) TRADING_STYLE="Swing Trading" ;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
prompt_input "Account size (USD):" ACCOUNT_SIZE true
|
||||
prompt_input "Monthly return target (%):" MONTHLY_TARGET false
|
||||
prompt_input "Time commitment (hours/day):" TIME_COMMIT false
|
||||
|
||||
# Step 2: Risk Management (CRITICAL)
|
||||
echo ""
|
||||
echo -e "${MAGENTA}━━━ Step 2: Risk Management (MOST IMPORTANT) ━━━${NC}"
|
||||
echo ""
|
||||
|
||||
echo "Risk per trade (% of account):"
|
||||
echo "1) 0.5% (Very Conservative)"
|
||||
echo "2) 1.0% (Recommended for most)"
|
||||
echo "3) 2.0% (Aggressive)"
|
||||
echo "4) Custom"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-4):" RISK_NUM true
|
||||
|
||||
case $RISK_NUM in
|
||||
1) RISK_PER_TRADE="0.5" ;;
|
||||
2) RISK_PER_TRADE="1.0" ;;
|
||||
3) RISK_PER_TRADE="2.0" ;;
|
||||
4) prompt_input "Enter custom risk % (e.g., 1.5):" RISK_PER_TRADE true ;;
|
||||
*) RISK_PER_TRADE="1.0" ;;
|
||||
esac
|
||||
|
||||
# Calculate dollar risk
|
||||
DOLLAR_RISK=$(echo "scale=2; $ACCOUNT_SIZE * $RISK_PER_TRADE / 100" | bc)
|
||||
|
||||
echo ""
|
||||
echo -e "${GREEN}✓ Risk per trade: ${RISK_PER_TRADE}% = \$${DOLLAR_RISK}${NC}"
|
||||
echo ""
|
||||
|
||||
prompt_input "Daily loss limit (% of account):" DAILY_LOSS_LIMIT true
|
||||
prompt_input "Maximum drawdown before break (% of account):" MAX_DRAWDOWN true
|
||||
|
||||
echo ""
|
||||
echo "Minimum Risk:Reward ratio:"
|
||||
echo "1) 2:1 (Conservative)"
|
||||
echo "2) 3:1 (Recommended)"
|
||||
echo "3) 1.5:1 (Aggressive)"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-3):" RR_NUM true
|
||||
|
||||
case $RR_NUM in
|
||||
1) MIN_RR="2:1" ;;
|
||||
2) MIN_RR="3:1" ;;
|
||||
3) MIN_RR="1.5:1" ;;
|
||||
*) MIN_RR="2:1" ;;
|
||||
esac
|
||||
|
||||
# Step 3: Markets and Instruments
|
||||
echo ""
|
||||
echo -e "${MAGENTA}━━━ Step 3: Markets & Instruments ━━━${NC}"
|
||||
echo ""
|
||||
|
||||
echo "Primary market:"
|
||||
echo "1) US Stocks"
|
||||
echo "2) Options"
|
||||
echo "3) Forex"
|
||||
echo "4) Crypto"
|
||||
echo "5) Futures"
|
||||
echo "6) Multiple"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-6):" MARKET_NUM true
|
||||
|
||||
case $MARKET_NUM in
|
||||
1) PRIMARY_MARKET="US Stocks" ;;
|
||||
2) PRIMARY_MARKET="Options" ;;
|
||||
3) PRIMARY_MARKET="Forex" ;;
|
||||
4) PRIMARY_MARKET="Crypto" ;;
|
||||
5) PRIMARY_MARKET="Futures" ;;
|
||||
6) PRIMARY_MARKET="Multiple markets" ;;
|
||||
*) PRIMARY_MARKET="US Stocks" ;;
|
||||
esac
|
||||
|
||||
prompt_input "Sector focus (or 'Any'):" SECTOR_FOCUS false
|
||||
prompt_input "Minimum liquidity (avg daily volume):" MIN_LIQUIDITY false
|
||||
prompt_input "Price range preference (e.g., \$20-200):" PRICE_RANGE false
|
||||
|
||||
# Step 4: Entry Strategy
|
||||
echo ""
|
||||
echo -e "${MAGENTA}━━━ Step 4: Entry Strategy ━━━${NC}"
|
||||
echo ""
|
||||
|
||||
echo "Primary setup type:"
|
||||
echo "1) Breakouts"
|
||||
echo "2) Pullbacks/Retracements"
|
||||
echo "3) Reversals"
|
||||
echo "4) Pattern completion"
|
||||
echo "5) Multiple setups"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-5):" SETUP_NUM false
|
||||
|
||||
case $SETUP_NUM in
|
||||
1) SETUP_TYPE="Breakouts" ;;
|
||||
2) SETUP_TYPE="Pullbacks/Retracements" ;;
|
||||
3) SETUP_TYPE="Reversals" ;;
|
||||
4) SETUP_TYPE="Pattern completion" ;;
|
||||
5) SETUP_TYPE="Multiple setup types" ;;
|
||||
*) SETUP_TYPE="TBD" ;;
|
||||
esac
|
||||
|
||||
prompt_input "Primary timeframe for analysis:" TIMEFRAME false
|
||||
prompt_input "Required confirmation signals:" CONFIRMATIONS false
|
||||
prompt_input "Entry order type (Market/Limit):" ORDER_TYPE false
|
||||
|
||||
# Step 5: Exit Strategy
|
||||
echo ""
|
||||
echo -e "${MAGENTA}━━━ Step 5: Exit Strategy ━━━${NC}"
|
||||
echo ""
|
||||
|
||||
echo "Stop-loss method:"
|
||||
echo "1) Fixed percentage (e.g., 2% below entry)"
|
||||
echo "2) Technical level (support/resistance)"
|
||||
echo "3) ATR-based (1.5x-2x ATR)"
|
||||
echo "4) Combination"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-4):" STOP_NUM true
|
||||
|
||||
case $STOP_NUM in
|
||||
1) STOP_METHOD="Fixed percentage" ;;
|
||||
2) STOP_METHOD="Technical level" ;;
|
||||
3) STOP_METHOD="ATR-based" ;;
|
||||
4) STOP_METHOD="Combination approach" ;;
|
||||
*) STOP_METHOD="Fixed percentage" ;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
echo "Take-profit strategy:"
|
||||
echo "1) Fixed R multiple (e.g., 2R, 3R)"
|
||||
echo "2) Technical target"
|
||||
echo "3) Trailing stop"
|
||||
echo "4) Partial profits (scale out)"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-4):" TP_NUM false
|
||||
|
||||
case $TP_NUM in
|
||||
1) TP_STRATEGY="Fixed R multiple" ;;
|
||||
2) TP_STRATEGY="Technical target" ;;
|
||||
3) TP_STRATEGY="Trailing stop" ;;
|
||||
4) TP_STRATEGY="Partial profits" ;;
|
||||
*) TP_STRATEGY="Fixed R multiple" ;;
|
||||
esac
|
||||
|
||||
prompt_input "Do you allow position scaling in/out? (Yes/No):" SCALING false
|
||||
|
||||
# Step 6: Psychology and Discipline
|
||||
echo ""
|
||||
echo -e "${MAGENTA}━━━ Step 6: Psychology & Discipline ━━━${NC}"
|
||||
echo ""
|
||||
|
||||
prompt_input "Pre-market routine duration (minutes):" ROUTINE_TIME false
|
||||
prompt_input "Maximum trades per day:" MAX_TRADES_DAY false
|
||||
prompt_input "Cool-down period after loss (minutes/hours):" COOLDOWN false
|
||||
|
||||
echo ""
|
||||
echo "Conditions when you MUST NOT trade:"
|
||||
echo "(e.g., 'After 2 losses in a row', 'When tired', 'Before major news')"
|
||||
echo ""
|
||||
prompt_input "No-trade condition 1:" NO_TRADE_1 false
|
||||
prompt_input "No-trade condition 2:" NO_TRADE_2 false
|
||||
prompt_input "No-trade condition 3:" NO_TRADE_3 false
|
||||
|
||||
# Step 7: Performance Tracking
|
||||
echo ""
|
||||
echo -e "${MAGENTA}━━━ Step 7: Performance Tracking ━━━${NC}"
|
||||
echo ""
|
||||
|
||||
echo "Trade journal method:"
|
||||
echo "1) Spreadsheet"
|
||||
echo "2) Trading platform"
|
||||
echo "3) Dedicated software"
|
||||
echo "4) Paper notebook"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-4):" JOURNAL_NUM false
|
||||
|
||||
case $JOURNAL_NUM in
|
||||
1) JOURNAL_METHOD="Spreadsheet" ;;
|
||||
2) JOURNAL_METHOD="Trading platform" ;;
|
||||
3) JOURNAL_METHOD="Dedicated software (e.g., Edgewonk)" ;;
|
||||
4) JOURNAL_METHOD="Paper notebook" ;;
|
||||
*) JOURNAL_METHOD="Spreadsheet" ;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
echo "Review frequency:"
|
||||
echo "1) Daily only"
|
||||
echo "2) Daily + Weekly"
|
||||
echo "3) Daily + Weekly + Monthly"
|
||||
echo ""
|
||||
|
||||
prompt_input "Enter number (1-3):" REVIEW_NUM false
|
||||
|
||||
case $REVIEW_NUM in
|
||||
1) REVIEW_FREQ="Daily" ;;
|
||||
2) REVIEW_FREQ="Daily and Weekly" ;;
|
||||
3) REVIEW_FREQ="Daily, Weekly, and Monthly" ;;
|
||||
*) REVIEW_FREQ="Daily and Weekly" ;;
|
||||
esac
|
||||
|
||||
# Generate filename
|
||||
FILENAME="trading_plan_$(date +%Y%m%d).md"
|
||||
|
||||
# Output directory
|
||||
OUTPUT_DIR="."
|
||||
if [ ! -z "$1" ]; then
|
||||
OUTPUT_DIR="$1"
|
||||
fi
|
||||
|
||||
OUTPUT_FILE="$OUTPUT_DIR/$FILENAME"
|
||||
|
||||
# Generate the plan
|
||||
echo ""
|
||||
echo -e "${BLUE}Generating your trading plan...${NC}"
|
||||
echo ""
|
||||
|
||||
cat > "$OUTPUT_FILE" << EOF
|
||||
# Trading Plan
|
||||
|
||||
**Created:** $(date +%Y-%m-%d)
|
||||
**Account Size:** \$${ACCOUNT_SIZE}
|
||||
**Trading Style:** ${TRADING_STYLE}
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ CRITICAL DISCLAIMER
|
||||
|
||||
This trading plan is a personal framework for managing trading decisions. It does NOT constitute financial advice. Trading involves substantial risk of loss. Only trade with capital you can afford to lose.
|
||||
|
||||
---
|
||||
|
||||
## 1. Trading Goals & Philosophy
|
||||
|
||||
### Financial Goals
|
||||
- **Account Size:** \$${ACCOUNT_SIZE}
|
||||
- **Monthly Target:** ${MONTHLY_TARGET:-TBD}%
|
||||
- **Focus:** Consistent execution over returns
|
||||
|
||||
### Time Commitment
|
||||
- **Daily Time:** ${TIME_COMMIT:-TBD} hours
|
||||
- **Trading Style:** ${TRADING_STYLE}
|
||||
- **Market Hours:** [Specify your trading hours]
|
||||
|
||||
### Trading Philosophy
|
||||
[Write your personal trading philosophy - what you believe about markets, why you trade this way, your edge]
|
||||
|
||||
**Example:**
|
||||
"I believe markets trend, and I have an edge in identifying early-stage trends with technical analysis. My success comes from discipline, not prediction. I focus on process over profits."
|
||||
|
||||
---
|
||||
|
||||
## 2. Risk Management (MOST IMPORTANT)
|
||||
|
||||
### Position Sizing Rules
|
||||
|
||||
**Risk Per Trade: ${RISK_PER_TRADE}%**
|
||||
- Maximum risk per position: \$${DOLLAR_RISK}
|
||||
- NEVER exceed this amount on a single trade
|
||||
- Calculate position size BEFORE entering
|
||||
|
||||
**Position Size Formula:**
|
||||
\`\`\`
|
||||
Shares = Risk Amount / (Entry Price - Stop Price)
|
||||
= \$${DOLLAR_RISK} / (Entry - Stop)
|
||||
\`\`\`
|
||||
|
||||
**Example:**
|
||||
- Entry: \$100
|
||||
- Stop: \$98
|
||||
- Risk per share: \$2
|
||||
- Position: \$${DOLLAR_RISK} / \$2 = $(echo "scale=0; $DOLLAR_RISK / 2" | bc) shares
|
||||
|
||||
### Daily Loss Limit
|
||||
|
||||
**HARD STOP at -${DAILY_LOSS_LIMIT}% daily loss**
|
||||
|
||||
- Maximum daily loss: \$$(echo "scale=2; $ACCOUNT_SIZE * $DAILY_LOSS_LIMIT / 100" | bc)
|
||||
- When hit: STOP TRADING immediately
|
||||
- Close all positions
|
||||
- Step away from computer
|
||||
- Review what went wrong
|
||||
- Resume next day with clear head
|
||||
|
||||
**No exceptions. This rule protects your account.**
|
||||
|
||||
### Maximum Drawdown
|
||||
|
||||
**Break from trading at -${MAX_DRAWDOWN}% drawdown**
|
||||
|
||||
- Stop trading if account drops ${MAX_DRAWDOWN}% from peak
|
||||
- Take minimum 1 week break
|
||||
- Paper trade only
|
||||
- Review all trades
|
||||
- Identify systematic issues
|
||||
- Resume only when mentally ready
|
||||
|
||||
### Risk:Reward Requirements
|
||||
|
||||
**Minimum R:R: ${MIN_RR}**
|
||||
|
||||
- Only take trades with ${MIN_RR} or better
|
||||
- Measure before entry
|
||||
- If R:R doesn't meet minimum → skip trade
|
||||
- Quality over quantity
|
||||
|
||||
### Stop-Loss Rules
|
||||
|
||||
**EVERY trade MUST have a stop-loss**
|
||||
|
||||
- **Method:** ${STOP_METHOD}
|
||||
- Set stop BEFORE entry
|
||||
- Enter stop order immediately after fill
|
||||
- NEVER move stop further from entry
|
||||
- Accept the loss if stopped out
|
||||
|
||||
### Position Concentration
|
||||
|
||||
**Maximum positions:**
|
||||
- Day trading: [Specify max concurrent positions]
|
||||
- Swing trading: [Specify max concurrent positions]
|
||||
- Maximum sector exposure: [e.g., 30% in any one sector]
|
||||
|
||||
---
|
||||
|
||||
## 3. Markets & Instruments
|
||||
|
||||
### Primary Market
|
||||
**${PRIMARY_MARKET}**
|
||||
|
||||
### Specific Criteria
|
||||
- **Sector Focus:** ${SECTOR_FOCUS:-Any sector}
|
||||
- **Minimum Liquidity:** ${MIN_LIQUIDITY:-1M+ shares daily volume}
|
||||
- **Price Range:** ${PRICE_RANGE:-\$20-500}
|
||||
- **Market Cap:** [Specify if relevant]
|
||||
|
||||
### What I Trade
|
||||
- [List specific criteria]
|
||||
- [Examples of ideal stocks/instruments]
|
||||
|
||||
### What I DON'T Trade
|
||||
- [ ] Penny stocks (< \$5)
|
||||
- [ ] Illiquid stocks (< 500K volume)
|
||||
- [ ] IPOs in first month
|
||||
- [ ] Earnings day (specify approach)
|
||||
- [ ] Biotech binary events
|
||||
- [ ] [Add other exclusions]
|
||||
|
||||
---
|
||||
|
||||
## 4. Entry Strategy
|
||||
|
||||
### Primary Setup
|
||||
**${SETUP_TYPE}**
|
||||
|
||||
### Setup Criteria
|
||||
|
||||
**Must-have conditions:**
|
||||
1. [Specific technical condition]
|
||||
2. [Specific technical condition]
|
||||
3. [Specific technical condition]
|
||||
|
||||
**Confirmation signals:**
|
||||
- ${CONFIRMATIONS:-Volume confirmation, trend alignment}
|
||||
- [Additional confirmations]
|
||||
|
||||
**Timeframes:**
|
||||
- **Analysis:** ${TIMEFRAME:-Daily}
|
||||
- **Entry:** [Entry timeframe]
|
||||
- **Filter:** [Higher timeframe trend]
|
||||
|
||||
### Entry Rules
|
||||
|
||||
**Order Type:** ${ORDER_TYPE:-Limit order}
|
||||
|
||||
**Exact entry trigger:**
|
||||
1. [Specific price level or signal]
|
||||
2. [Confirmation requirement]
|
||||
3. [Additional filters]
|
||||
|
||||
**Position sizing:**
|
||||
- Calculate using formula in Section 2
|
||||
- Risk: \$${DOLLAR_RISK} per trade
|
||||
- Size accordingly
|
||||
|
||||
**Time restrictions:**
|
||||
- ${TRADING_STYLE} specific timing
|
||||
- [e.g., "No entries in first 15 minutes" for day trading]
|
||||
- [e.g., "No entries Friday afternoon" for swing trading]
|
||||
|
||||
---
|
||||
|
||||
## 5. Exit Strategy
|
||||
|
||||
### Stop-Loss
|
||||
|
||||
**Method:** ${STOP_METHOD}
|
||||
|
||||
**Rules:**
|
||||
- Set immediately after entry
|
||||
- Use stop order (not mental stop)
|
||||
- NEVER move stop further from entry
|
||||
- Can move to break-even after [specify when]
|
||||
- Accept losses without hesitation
|
||||
|
||||
**Stop placement:**
|
||||
- [Specific methodology]
|
||||
- Example: [Concrete example]
|
||||
|
||||
### Take-Profit
|
||||
|
||||
**Strategy:** ${TP_STRATEGY}
|
||||
|
||||
**Specific targets:**
|
||||
- Primary target: [e.g., 2R or specific level]
|
||||
- Secondary target: [if scaling out]
|
||||
- Trail: [trailing stop method if applicable]
|
||||
|
||||
**Scaling out:** ${SCALING:-Not allowed}
|
||||
- [If yes, specify scale-out rules]
|
||||
|
||||
### Trade Management
|
||||
|
||||
**When to exit early:**
|
||||
- [ ] Loss of momentum
|
||||
- [ ] Reversal pattern
|
||||
- [ ] Time stop hit (no progress in X days)
|
||||
- [ ] Market condition change
|
||||
- [ ] Better opportunity elsewhere
|
||||
|
||||
**When to add to position:**
|
||||
- [ ] ${SCALING} (specify if allowed)
|
||||
|
||||
**When to trail stop:**
|
||||
- [Specific rules]
|
||||
|
||||
---
|
||||
|
||||
## 6. Market Filters
|
||||
|
||||
### When TO Trade
|
||||
|
||||
**Market conditions:**
|
||||
- [ ] Clear trend present
|
||||
- [ ] Volatility in normal range (e.g., VIX < 30)
|
||||
- [ ] Volume above average
|
||||
- [ ] My setups present
|
||||
- [ ] No major news pending
|
||||
|
||||
**Personal conditions:**
|
||||
- [ ] Well-rested
|
||||
- [ ] Calm and focused
|
||||
- [ ] Following plan
|
||||
- [ ] No external stress
|
||||
- [ ] Within risk limits
|
||||
|
||||
### When NOT TO Trade
|
||||
|
||||
**Market conditions:**
|
||||
- [ ] Choppy, rangebound market
|
||||
- [ ] Extreme volatility
|
||||
- [ ] Major news pending (FOMC, etc.)
|
||||
- [ ] Low volume (holidays)
|
||||
- [ ] Gap and crap environment
|
||||
|
||||
**Personal conditions:**
|
||||
- ${NO_TRADE_1}
|
||||
- ${NO_TRADE_2}
|
||||
- ${NO_TRADE_3}
|
||||
- [ ] Emotional/tilting
|
||||
- [ ] Hit daily loss limit
|
||||
- [ ] Consecutive losses (specify number)
|
||||
|
||||
---
|
||||
|
||||
## 7. Psychology & Discipline
|
||||
|
||||
### Pre-Market Routine
|
||||
|
||||
**Time required:** ${ROUTINE_TIME:-30} minutes
|
||||
|
||||
**Daily checklist:**
|
||||
- [ ] Review previous day's trades
|
||||
- [ ] Check overnight news and catalysts
|
||||
- [ ] Identify key support/resistance levels
|
||||
- [ ] Mark potential setups
|
||||
- [ ] Set risk limits in trading platform
|
||||
- [ ] Emotional state check (calm and focused?)
|
||||
- [ ] Hydrated and alert?
|
||||
|
||||
### Trading Rules
|
||||
|
||||
**Maximum trades per day:** ${MAX_TRADES_DAY:-3-5 trades}
|
||||
|
||||
**Cool-down period:** ${COOLDOWN:-30 minutes after any loss}
|
||||
|
||||
**Break requirements:**
|
||||
- After 2 consecutive losses: 1 hour break
|
||||
- After 3 consecutive losses: Done for the day
|
||||
- After hitting daily loss limit: Done for the day
|
||||
|
||||
### Tilt Recognition
|
||||
|
||||
**Warning signs I'm tilting:**
|
||||
- Increasing position size
|
||||
- Abandoning stops
|
||||
- Taking marginal setups
|
||||
- Checking P&L constantly
|
||||
- Feeling anxious or desperate
|
||||
- Anger at market
|
||||
|
||||
**When tilting:**
|
||||
1. Close ALL positions immediately
|
||||
2. Stop trading for the day
|
||||
3. Physical activity (walk, gym)
|
||||
4. Review what triggered it
|
||||
5. Don't resume until calm
|
||||
|
||||
### Emotional State Check
|
||||
|
||||
**Before each trade ask:**
|
||||
- Am I calm and rational?
|
||||
- Am I following my plan?
|
||||
- Is this revenge trading?
|
||||
- Would I take this if starting fresh today?
|
||||
|
||||
**If any answer is concerning → SKIP THE TRADE**
|
||||
|
||||
---
|
||||
|
||||
## 8. Performance Tracking
|
||||
|
||||
### Trade Journal
|
||||
|
||||
**Method:** ${JOURNAL_METHOD}
|
||||
|
||||
**Required for each trade:**
|
||||
- [ ] Date and time
|
||||
- [ ] Ticker/symbol
|
||||
- [ ] Setup type
|
||||
- [ ] Entry price and size
|
||||
- [ ] Stop-loss and target
|
||||
- [ ] Exit price and reason
|
||||
- [ ] P&L (\$ and %)
|
||||
- [ ] R multiple (1R, 2R, etc.)
|
||||
- [ ] Market condition
|
||||
- [ ] Emotional state (1-10)
|
||||
- [ ] Mistakes made
|
||||
- [ ] What I did right
|
||||
- [ ] Lessons learned
|
||||
- [ ] Screenshot of chart
|
||||
|
||||
### Metrics to Track
|
||||
|
||||
**Weekly:**
|
||||
- Total P&L
|
||||
- Win rate
|
||||
- Average win vs average loss
|
||||
- Profit factor
|
||||
- Best trade
|
||||
- Worst trade
|
||||
- Rule compliance %
|
||||
|
||||
**Monthly:**
|
||||
- All weekly metrics
|
||||
- Maximum drawdown
|
||||
- Sharpe ratio
|
||||
- Expectancy
|
||||
- Number of trades
|
||||
- Best setup type
|
||||
- Time-of-day analysis
|
||||
|
||||
### Review Schedule
|
||||
|
||||
**${REVIEW_FREQ}**
|
||||
|
||||
**Daily Review (15 minutes):**
|
||||
- Review all trades
|
||||
- Calculate P&L
|
||||
- Note rule violations
|
||||
- Identify improvements
|
||||
- Plan for next day
|
||||
|
||||
**Weekly Review (30 minutes):**
|
||||
- Calculate weekly metrics
|
||||
- Identify patterns (what works/doesn't)
|
||||
- Best and worst trades analysis
|
||||
- Rule compliance check
|
||||
- Adjustments needed?
|
||||
|
||||
**Monthly Review (1 hour):**
|
||||
- Full performance analysis
|
||||
- Goal progress check
|
||||
- Strategy refinement
|
||||
- Mindset and discipline assessment
|
||||
- Plan for next month
|
||||
|
||||
---
|
||||
|
||||
## 9. Plan Compliance
|
||||
|
||||
### Rules I Will NEVER Break
|
||||
|
||||
1. **NEVER trade without a stop-loss**
|
||||
2. **NEVER risk more than ${RISK_PER_TRADE}% per trade**
|
||||
3. **NEVER trade past daily loss limit (-${DAILY_LOSS_LIMIT}%)**
|
||||
4. **NEVER move stops further from entry**
|
||||
5. **NEVER add to losing positions**
|
||||
6. **NEVER trade when emotional**
|
||||
7. **NEVER skip the trade journal**
|
||||
|
||||
### Accountability
|
||||
|
||||
**How I'll stay accountable:**
|
||||
- [ ] Trading journal review
|
||||
- [ ] Weekly performance check
|
||||
- [ ] Trading buddy/mentor check-ins
|
||||
- [ ] [Other accountability measures]
|
||||
|
||||
**Consequences for breaking rules:**
|
||||
- 1 violation: Document why and how to prevent
|
||||
- 2 violations in a week: Reduce size 50%
|
||||
- 3 violations: Paper trade only for 1 week
|
||||
|
||||
---
|
||||
|
||||
## 10. Plan Evolution
|
||||
|
||||
### When to Review This Plan
|
||||
- Monthly minimum
|
||||
- After major changes in performance
|
||||
- After strategy adjustments
|
||||
- After market regime change
|
||||
|
||||
### When to Adjust This Plan
|
||||
- Consistent profitability → consider increasing risk slightly
|
||||
- Consistent losses → reduce risk, review everything
|
||||
- Market conditions change → adapt filters
|
||||
- Personal circumstances change → adjust time commitment
|
||||
|
||||
### What Never Changes
|
||||
- Risk management discipline
|
||||
- Trade journal requirement
|
||||
- Stop-loss mandate
|
||||
- Daily loss limit
|
||||
|
||||
---
|
||||
|
||||
## Appendix A: Position Size Calculator
|
||||
|
||||
**Quick reference:**
|
||||
|
||||
| Entry - Stop | Position Size (for \$${DOLLAR_RISK} risk) |
|
||||
|--------------|-------------------------------------------|
|
||||
| \$1 | $(echo "scale=0; $DOLLAR_RISK / 1" | bc) shares |
|
||||
| \$2 | $(echo "scale=0; $DOLLAR_RISK / 2" | bc) shares |
|
||||
| \$3 | $(echo "scale=0; $DOLLAR_RISK / 3" | bc) shares |
|
||||
| \$5 | $(echo "scale=0; $DOLLAR_RISK / 5" | bc) shares |
|
||||
|
||||
**Formula:** Shares = \$${DOLLAR_RISK} / (Entry - Stop)
|
||||
|
||||
---
|
||||
|
||||
## Appendix B: Trade Checklist
|
||||
|
||||
**Before EVERY trade:**
|
||||
- [ ] Setup matches my criteria
|
||||
- [ ] R:R is ${MIN_RR} or better
|
||||
- [ ] Position size calculated (risk = \$${DOLLAR_RISK})
|
||||
- [ ] Stop-loss level identified
|
||||
- [ ] Within daily loss limit
|
||||
- [ ] Emotional state good
|
||||
- [ ] Market conditions favorable
|
||||
- [ ] No news pending
|
||||
- [ ] Have clear exit plan
|
||||
|
||||
**If ANY box unchecked → DON'T TAKE THE TRADE**
|
||||
|
||||
---
|
||||
|
||||
## Appendix C: Resources
|
||||
|
||||
**Recommended reading:**
|
||||
- "Trading in the Zone" - Mark Douglas
|
||||
- "The New Trading for a Living" - Alexander Elder
|
||||
- "Reminiscences of a Stock Operator" - Edwin Lefèvre
|
||||
|
||||
**Tools:**
|
||||
- Trading platform: [Your platform]
|
||||
- Charting: [Your charting software]
|
||||
- Journal: ${JOURNAL_METHOD}
|
||||
- Screener: [Your screener]
|
||||
|
||||
---
|
||||
|
||||
## Commitment
|
||||
|
||||
I commit to following this trading plan with discipline and consistency. I understand that success comes from process, not individual trades. I will track my performance, learn from mistakes, and continuously improve.
|
||||
|
||||
**Signed:** ___________________
|
||||
**Date:** $(date +%Y-%m-%d)
|
||||
|
||||
---
|
||||
|
||||
## Plan Version History
|
||||
|
||||
| Version | Date | Changes |
|
||||
|---------|------|---------|
|
||||
| 1.0 | $(date +%Y-%m-%d) | Initial plan created |
|
||||
|
||||
EOF
|
||||
|
||||
echo -e "${GREEN}✅ Trading plan generated successfully!${NC}"
|
||||
echo ""
|
||||
echo -e "File location: ${BLUE}$OUTPUT_FILE${NC}"
|
||||
echo ""
|
||||
echo -e "${YELLOW}━━━ CRITICAL NEXT STEPS ━━━${NC}"
|
||||
echo ""
|
||||
echo "1. ${GREEN}READ${NC} the entire plan carefully"
|
||||
echo "2. ${GREEN}CUSTOMIZE${NC} the [TBD] sections with your specifics"
|
||||
echo "3. ${GREEN}COMMIT${NC} to following it (sign and date)"
|
||||
echo "4. ${GREEN}PRINT${NC} and keep it visible while trading"
|
||||
echo "5. ${GREEN}REVIEW${NC} before every trading session"
|
||||
echo "6. ${GREEN}TRACK${NC} your compliance daily"
|
||||
echo ""
|
||||
echo -e "${RED}⚠️ Remember:${NC}"
|
||||
echo " • Trading involves substantial risk"
|
||||
echo " • This plan doesn't guarantee profits"
|
||||
echo " • Discipline is everything"
|
||||
echo " • Protect your capital FIRST"
|
||||
echo ""
|
||||
echo -e "${CYAN}Tip: Use validate_plan.sh to check completeness${NC}"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user