Add files using upload-large-folder tool
Browse files- .gitignore +27 -0
- Concepts and Topics Folder/Chart plotting using python.ipynb +92 -0
- Concepts and Topics Folder/Max Number of Losing Streak in Regards to Winrate.ipynb +101 -0
- Concepts and Topics Folder/Risk Management Logic.ipynb +56 -0
- Concepts and Topics Folder/The Law of Large Numbers (LLN).ipynb +0 -0
- Documents/eeee.ipynb +49 -0
- Documents/ewe.doc +1 -0
- LICENSE +21 -0
- README.md +198 -0
- Research Papers/The 3HTMOSDSDT.rp1_ Three-hour Timeframe Market Order Strategy with Defined Stoploss and Dynamic Takeprofit/3HTMOSDSDT.rp1.ipynb +0 -0
- Dynamic Takeprofit/newplot (25).png +0 -0
- Dynamic Takeprofit/newplot (26).png +0 -0
- Research Papers/The 3mTSHSUHC.rp2_ Stress Test & Evaluating the Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/Equity Curve of 3mTSHSUHCv1/342/200/231s Performance.png +0 -0
- Research Papers/The 3mTSHSUHC.rp2_ Stress Test & Evaluating the Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/Intraday data set with Heatmap Candles Chart.png +0 -0
- Research Papers/The 3mTSHSUHC.rp2_ Stress Test & Evaluating the Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/The 3mTSHSUHC.rp2, stress test .ipynb +0 -0
- Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/Draft/this is it.ipynb +0 -0
- Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/Draft/weighted score.ipynb +0 -0
- Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/FULL_TRADE_STATISTICS_DATAFRAME.xls +0 -0
- Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/TOP_10_PARAMETER_COMBINATIONS_BY_SCORE.xls +11 -0
- Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/single backtest framework.ipynb +0 -0
- Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/singlebactest draft&outlinie.ipynb +0 -0
- STACKS.md +62 -0
- STRUCTURE.md +579 -0
- TECHSTACK.md +27 -0
- gg.md +59 -0
- scan_structure.py +156 -0
- scan_techstack.py +750 -0
- z.Others/APA Style (7th Edition).md +207 -0
- z.Others/Understanding GitHub Licenses.md +72 -0
- z.Others/VTR_DMag_System_Explanation.md +519 -0
- z.Others/WQ Wildmind Quasars’s standard research paper layout.ipynb +36 -0
- z.Others/test.txt +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-12 104458.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-12 144500.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-12 201257.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-12 205738.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 131419.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 132923.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 135957.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 153904.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 160104.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 162112.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 162726.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 164303.png +0 -0
- z.Others/z.Images Folder/Screenshot 2025-11-15 182205.png +0 -0
- z.Others/z.Images Folder/XAUUSD_2025-11-11_21-11-52.png +0 -0
- z.Others/z.Images Folder/XAUUSDc_2025-11-12_10-02-56.png +0 -0
- z.Others/z.Images Folder/pasted-image (8).png +0 -0
- z.Others/z.Images Folder/pasted-image (9).png +0 -0
- z.Others/z.Images Folder/pasted-image.png +0 -0
.gitignore
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Python
|
| 2 |
+
__pycache__/
|
| 3 |
+
*.py[cod]
|
| 4 |
+
*$py.class
|
| 5 |
+
vms/
|
| 6 |
+
.env
|
| 7 |
+
.venv
|
| 8 |
+
env/
|
| 9 |
+
venv/
|
| 10 |
+
ENV/
|
| 11 |
+
env.bak/
|
| 12 |
+
venv.bak/
|
| 13 |
+
.ipynb_checkpoints
|
| 14 |
+
|
| 15 |
+
# MetaTrader 5 (MQL5)
|
| 16 |
+
*.ex5
|
| 17 |
+
*.ex4
|
| 18 |
+
*.log
|
| 19 |
+
|
| 20 |
+
# Windows
|
| 21 |
+
Thumbs.db
|
| 22 |
+
desktop.ini
|
| 23 |
+
|
| 24 |
+
# Common
|
| 25 |
+
.vscode/
|
| 26 |
+
.idea/
|
| 27 |
+
*.lnk
|
Concepts and Topics Folder/Chart plotting using python.ipynb
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": 5,
|
| 6 |
+
"id": "d08b7f8f",
|
| 7 |
+
"metadata": {},
|
| 8 |
+
"outputs": [
|
| 9 |
+
{
|
| 10 |
+
"name": "stderr",
|
| 11 |
+
"output_type": "stream",
|
| 12 |
+
"text": [
|
| 13 |
+
"/tmp/ipykernel_6681/1176555379.py:5: FutureWarning: YF.download() has changed argument auto_adjust default to True\n",
|
| 14 |
+
" data = yf.download(symbol, interval=\"30m\", period=\"5d\")\n",
|
| 15 |
+
"[*********************100%***********************] 1 of 1 completed\n",
|
| 16 |
+
"\n",
|
| 17 |
+
"1 Failed download:\n",
|
| 18 |
+
"['XAUUSD=X']: YFPricesMissingError('possibly delisted; no price data found (period=5d) (Yahoo error = \"No data found, symbol may be delisted\")')\n"
|
| 19 |
+
]
|
| 20 |
+
},
|
| 21 |
+
{
|
| 22 |
+
"name": "stdout",
|
| 23 |
+
"output_type": "stream",
|
| 24 |
+
"text": [
|
| 25 |
+
"Empty DataFrame\n",
|
| 26 |
+
"Columns: [(Adj Close, XAUUSD=X), (Close, XAUUSD=X), (High, XAUUSD=X), (Low, XAUUSD=X), (Open, XAUUSD=X), (Volume, XAUUSD=X)]\n",
|
| 27 |
+
"Index: []\n",
|
| 28 |
+
"Price Ticker \n",
|
| 29 |
+
"Adj Close XAUUSD=X float64\n",
|
| 30 |
+
"Close XAUUSD=X float64\n",
|
| 31 |
+
"High XAUUSD=X float64\n",
|
| 32 |
+
"Low XAUUSD=X float64\n",
|
| 33 |
+
"Open XAUUSD=X float64\n",
|
| 34 |
+
"Volume XAUUSD=X float64\n",
|
| 35 |
+
"dtype: object\n"
|
| 36 |
+
]
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"ename": "ValueError",
|
| 40 |
+
"evalue": "Data for column \"Open\" must be ALL float or int.",
|
| 41 |
+
"output_type": "error",
|
| 42 |
+
"traceback": [
|
| 43 |
+
"\u001b[31m---------------------------------------------------------------------------\u001b[39m",
|
| 44 |
+
"\u001b[31mValueError\u001b[39m Traceback (most recent call last)",
|
| 45 |
+
"\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[5]\u001b[39m\u001b[32m, line 15\u001b[39m\n\u001b[32m 12\u001b[39m cols = [\u001b[33m\"\u001b[39m\u001b[33mOpen\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mHigh\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mLow\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mClose\u001b[39m\u001b[33m\"\u001b[39m, \u001b[33m\"\u001b[39m\u001b[33mVolume\u001b[39m\u001b[33m\"\u001b[39m]\n\u001b[32m 13\u001b[39m data[cols] = data[cols].astype(\u001b[38;5;28mfloat\u001b[39m)\n\u001b[32m---> \u001b[39m\u001b[32m15\u001b[39m \u001b[43mmpf\u001b[49m\u001b[43m.\u001b[49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mtype\u001b[39;49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mcandle\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43mvolume\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43mstyle\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43myahoo\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43mtitle\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43mf\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43msymbol\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[33;43m Price Chart\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43mylabel\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mPrice (USD)\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43mylabel_lower\u001b[49m\u001b[43m=\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mVolume\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43mfigratio\u001b[49m\u001b[43m=\u001b[49m\u001b[43m(\u001b[49m\u001b[32;43m16\u001b[39;49m\u001b[43m,\u001b[49m\u001b[32;43m9\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtight_layout\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n",
|
| 46 |
+
"\u001b[36mFile \u001b[39m\u001b[32m/workspaces/Pinescript.TradingView-Indicators.and.Strategies/.venv/lib/python3.12/site-packages/mplfinance/plotting.py:417\u001b[39m, in \u001b[36mplot\u001b[39m\u001b[34m(data, **kwargs)\u001b[39m\n\u001b[32m 414\u001b[39m \u001b[38;5;66;03m# translate alias types:\u001b[39;00m\n\u001b[32m 415\u001b[39m config[\u001b[33m'\u001b[39m\u001b[33mtype\u001b[39m\u001b[33m'\u001b[39m] = _get_valid_plot_types(config[\u001b[33m'\u001b[39m\u001b[33mtype\u001b[39m\u001b[33m'\u001b[39m])\n\u001b[32m--> \u001b[39m\u001b[32m417\u001b[39m dates,opens,highs,lows,closes,volumes = \u001b[43m_check_and_prepare_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mconfig\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 419\u001b[39m config[\u001b[33m'\u001b[39m\u001b[33mxlim\u001b[39m\u001b[33m'\u001b[39m] = _check_and_convert_xlim_configuration(data, config)\n\u001b[32m 421\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m config[\u001b[33m'\u001b[39m\u001b[33mtype\u001b[39m\u001b[33m'\u001b[39m] \u001b[38;5;129;01min\u001b[39;00m VALID_PMOVE_TYPES \u001b[38;5;129;01mand\u001b[39;00m config[\u001b[33m'\u001b[39m\u001b[33maddplot\u001b[39m\u001b[33m'\u001b[39m] \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n",
|
| 47 |
+
"\u001b[36mFile \u001b[39m\u001b[32m/workspaces/Pinescript.TradingView-Indicators.and.Strategies/.venv/lib/python3.12/site-packages/mplfinance/_arg_validators.py:74\u001b[39m, in \u001b[36m_check_and_prepare_data\u001b[39m\u001b[34m(data, config)\u001b[39m\n\u001b[32m 72\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m col \u001b[38;5;129;01min\u001b[39;00m cols:\n\u001b[32m 73\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mall\u001b[39m( \u001b[38;5;28misinstance\u001b[39m(v,(\u001b[38;5;28mfloat\u001b[39m,\u001b[38;5;28mint\u001b[39m)) \u001b[38;5;28;01mfor\u001b[39;00m v \u001b[38;5;129;01min\u001b[39;00m data[col] ):\n\u001b[32m---> \u001b[39m\u001b[32m74\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[33m'\u001b[39m\u001b[33mData for column \u001b[39m\u001b[33m\"\u001b[39m\u001b[33m'\u001b[39m+\u001b[38;5;28mstr\u001b[39m(col)+\u001b[33m'\u001b[39m\u001b[33m\"\u001b[39m\u001b[33m must be ALL float or int.\u001b[39m\u001b[33m'\u001b[39m)\n\u001b[32m 76\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m config[\u001b[33m'\u001b[39m\u001b[33mtz_localize\u001b[39m\u001b[33m'\u001b[39m]:\n\u001b[32m 77\u001b[39m dates = mdates.date2num(data.index.tz_localize(\u001b[38;5;28;01mNone\u001b[39;00m).to_pydatetime())\n",
|
| 48 |
+
"\u001b[31mValueError\u001b[39m: Data for column \"Open\" must be ALL float or int."
|
| 49 |
+
]
|
| 50 |
+
}
|
| 51 |
+
],
|
| 52 |
+
"source": [
|
| 53 |
+
"import yfinance as yf\n",
|
| 54 |
+
"import mplfinance as mpf\n",
|
| 55 |
+
"\n",
|
| 56 |
+
"symbol = \"XAUUSD=X\" # or \"GC=F\"\n",
|
| 57 |
+
"data = yf.download(symbol, interval=\"30m\", period=\"5d\")\n",
|
| 58 |
+
"\n",
|
| 59 |
+
"print(data)\n",
|
| 60 |
+
"print(data.dtypes)\n",
|
| 61 |
+
"\n",
|
| 62 |
+
"# FIX: Drop NaNs + convert to float\n",
|
| 63 |
+
"data = data.dropna()\n",
|
| 64 |
+
"cols = [\"Open\", \"High\", \"Low\", \"Close\", \"Volume\"]\n",
|
| 65 |
+
"data[cols] = data[cols].astype(float)\n",
|
| 66 |
+
"\n",
|
| 67 |
+
"mpf.plot(data, type=\"candle\",volume=True,style=\"yahoo\",title=f\"{symbol} Price Chart\",ylabel=\"Price (USD)\",ylabel_lower=\"Volume\",figratio=(16,9), tight_layout=True)\n"
|
| 68 |
+
]
|
| 69 |
+
}
|
| 70 |
+
],
|
| 71 |
+
"metadata": {
|
| 72 |
+
"kernelspec": {
|
| 73 |
+
"display_name": ".venv",
|
| 74 |
+
"language": "python",
|
| 75 |
+
"name": "python3"
|
| 76 |
+
},
|
| 77 |
+
"language_info": {
|
| 78 |
+
"codemirror_mode": {
|
| 79 |
+
"name": "ipython",
|
| 80 |
+
"version": 3
|
| 81 |
+
},
|
| 82 |
+
"file_extension": ".py",
|
| 83 |
+
"mimetype": "text/x-python",
|
| 84 |
+
"name": "python",
|
| 85 |
+
"nbconvert_exporter": "python",
|
| 86 |
+
"pygments_lexer": "ipython3",
|
| 87 |
+
"version": "3.12.1"
|
| 88 |
+
}
|
| 89 |
+
},
|
| 90 |
+
"nbformat": 4,
|
| 91 |
+
"nbformat_minor": 5
|
| 92 |
+
}
|
Concepts and Topics Folder/Max Number of Losing Streak in Regards to Winrate.ipynb
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "code",
|
| 5 |
+
"execution_count": null,
|
| 6 |
+
"id": "6447cec1",
|
| 7 |
+
"metadata": {
|
| 8 |
+
"vscode": {
|
| 9 |
+
"languageId": "plaintext"
|
| 10 |
+
}
|
| 11 |
+
},
|
| 12 |
+
"outputs": [],
|
| 13 |
+
"source": [
|
| 14 |
+
"!pip install numpy pandas plotly --quiet"
|
| 15 |
+
]
|
| 16 |
+
},
|
| 17 |
+
{
|
| 18 |
+
"cell_type": "code",
|
| 19 |
+
"execution_count": null,
|
| 20 |
+
"id": "ebe3fdb8",
|
| 21 |
+
"metadata": {
|
| 22 |
+
"vscode": {
|
| 23 |
+
"languageId": "plaintext"
|
| 24 |
+
}
|
| 25 |
+
},
|
| 26 |
+
"outputs": [],
|
| 27 |
+
"source": [
|
| 28 |
+
"import numpy as np\n",
|
| 29 |
+
"import pandas as pd\n",
|
| 30 |
+
"import plotly.express as px\n",
|
| 31 |
+
"\n",
|
| 32 |
+
"# Parameters\n",
|
| 33 |
+
"initial_capital = 100\n",
|
| 34 |
+
"win_rate = 0.1 # 10% chance to win\n",
|
| 35 |
+
"risk_per_trade = 0.01 # 1% risk per trade\n",
|
| 36 |
+
"lot_size = initial_capital * risk_per_trade\n",
|
| 37 |
+
"n_simulations = 1000 # number of Monte Carlo runs\n",
|
| 38 |
+
"\n",
|
| 39 |
+
"# Function to simulate one run until account goes to zero\n",
|
| 40 |
+
"def simulate_run(initial_capital, win_rate, lot_size):\n",
|
| 41 |
+
" capital = initial_capital\n",
|
| 42 |
+
" attempts = 0\n",
|
| 43 |
+
" history = [capital]\n",
|
| 44 |
+
" while capital > 0:\n",
|
| 45 |
+
" attempts += 1\n",
|
| 46 |
+
" outcome = np.random.rand() < win_rate\n",
|
| 47 |
+
" if outcome:\n",
|
| 48 |
+
" capital += lot_size\n",
|
| 49 |
+
" else:\n",
|
| 50 |
+
" capital -= lot_size\n",
|
| 51 |
+
" history.append(capital)\n",
|
| 52 |
+
" return attempts, history\n",
|
| 53 |
+
"\n",
|
| 54 |
+
"# Run multiple simulations\n",
|
| 55 |
+
"results = []\n",
|
| 56 |
+
"histories = []\n",
|
| 57 |
+
"for _ in range(n_simulations):\n",
|
| 58 |
+
" attempts, history = simulate_run(initial_capital, win_rate, lot_size)\n",
|
| 59 |
+
" results.append(attempts)\n",
|
| 60 |
+
" histories.append(history)\n",
|
| 61 |
+
"\n",
|
| 62 |
+
"# Create DataFrame of attempts\n",
|
| 63 |
+
"df = pd.DataFrame(results, columns=['Attempts'])\n",
|
| 64 |
+
"\n",
|
| 65 |
+
"# Histogram of attempts before ruin\n",
|
| 66 |
+
"fig_hist = px.histogram(df, x='Attempts', nbins=50,\n",
|
| 67 |
+
" title='Distribution of Attempts Before Account Goes to Zero',\n",
|
| 68 |
+
" labels={'Attempts':'Number of Attempts'})\n",
|
| 69 |
+
"fig_hist.show()\n",
|
| 70 |
+
"\n",
|
| 71 |
+
"# --- Find the peak of the distribution ---\n",
|
| 72 |
+
"mode_attempts = df['Attempts'].mode()[0] # most frequent attempt count\n",
|
| 73 |
+
"count_mode = (df['Attempts'] == mode_attempts).sum()\n",
|
| 74 |
+
"print(f\"Peak of distribution: {mode_attempts} attempts (occurred {count_mode} times)\")\n",
|
| 75 |
+
"\n",
|
| 76 |
+
"# Select all runs that ended at this mode attempt count\n",
|
| 77 |
+
"mode_runs = [hist for hist, att in zip(histories, results) if att == mode_attempts]\n",
|
| 78 |
+
"\n",
|
| 79 |
+
"# Build DataFrame for plotting\n",
|
| 80 |
+
"curve_data = []\n",
|
| 81 |
+
"for i, hist in enumerate(mode_runs, 1):\n",
|
| 82 |
+
" curve_data.extend([{'Attempt': j, 'Capital': c, 'Run': f'Run {i}'} for j, c in enumerate(hist)])\n",
|
| 83 |
+
"\n",
|
| 84 |
+
"df_curves = pd.DataFrame(curve_data)\n",
|
| 85 |
+
"\n",
|
| 86 |
+
"# Plot equity curves for mode runs\n",
|
| 87 |
+
"fig_curves = px.line(df_curves, x='Attempt', y='Capital', color='Run',\n",
|
| 88 |
+
" title=f'Equity Curves for Peak Distribution ({mode_attempts} Attempts, {count_mode} runs)',\n",
|
| 89 |
+
" labels={'Capital':'Account Balance'})\n",
|
| 90 |
+
"fig_curves.show()"
|
| 91 |
+
]
|
| 92 |
+
}
|
| 93 |
+
],
|
| 94 |
+
"metadata": {
|
| 95 |
+
"language_info": {
|
| 96 |
+
"name": "python"
|
| 97 |
+
}
|
| 98 |
+
},
|
| 99 |
+
"nbformat": 4,
|
| 100 |
+
"nbformat_minor": 5
|
| 101 |
+
}
|
Concepts and Topics Folder/Risk Management Logic.ipynb
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "markdown",
|
| 5 |
+
"id": "95497985",
|
| 6 |
+
"metadata": {},
|
| 7 |
+
"source": [
|
| 8 |
+
"# Risk Management\n",
|
| 9 |
+
"*algorembrant*"
|
| 10 |
+
]
|
| 11 |
+
},
|
| 12 |
+
{
|
| 13 |
+
"cell_type": "markdown",
|
| 14 |
+
"id": "a3f2b08d",
|
| 15 |
+
"metadata": {},
|
| 16 |
+
"source": [
|
| 17 |
+
"## Trading Formula Reference\n",
|
| 18 |
+
"\n",
|
| 19 |
+
"This document outlines key formulas used in trading calculations, along with their descriptions.\n",
|
| 20 |
+
"\n",
|
| 21 |
+
"| **Formula** | **Description** |\n",
|
| 22 |
+
"|------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|\n",
|
| 23 |
+
"| *BuyOrders = BuyStop, BuyLimit, BuyMarket* | Defines the types of buy-side orders used to enter a trade in different ways. |\n",
|
| 24 |
+
"| *SellOrders = SellStop, SellLimit, SellMarket* | Defines the types of sell-side orders used to exit or short a trade. |\n",
|
| 25 |
+
"| *TickDisplacement = abs(Price - Price)* | Measures the absolute difference between two price points. The tick size to be calculated dynamically based on the price difference of the instrument. |\n",
|
| 26 |
+
"| *1PriceDisplacement = 1Tick* | Establishes that one unit of price movement equals one tick. |\n",
|
| 27 |
+
"| *TargetPrice = Ticks + EntryPrice* | Calculates the target price by adding a number of ticks to the entry price. |\n",
|
| 28 |
+
"| *RiskInCash = RiskPercentInDecimal × Capital* | Converts the percentage of capital at risk into a cash amount. |\n",
|
| 29 |
+
"| *PositionLotSize = (RiskInCash / StopLossDisplacement) × 0.01StandardBrokerLot* | Determines the appropriate lot size based on risk and stop-loss distance. |\n",
|
| 30 |
+
"| *1RiskInCash = 0.01LotSize* | Determines the appropriate lot size based on risk and stop-loss distance. In this case, the broker has minimum of 0.01 lot size to execute an order. |\n",
|
| 31 |
+
"| *CommissionSpread = 0.02* | Represents the cost of executing a trade, measured as the difference between bid and ask prices. This spread acts as an implicit commission charged by the broker. |\n",
|
| 32 |
+
"| ** | |"
|
| 33 |
+
]
|
| 34 |
+
},
|
| 35 |
+
{
|
| 36 |
+
"cell_type": "markdown",
|
| 37 |
+
"id": "5c9e884d",
|
| 38 |
+
"metadata": {},
|
| 39 |
+
"source": [
|
| 40 |
+
"## Natural Occurences\n",
|
| 41 |
+
"\n",
|
| 42 |
+
"- The LotSize decreases as the StopLoss area increases, but still the same in RiskInPercent.\n",
|
| 43 |
+
"- The LotSize increases as the StopLoss area decreases, but still the same in RiskInPercent.\n",
|
| 44 |
+
"\n",
|
| 45 |
+
"\n"
|
| 46 |
+
]
|
| 47 |
+
}
|
| 48 |
+
],
|
| 49 |
+
"metadata": {
|
| 50 |
+
"language_info": {
|
| 51 |
+
"name": "python"
|
| 52 |
+
}
|
| 53 |
+
},
|
| 54 |
+
"nbformat": 4,
|
| 55 |
+
"nbformat_minor": 5
|
| 56 |
+
}
|
Concepts and Topics Folder/The Law of Large Numbers (LLN).ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
Documents/eeee.ipynb
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cells": [
|
| 3 |
+
{
|
| 4 |
+
"cell_type": "markdown",
|
| 5 |
+
"id": "f107bbfd",
|
| 6 |
+
"metadata": {},
|
| 7 |
+
"source": [
|
| 8 |
+
"key metrics"
|
| 9 |
+
]
|
| 10 |
+
},
|
| 11 |
+
{
|
| 12 |
+
"cell_type": "markdown",
|
| 13 |
+
"id": "21c05a40",
|
| 14 |
+
"metadata": {},
|
| 15 |
+
"source": [
|
| 16 |
+
"Self taught and no mentor. But used countless freebies which exist across the internet. I've been strictly trading only XAUUSD in the Forex Exchange Market, in my manual retail trading career but still couldn't get consistent profitability. In fact I already lost 148k+ petot, but that data is worth roughly about 9 months in trading, even though I'm a trader with 18 months experience. My first 7 months (from June 7, 2024) were already at a six-figure loss. I stopped doing live trade but continued in demo accounts and a lot of backtests in my manual career. Never lost a day to practice trade. Despite that, I've made a lot of self made documentation 1500+ pages covering time & OCHL prices, volume volatility, market profiles, and orderflows mechanics (auction, footprint, heatmap & bubble orders, depth of the market) and some short books. I’ve developed a complex strategy and generated a clean upward equity curve in a live account. I’ve also coded indicators and strategies in TradingView, from simple to complex algorithms. But still not my ideal way of trading, it's too psychologically draining to implement. And I don't imagine myself watching the screen until I die (literal death). Recently, early November 2025, I've switched into becoming a fully systematic and automated trader, no discretionary decision involved in trading. I find it not hard to adapt from topics like prompting, coding, programing, large language models, machine learning, neural network, artificial intelligence, and many more embedded in algorithmic trading. Why and how? Because I like Research. I've read numerous academic papers but still haven't found an ideal way to trade the XAUUSD market. Perhaps, they haven't covered my way of trading. As if im doing a useless hobby of mine again like watching numerous trading videos on youtube but now I'm reading papers, their thoughts aren't new to me and it's not significant to what im trying to build (even though I searched using keywords). Perhaps, the wild cards aren't published on the internet? I don't know, at least I'll try reading 10k+ books? make a bet. Long story short, everything found on the internet almost went straight to be called ‘trash’ in the XAUUSD market once again, at least at this time. It's not that their ideas are bad, it's just that they are not applicable in the said pair. I’ve also made fully automated trading strategies from backtesting, demo forward testing, and live trading. I’ve made 5 research papers about the development of algorithmic strategies, non-copied ideas.\n",
|
| 17 |
+
"\n",
|
| 18 |
+
"\n",
|
| 19 |
+
"\n",
|
| 20 |
+
"\n",
|
| 21 |
+
"The holy grail in algorithmic trading is nothing like in manual trading. Thus, I've decided to cut my lifespan into this shi journey. A way better path to take.\n",
|
| 22 |
+
"\n",
|
| 23 |
+
"\n",
|
| 24 |
+
"For my concepts\n",
|
| 25 |
+
"This study only includes time & OCHL prices data sets, nothing more.\n",
|
| 26 |
+
"\n",
|
| 27 |
+
"\n",
|
| 28 |
+
"\n",
|
| 29 |
+
"Useful for accession; notes from the book AFTS\n",
|
| 30 |
+
"Clarification:\tTrading Costs—a.) Commissions\tb.) Spread\n"
|
| 31 |
+
]
|
| 32 |
+
},
|
| 33 |
+
{
|
| 34 |
+
"cell_type": "markdown",
|
| 35 |
+
"id": "af3a3cdc",
|
| 36 |
+
"metadata": {},
|
| 37 |
+
"source": [
|
| 38 |
+
"sa"
|
| 39 |
+
]
|
| 40 |
+
}
|
| 41 |
+
],
|
| 42 |
+
"metadata": {
|
| 43 |
+
"language_info": {
|
| 44 |
+
"name": "python"
|
| 45 |
+
}
|
| 46 |
+
},
|
| 47 |
+
"nbformat": 4,
|
| 48 |
+
"nbformat_minor": 5
|
| 49 |
+
}
|
Documents/ewe.doc
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
Self taught and no mentor. But used countless freebies which exist across the internet. I've been strictly trading only XAUUSD in the Forex Exchange Market, in my manual retail trading career but still couldn't get consistent profitability. In fact I already lost 148k+ petot, but that data is worth roughly about 9 months in trading, even though I'm a trader with 18 months experience. My first 7 months (from June 7, 2024) were already at a six-figure loss. I stopped doing live trade but continued in demo accounts and a lot of backtests in my manual career. Never lost a day to practice trade. Despite that, I've made a lot of self made documentation 1500+ pages covering time & OCHL prices, volume volatility, market profiles, and orderflows mechanics (auction, footprint, heatmap & bubble orders, depth of the market) and some short books. I’ve developed a complex strategy and generated a clean upward equity curve in a live account. I’ve also coded indicators and strategies in TradingView, from simple to complex algorithms. But still not my ideal way of trading, it's too psychologically draining to implement. And I don't imagine myself watching the screen until I die (literal death). Recently, early November 2025, I've switched into becoming a fully systematic and automated trader, no discretionary decision involved in trading. I find it not hard to adapt from topics like prompting, coding, programing, large language models, machine learning, neural network, artificial intelligence, and many more embedded in algorithmic trading. Why and how? Because I like Research. I've read numerous academic papers but still haven't found an ideal way to trade the XAUUSD market. Perhaps, they haven't covered my way of trading. As if im doing a useless hobby of mine again like watching numerous trading videos on youtube but now I'm reading papers, their thoughts aren't new to me and it's not significant to what im trying to build (even though I searched using keywords). Perhaps, the wild cards aren't published on the internet? I don't know, at least I'll try reading 10k+ books? make a bet. Long story short, everything found on the internet almost went straight to be called ‘trash’ in the XAUUSD market once again, at least at this time. It's not that their ideas are bad, it's just that they are not applicable in the said pair. I’ve also made fully automated trading strategies from backtesting, demo forward testing, and live trading. I’ve made 5 research papers about the development of algorithmic strategies, non-copied ideas.
|
LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2026 Rembrant Oyangoren Albeos
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
README.md
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<div align="center">
|
| 2 |
+
<img src="https://img.shields.io/github/license/unban-algorembrant/QRAT2025" alt="License" />
|
| 3 |
+
<img src="https://img.shields.io/github/repo-size/unban-algorembrant/QRAT2025" alt="Repo Size" />
|
| 4 |
+
<img src="https://img.shields.io/github/last-commit/unban-algorembrant/QRAT2025" alt="Last Commit" />
|
| 5 |
+
<img src="https://img.shields.io/badge/Language-Python-blue" alt="Python" />
|
| 6 |
+
<img src="https://img.shields.io/badge/Language-MQL5-orange" alt="MQL5" />
|
| 7 |
+
<img src="https://img.shields.io/badge/Language-Pine_Script-yellow" alt="Pine Script" />
|
| 8 |
+
<img src="https://img.shields.io/badge/Language-Jupyter_Notebook-red" alt="Jupyter Notebook" />
|
| 9 |
+
</div>
|
| 10 |
+
|
| 11 |
+
<div align="center">
|
| 12 |
+
<strong>Retard Retail | Wanna be Quant | Independent Low-tier Researcher | Algorithmic Trader<br>
|
| 13 |
+
Wildmind Quasars LLC © 2026</strong>
|
| 14 |
+
</div>
|
| 15 |
+
<br>
|
| 16 |
+
|
| 17 |
+
<table>
|
| 18 |
+
<tr>
|
| 19 |
+
<td><img width="683" alt="image" src="https://github.com/user-attachments/assets/d454b550-ca78-4cda-a8e8-261edfca8601" /></td>
|
| 20 |
+
<td><img width="652" alt="550619554_1506792687170986_7254869329101140500_n" src="https://github.com/user-attachments/assets/1419e8ef-994b-4021-bae1-0a2655146f57" /></td>
|
| 21 |
+
</tr>
|
| 22 |
+
</table>
|
| 23 |
+
|
| 24 |
+
### Project Context
|
| 25 |
+
|
| 26 |
+
I value Psychology but put zero discretion when using automated Algorithmic Trading with philosophical trust. I hold no advantage over financial markets; I only risk what I can afford to lose. I acknowledge my blind spots and earnestly fill what I am lacking.
|
| 27 |
+
|
| 28 |
+
### Manual & Semi-Algorithmic Trading
|
| 29 |
+
```
|
| 30 |
+
Manual Methodologies: 390 pages
|
| 31 |
+
```
|
| 32 |
+
[Research Paper](https://drive.google.com/file/d/1R6qltpwIyxUY29CXOipuGSHORDSebuOL/view?usp=drive_link)
|
| 33 |
+
|
| 34 |
+
### Algorithmic Trading Projects Count (not number of files)
|
| 35 |
+
```
|
| 36 |
+
Pinescript language: 39
|
| 37 |
+
MQL5 language: 9
|
| 38 |
+
Python language: 31
|
| 39 |
+
|
| 40 |
+
Simple Research papers: 8 ~ (22, 12, 22, 9, 6, 8, 28, 25 pages)
|
| 41 |
+
```
|
| 42 |
+
[Sample simple research paper](https://github.com/user-attachments/files/24336132/3mTSHSUHC.rp3.pdf)
|
| 43 |
+
|
| 44 |
+
<div align="right">
|
| 45 |
+
recent update: Feb 25, 2026
|
| 46 |
+
</div>
|
| 47 |
+
|
| 48 |
+
### Programable Forte
|
| 49 |
+
|
| 50 |
+
<div align="center">
|
| 51 |
+
<img src="https://cdn.freelogovectors.net/wp-content/uploads/2021/12/tradingviewlogo-freelogovectors.net_-400x71.png" height="22"/>
|
| 52 |
+
<img src="https://handiko.github.io/TradingStrategy-Public/Pine_Script_logo_text.png" alt="Pine Script" height="30"/>
|
| 53 |
+
<img src="https://logos-world.net/wp-content/uploads/2021/10/Python-Symbol.png" alt="Python" height="30"/>
|
| 54 |
+
<img src="https://saturncloud.io/images/blog/jupyterlab.webp" alt="Jupyter Notebook" height="35"/>
|
| 55 |
+
<img src="https://cdn-icons-png.flaticon.com/512/6132/6132222.png" alt="C++" height="30"/>
|
| 56 |
+
<img src="https://prop-quant.com/wp-content/uploads/2018/06/mt5-logo.png" alt="MetaTrader 5" height="30"/>
|
| 57 |
+
<img src="https://media.licdn.com/dms/image/v2/D4D12AQEqVvTpCyxwaw/article-cover_image-shrink_720_1280/article-cover_image-shrink_720_1280/0/1730672674076?e=2147483647&v=beta&t=VTSEExPp57PUbPEoeylFe7iZhixtLx8KEL1wL2hOKVY" alt="MQL5" height="30"/>
|
| 58 |
+
<img src="https://tse1.mm.bing.net/th/id/OIP.rv5OqS18AqmwSL-V2bCfeQAAAA?rs=1&pid=ImgDetMain&o=7&rm=3" alt="Roblox" height="20"/>
|
| 59 |
+
<img src="https://miro.medium.com/v2/resize:fit:1200/1*I5_Wb3kQHnH4ph2SERay_g.png" alt="Lua" height="30"/>
|
| 60 |
+
<img src="https://www.rlp.manchester.ac.uk/wp-content/uploads/sites/151/2021/01/overleaf_wide_colour_light_bg-1-1024x339.png" alt="Overleaf" height="20"/>
|
| 61 |
+
<img src="https://ctan.org/teaser/pkg/latex" alt="LaTeX" height="20"/>
|
| 62 |
+
<img src="https://thetradersspread.com/wp-content/uploads/2020/02/exness-2-1.png" alt="Exness" height="25"/>
|
| 63 |
+
<img src="https://www.asmarterchoice.org/wp-content/uploads/2024/05/gocharting-logo-e1715014334902.png" alt="GoCharting" height="20"/>
|
| 64 |
+
<img src="https://github.com/user-attachments/assets/f95effe6-15ed-4ed9-926d-2502f4c7a41d" alt="StrategyQuantAnalyzer" height="35"/>
|
| 65 |
+
<img src="https://icon-library.com/images/java-icon-png/java-icon-png-15.jpg" alt="Java" height="35"/>
|
| 66 |
+
<img src="https://www.daytrading.com/wp-content/uploads/2021/11/Dukascopy-Logo-big.png" alt="Dukascopy" height="23"/>
|
| 67 |
+
<img src="https://tse4.mm.bing.net/th/id/OIP.bfmEMs26a1k371ktgN80mAHaBf?rs=1&pid=ImgDetMain&o=7&rm=3" alt="Binance" height="20"/>
|
| 68 |
+
<img src="https://propfirmforex.com/wp-content/uploads/2025/05/FTMO-logo-dark-vector-scaled.png" alt="ftmo" height="20"/>
|
| 69 |
+
<img src="https://tradersunion.com/images/brokers/906.jpeg" alt="fundednext" height="20"/>
|
| 70 |
+
</div>
|
| 71 |
+
|
| 72 |
+
<br>
|
| 73 |
+
|
| 74 |
+
<table align="center" style="border-collapse: collapse;">
|
| 75 |
+
<tr>
|
| 76 |
+
<td align="center" style="padding: 10px;">
|
| 77 |
+
<img src="https://github.com/user-attachments/assets/1b06c09c-7c36-4a1c-bb8d-6c9032b6ee92" width="500" alt="Analysis 1" />
|
| 78 |
+
</td>
|
| 79 |
+
<td align="center" style="padding: 10px;">
|
| 80 |
+
<img src="https://github.com/user-attachments/assets/cd6e9810-d92c-47f8-9a57-9429c2a54baf" width="500" alt="Analysis 2" />
|
| 81 |
+
</td>
|
| 82 |
+
</tr>
|
| 83 |
+
</table>
|
| 84 |
+
|
| 85 |
+
## System Overview
|
| 86 |
+
|
| 87 |
+
```mermaid
|
| 88 |
+
graph TD
|
| 89 |
+
A[Market Data] --> B{Analysis & Strategy}
|
| 90 |
+
B --> C[Pine Script - Signal Engineering/Viz]
|
| 91 |
+
B --> D[MQL5 - Execution/Expert Advisors]
|
| 92 |
+
B --> E[Python - Data Science/Modeling]
|
| 93 |
+
C --> F[Trading Terminal]
|
| 94 |
+
D --> F
|
| 95 |
+
E --> G[Research Papers & Validation]
|
| 96 |
+
G --> B
|
| 97 |
+
```
|
| 98 |
+
|
| 99 |
+
## Project Structure
|
| 100 |
+
|
| 101 |
+
```text
|
| 102 |
+
QRAT2025/
|
| 103 |
+
├── MQL5 Folder/ # MT5 Expert Advisors and indicators
|
| 104 |
+
├── Pinescript Folder/ # TradingView Signal Engineering
|
| 105 |
+
├── Python Folder/ # Data Science, Analytics, and Modeling
|
| 106 |
+
├── Research Papers/ # Strategy Validation & Papers
|
| 107 |
+
├── Documents/ # Reports and Attachments
|
| 108 |
+
├── Concepts and Topics Folder/ # Educational Notebooks
|
| 109 |
+
└── LICENSE # Project License
|
| 110 |
+
```
|
| 111 |
+
|
| 112 |
+
## Efficient Usage
|
| 113 |
+
|
| 114 |
+
To utilize this repository effectively, follow the standardized trading workflow:
|
| 115 |
+
1. Explore `Research Papers/` to understand strategy hypotheses and backtesting results.
|
| 116 |
+
2. Review `Python Folder/` for data preprocessing, signal analysis notebooks, and statistical modeling.
|
| 117 |
+
3. Deploy technical indicators via `Pinescript Folder/` for live market visualization on TradingView.
|
| 118 |
+
4. Implement automated execution using Expert Advisors located in `MQL5 Folder/` on MT5.
|
| 119 |
+
|
| 120 |
+
## Citation
|
| 121 |
+
|
| 122 |
+
```bibtex
|
| 123 |
+
@misc{QRAT2025,
|
| 124 |
+
author = {Albeos, Rembrant Oyangoren},
|
| 125 |
+
title = {{QRAT2025}},
|
| 126 |
+
year = {2026},
|
| 127 |
+
publisher = {Hugging Face},
|
| 128 |
+
url = {https://huggingface.co/algorembrant/QRAT2025},
|
| 129 |
+
note = {Hugging Face repository}
|
| 130 |
+
}
|
| 131 |
+
```
|
| 132 |
+
|
| 133 |
+
<table align="center">
|
| 134 |
+
<tr>
|
| 135 |
+
<td align="center">
|
| 136 |
+
<video
|
| 137 |
+
src="https://github.com/user-attachments/assets/86cd8a36-cc23-4857-af55-95795b6f3f65"
|
| 138 |
+
controls
|
| 139 |
+
width="360"
|
| 140 |
+
muted
|
| 141 |
+
loop
|
| 142 |
+
</td>
|
| 143 |
+
</tr>
|
| 144 |
+
</table>
|
| 145 |
+
|
| 146 |
+
|
| 147 |
+
|
| 148 |
+
|
| 149 |
+
|
| 150 |
+
|
| 151 |
+
|
| 152 |
+
|
| 153 |
+
|
| 154 |
+
|
| 155 |
+
|
| 156 |
+
|
| 157 |
+
|
| 158 |
+
|
| 159 |
+
|
| 160 |
+
|
| 161 |
+
|
| 162 |
+
|
| 163 |
+
|
| 164 |
+
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
|
| 168 |
+
|
| 169 |
+
|
| 170 |
+
|
| 171 |
+
|
| 172 |
+
|
| 173 |
+
|
| 174 |
+
|
| 175 |
+
|
| 176 |
+
|
| 177 |
+
|
| 178 |
+
|
| 179 |
+
|
| 180 |
+
|
| 181 |
+
|
| 182 |
+
|
| 183 |
+
|
| 184 |
+
|
| 185 |
+
|
| 186 |
+
|
| 187 |
+
|
| 188 |
+
|
| 189 |
+
|
| 190 |
+
|
| 191 |
+
|
| 192 |
+
|
| 193 |
+
|
| 194 |
+
|
| 195 |
+
|
| 196 |
+
|
| 197 |
+
|
| 198 |
+
|
Research Papers/The 3HTMOSDSDT.rp1_ Three-hour Timeframe Market Order Strategy with Defined Stoploss and Dynamic Takeprofit/3HTMOSDSDT.rp1.ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
Dynamic Takeprofit/newplot (25).png
RENAMED
|
File without changes
|
Dynamic Takeprofit/newplot (26).png
RENAMED
|
File without changes
|
Research Papers/The 3mTSHSUHC.rp2_ Stress Test & Evaluating the Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/Equity Curve of 3mTSHSUHCv1/342/200/231s Performance.png
ADDED
|
Research Papers/The 3mTSHSUHC.rp2_ Stress Test & Evaluating the Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/Intraday data set with Heatmap Candles Chart.png
ADDED
|
Research Papers/The 3mTSHSUHC.rp2_ Stress Test & Evaluating the Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/The 3mTSHSUHC.rp2, stress test .ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/Draft/this is it.ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/Draft/weighted score.ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/FULL_TRADE_STATISTICS_DATAFRAME.xls
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/TOP_10_PARAMETER_COMBINATIONS_BY_SCORE.xls
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
metric_threshold,min_bars_apart,num_trades,winrate_pct,return_pct,max_drawdown_pct,weighted_scaled_s
|
| 2 |
+
0.3,262,2,50.0,79.37,0.0,0.7646
|
| 3 |
+
0.3,263,2,50.0,78.4,0.0,0.7613
|
| 4 |
+
0.15000000000000002,124,7,42.86,169.79,15.57,0.7576
|
| 5 |
+
0.3,52,9,33.33,112.57,20.35,0.7099
|
| 6 |
+
0.3,51,9,33.33,103.83,20.67,0.7089
|
| 7 |
+
0.3,44,11,36.36,87.51,19.59,0.6809
|
| 8 |
+
0.3,265,2,50.0,51.23,0.0,0.6708
|
| 9 |
+
0.3,270,2,50.0,51.1,0.0,0.6703
|
| 10 |
+
0.15000000000000002,123,8,25.0,93.0,18.15,0.6662
|
| 11 |
+
0.3,267,2,50.0,49.35,0.0,0.6645
|
Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/single backtest framework.ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
Research Papers/The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/singlebactest draft&outlinie.ipynb
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
STACKS.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## Description
|
| 2 |
+
QRAT2025 is a comprehensive quantitative trading research and development repository. It integrates multi-dimensional market analysis (OCHL, time, volume, news) and trading strategies. The project covers a wide spectrum from technical indicators to advanced frameworks like Order Flow, Auction Market Theory, and GEX. It supports manual and algorithmic trading with implementations across MQL5 (MetaTrader 5), Pine Script (TradingView), and Python (Data Science/Analytics), enabling a full-stack trading workflow from hypothesis to statistical validation.
|
| 3 |
+
|
| 4 |
+
## System Overview
|
| 5 |
+
|
| 6 |
+
```mermaid
|
| 7 |
+
graph TD
|
| 8 |
+
A[Market Data] --> B{Analysis & Strategy}
|
| 9 |
+
B --> C[Pine Script - Signal Engineering/Viz]
|
| 10 |
+
B --> D[MQL5 - Execution/Expert Advisors]
|
| 11 |
+
B --> E[Python - Data Science/Modeling]
|
| 12 |
+
C --> F[Trading Terminal]
|
| 13 |
+
D --> F
|
| 14 |
+
E --> G[Research Papers & Validation]
|
| 15 |
+
G --> B
|
| 16 |
+
```
|
| 17 |
+
|
| 18 |
+
## Project Structure
|
| 19 |
+
|
| 20 |
+
```text
|
| 21 |
+
QRAT2025/
|
| 22 |
+
├── MQL5 Folder/ # MT5 Expert Advisors and Indicators
|
| 23 |
+
├── Pinescript Folder/ # TradingView Signal Engineering
|
| 24 |
+
├── Python Folder/ # Data Science and Analytics
|
| 25 |
+
├── Research Papers/ # Strategy Validation & Papers
|
| 26 |
+
├── Documents/ # Reports and Attachments
|
| 27 |
+
├── Concepts and Topics Folder/ # Educational Notebooks
|
| 28 |
+
└── LICENSE # Project License
|
| 29 |
+
```
|
| 30 |
+
|
| 31 |
+
## Techstack
|
| 32 |
+
Audit of project files (excluding environment and cache):
|
| 33 |
+
|
| 34 |
+
| File Type | Count | Size (KB) |
|
| 35 |
+
| :--- | :--- | :--- |
|
| 36 |
+
| Jupyter Notebook (.ipynb) | 185 | ~450,000 |
|
| 37 |
+
| PNG (.png) | 224 | ~35,000 |
|
| 38 |
+
| Python (.py) | 31 | ~120 |
|
| 39 |
+
| Pinescript (.pine) | 39 | ~150 |
|
| 40 |
+
| MQL5 (.mq5/.mqh) | 9 | ~80 |
|
| 41 |
+
| HTML (.html) | 48 | ~12,000 |
|
| 42 |
+
| Markdown (.md) | 5 | ~35 |
|
| 43 |
+
| License | 1 | 1.1 |
|
| 44 |
+
|
| 45 |
+
**Total Files**: ~542
|
| 46 |
+
|
| 47 |
+
## Dependencies
|
| 48 |
+
- **Python**:
|
| 49 |
+
- `MetaTrader5`: Data integration and execution.
|
| 50 |
+
- `pandas`: Data manipulation and analysis.
|
| 51 |
+
- `plotly`: Interactive financial charting.
|
| 52 |
+
- `matplotlib`: Static plotting and visualization.
|
| 53 |
+
- `mplfinance`: Specialized financial plotting.
|
| 54 |
+
- `datetime`: Time and timezone management.
|
| 55 |
+
- **MQL5**:
|
| 56 |
+
- `Trade`: Standard library for execution.
|
| 57 |
+
- `Indicator`: Custom technical indicator classes.
|
| 58 |
+
- **Pine Script**:
|
| 59 |
+
- `Strategy`: Automated backtesting engine.
|
| 60 |
+
- `Indicator`: Custom signal visualization.
|
| 61 |
+
|
| 62 |
+
|
STRUCTURE.md
ADDED
|
@@ -0,0 +1,579 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## Project Structure
|
| 2 |
+
|
| 3 |
+
```text
|
| 4 |
+
QRAT2025/
|
| 5 |
+
├── Concepts and Topics Folder/
|
| 6 |
+
│ ├── Basics/
|
| 7 |
+
│ │ ├── Basics 101.ipynb
|
| 8 |
+
│ │ ├── code promting.ipynb
|
| 9 |
+
│ │ ├── Foundation101.ipynb
|
| 10 |
+
│ │ └── nothing.ipynb
|
| 11 |
+
│ ├── concepts from other sources/
|
| 12 |
+
│ │ └── lists.ipynb
|
| 13 |
+
│ ├── Chart plotting using python.ipynb
|
| 14 |
+
│ ├── Max Number of Losing Streak in Regards to Winrate.ipynb
|
| 15 |
+
│ ├── Risk Management Logic.ipynb
|
| 16 |
+
│ └── The Law of Large Numbers (LLN).ipynb
|
| 17 |
+
├── Documents/
|
| 18 |
+
│ ├── QRAT2025/
|
| 19 |
+
│ │ ├── diversification_model/
|
| 20 |
+
│ │ │ ├── img (1).png
|
| 21 |
+
│ │ │ ├── img (2).png
|
| 22 |
+
│ │ │ ├── img (3).png
|
| 23 |
+
│ │ │ ├── img (4).png
|
| 24 |
+
│ │ │ └── ReportTester-257199749_Diversification.html
|
| 25 |
+
│ │ ├── dump/
|
| 26 |
+
│ │ │ ├── ReportHistory-206675473 - Shortcut (2).lnk
|
| 27 |
+
│ │ │ ├── ReportHistory-206675473 - Shortcut.lnk
|
| 28 |
+
│ │ │ ├── ReportHistory-263204408.html
|
| 29 |
+
│ │ │ ├── ReportHistory-263204408.png
|
| 30 |
+
│ │ │ ├── ReportHistory-2632044080.html
|
| 31 |
+
│ │ │ ├── ReportHistory-2632044080.png
|
| 32 |
+
│ │ │ ├── ReportHistory-26320440800.html
|
| 33 |
+
│ │ │ ├── ReportHistory-26320440800.png
|
| 34 |
+
│ │ │ ├── ReportHistory-263204408000.html
|
| 35 |
+
│ │ │ ├── ReportHistory-263204408000.png
|
| 36 |
+
│ │ │ ├── ReportHistory-263204408gg.html
|
| 37 |
+
│ │ │ ├── ReportHistory-263204408gg.png
|
| 38 |
+
│ │ │ ├── ReportHistory-270451645.html
|
| 39 |
+
│ │ │ ├── ReportHistory-270451645.png
|
| 40 |
+
│ │ │ ├── ReportHistory-270454941.html
|
| 41 |
+
│ │ │ ├── ReportHistory-270454941.png
|
| 42 |
+
│ │ │ ├── ReportHistory-270456114.html
|
| 43 |
+
│ │ │ ├── ReportHistory-270456114.png
|
| 44 |
+
│ │ │ ├── ReportHistory-270461496.html
|
| 45 |
+
│ │ │ ├── ReportHistory-270461496.png
|
| 46 |
+
│ │ │ ├── ReportHistory-2704614960.html
|
| 47 |
+
│ │ │ ├── ReportHistory-2704614960.png
|
| 48 |
+
│ │ │ ├── ReportHistory-27046149600.html
|
| 49 |
+
│ │ │ ├── ReportHistory-27046149600.png
|
| 50 |
+
│ │ │ ├── ReportHistory-270461496000.html
|
| 51 |
+
│ │ │ ├── ReportHistory-270461496000.png
|
| 52 |
+
│ │ │ ├── ReportHistory-2704614960000.html
|
| 53 |
+
│ │ │ ├── ReportHistory-2704614960000.png
|
| 54 |
+
│ │ │ ├── ReportHistory-27046149600000.html
|
| 55 |
+
│ │ │ ├── ReportHistory-27046149600000.png
|
| 56 |
+
│ │ │ ├── ReportHistory-272840495.html
|
| 57 |
+
│ │ │ ├── ReportHistory-272840495.png
|
| 58 |
+
│ │ │ ├── ReportHistory-272840495.xlsx
|
| 59 |
+
│ │ │ ├── ReportHistory-2728404950.html
|
| 60 |
+
│ │ │ ├── ReportHistory-2728404950.png
|
| 61 |
+
│ │ │ ├── ReportHistory-274899951.html
|
| 62 |
+
│ │ │ ├── ReportHistory-274899951.png
|
| 63 |
+
│ │ │ ├── ReportTester-257199749 qwe-holding.png
|
| 64 |
+
│ │ │ ├── ReportTester-257199749 qwe-hst.png
|
| 65 |
+
│ │ │ ├── ReportTester-257199749 qwe-mfemae.png
|
| 66 |
+
│ │ │ ├── ReportTester-257199749 qwe.html
|
| 67 |
+
│ │ │ ├── ReportTester-257199749 qwe.png
|
| 68 |
+
│ │ │ ├── ReportTester-257199749-holding.png
|
| 69 |
+
│ │ │ ├── ReportTester-257199749-hst.png
|
| 70 |
+
│ │ │ ├── ReportTester-257199749-mfemae.png
|
| 71 |
+
│ │ │ ├── ReportTester-257199749.html
|
| 72 |
+
│ │ │ ├── ReportTester-257199749.png
|
| 73 |
+
│ │ │ ├── ReportTester-257199749BTCUSDc1-holding.png
|
| 74 |
+
│ │ │ ├── ReportTester-257199749BTCUSDc1-hst.png
|
| 75 |
+
│ │ │ ├── ReportTester-257199749BTCUSDc1-mfemae.png
|
| 76 |
+
│ │ │ ├── ReportTester-257199749BTCUSDc1.html
|
| 77 |
+
│ │ │ ├── ReportTester-257199749BTCUSDc1.png
|
| 78 |
+
│ │ │ ├── ReportTester-257199749q-holding.png
|
| 79 |
+
│ │ │ ├── ReportTester-257199749q-hst.png
|
| 80 |
+
│ │ │ ├── ReportTester-257199749q-mfemae.png
|
| 81 |
+
│ │ │ ├── ReportTester-257199749q.html
|
| 82 |
+
│ │ │ ├── ReportTester-257199749q.png
|
| 83 |
+
│ │ │ ├── ReportTesterhedgeminimum-257199749-holding.png
|
| 84 |
+
│ │ │ ├── ReportTesterhedgeminimum-257199749-hst.png
|
| 85 |
+
│ │ │ ├── ReportTesterhedgeminimum-257199749-mfemae.png
|
| 86 |
+
│ │ │ ├── ReportTesterhedgeminimum-257199749.html
|
| 87 |
+
│ │ │ ├── ReportTesterhedgeminimum-257199749.png
|
| 88 |
+
│ │ │ ├── ReportTesterskip 3-6 bar-257199749-holding.png
|
| 89 |
+
│ │ │ ├── ReportTesterskip 3-6 bar-257199749-hst.png
|
| 90 |
+
│ │ │ ├── ReportTesterskip 3-6 bar-257199749-mfemae.png
|
| 91 |
+
│ │ │ ├─�� ReportTesterskip 3-6 bar-257199749.html
|
| 92 |
+
│ │ │ ├── ReportTesterskip 3-6 bar-257199749.png
|
| 93 |
+
│ │ │ └── traderbotversion1.set
|
| 94 |
+
│ │ ├── live_stopouthedging/
|
| 95 |
+
│ │ │ ├── ReportHistory-257199749 7am to 10am.html
|
| 96 |
+
│ │ │ ├── ReportHistory-257199749 7am to 10am.png
|
| 97 |
+
│ │ │ ├── ReportHistory-257199749 7am to 11am.html
|
| 98 |
+
│ │ │ ├── ReportHistory-257199749 7am to 11am.png
|
| 99 |
+
│ │ │ ├── ReportHistory-257199749 7am to 1pm.html
|
| 100 |
+
│ │ │ ├── ReportHistory-257199749 7am to 1pm.png
|
| 101 |
+
│ │ │ ├── ReportHistory-257199749 7am to 2pm.html
|
| 102 |
+
│ │ │ ├── ReportHistory-257199749 7am to 2pm.png
|
| 103 |
+
│ │ │ ├── ReportHistory-257199749 7am to 8am.html
|
| 104 |
+
│ │ │ ├── ReportHistory-257199749 7am to 8am.png
|
| 105 |
+
│ │ │ ├── ReportHistory-257199749 7am to 9am.html
|
| 106 |
+
│ │ │ ├── ReportHistory-257199749 7am to 9am.png
|
| 107 |
+
│ │ │ ├── ReportHistory-257199749 alltime.html
|
| 108 |
+
│ │ │ ├── ReportHistory-257199749 alltime.png
|
| 109 |
+
│ │ │ ├── ReportHistory-257199749.html
|
| 110 |
+
│ │ │ ├── ReportHistory-257199749.png
|
| 111 |
+
│ │ │ ├── ReportHistory-263204408 LiveTest2 runall.html
|
| 112 |
+
│ │ │ ├── ReportHistory-263204408 LiveTest2 runall.png
|
| 113 |
+
│ │ │ ├── ReportHistory-263204408.html
|
| 114 |
+
│ │ │ ├── ReportHistory-263204408.png
|
| 115 |
+
│ │ │ ├── ReportHistory-263204408gg.html
|
| 116 |
+
│ │ │ └── ReportHistory-263204408gg.png
|
| 117 |
+
│ │ └── livereport/
|
| 118 |
+
│ │ ├── ReportHistory-148362150 live1.html
|
| 119 |
+
│ │ ├── ReportHistory-148362150 live1.png
|
| 120 |
+
│ │ ├── ReportHistory-183590578 Live3.html
|
| 121 |
+
│ │ ├── ReportHistory-183590578 Live3.png
|
| 122 |
+
│ │ ├── ReportHistory-186000559 live2.html
|
| 123 |
+
│ │ └── ReportHistory-186000559 live2.png
|
| 124 |
+
│ ├── eeee.ipynb
|
| 125 |
+
│ └── ewe.doc
|
| 126 |
+
├── MQL5 Folder/
|
| 127 |
+
│ ├── #1EATB-Expert Advisor Trading Bot for MT5/
|
| 128 |
+
│ │ ├── LiveTest1 Results/
|
| 129 |
+
│ │ │ ├── ReportHistory-257199749 alltime.html
|
| 130 |
+
│ │ │ └── ReportHistory-257199749 alltime.png
|
| 131 |
+
│ │ ├── LiveTest2 Results/
|
| 132 |
+
│ │ │ ├── ReportHistory-263204408 LiveTest2 runall.html
|
| 133 |
+
│ │ │ └── ReportHistory-263204408 LiveTest2 runall.png
|
| 134 |
+
│ │ ├── Test1 Results/
|
| 135 |
+
│ │ │ ├── nonetest Results/
|
| 136 |
+
│ │ │ │ └── nonetest parameters.txt
|
| 137 |
+
│ │ │ ├── ReportHistory-270451645.html
|
| 138 |
+
│ │ │ ├── ReportHistory-270451645.png
|
| 139 |
+
│ │ │ ├── testsummary.txt
|
| 140 |
+
│ │ │ ├── total prompting attempt.txt
|
| 141 |
+
│ │ │ ├── traderbotversion1.set
|
| 142 |
+
│ │ │ ├── TradingBotVersion1.ex5
|
| 143 |
+
│ │ │ └── TradingBotVersion1.mq5
|
| 144 |
+
│ │ ├── Test2 Results/
|
| 145 |
+
│ │ │ ├── parameters.txt
|
| 146 |
+
│ │ │ ├── ReportHistory-206675473.html
|
| 147 |
+
│ │ │ └── ReportHistory-206675473.png
|
| 148 |
+
│ │ ├── Test3 Results/
|
| 149 |
+
│ │ │ ├── ReportHistory-274899951.html
|
| 150 |
+
│ │ │ ├── ReportHistory-274899951.png
|
| 151 |
+
│ │ │ └── test 3 paramenters.txt
|
| 152 |
+
│ │ ├── Test4 Results/
|
| 153 |
+
│ │ │ ├── parameters&summary.txt
|
| 154 |
+
│ │ │ ├── ReportHistory-270454941.html
|
| 155 |
+
│ │ │ └── ReportHistory-270454941.png
|
| 156 |
+
│ │ ├── Test5 Results/
|
| 157 |
+
│ │ │ ├── ReportHistory-270456114.html
|
| 158 |
+
│ │ │ ├── ReportHistory-270456114.png
|
| 159 |
+
│ │ │ └── summary¶tener.txt
|
| 160 |
+
│ │ ├── Test6 Results/
|
| 161 |
+
│ │ │ ├── ReportHistory-2728404950.html
|
| 162 |
+
│ │ │ ├── ReportHistory-2728404950.png
|
| 163 |
+
│ │ │ └── test 6 parameters.txt
|
| 164 |
+
│ │ ├── Testrun12hours Results/
|
| 165 |
+
│ │ │ ├── ReportHistory-2704614960000.html
|
| 166 |
+
│ │ │ ├── ReportHistory-2704614960000.png
|
| 167 |
+
│ │ │ └── seummary and parameters.txt
|
| 168 |
+
│ │ ├── #1EATB.mq5
|
| 169 |
+
│ │ └── MT5-EA_1min hedge stoporders.ipynb
|
| 170 |
+
│ ├── 0_00-3_00 Range/
|
| 171 |
+
│ │ ├── 03 Hedge.ipynb
|
| 172 |
+
│ │ ├── 03 range hedge minimum.ipynb
|
| 173 |
+
│ │ ├── attempts.ipynb
|
| 174 |
+
│ │ ├── Diversification.ipynb
|
| 175 |
+
│ │ ├── Refined version.ipynb
|
| 176 |
+
│ │ └── scratch.mql
|
| 177 |
+
│ ├── 89RS MT5 version/
|
| 178 |
+
│ │ └── 89RS MT5 version.ipynb
|
| 179 |
+
│ ├── ADX Filter/
|
| 180 |
+
│ │ ├── First candle highlighter with adx.ipynb
|
| 181 |
+
│ │ └── template with 1st candle highlighter.mq5
|
| 182 |
+
│ ├── Dec25_Volume Profile based breakout momentuim strategy/
|
| 183 |
+
│ │ ���── codeclaude.c++
|
| 184 |
+
│ │ └── codegemini.c++
|
| 185 |
+
│ ├── Dec29_6-8 range/
|
| 186 |
+
│ │ ├── strategy.ipynb
|
| 187 |
+
│ │ ├── v1.c++
|
| 188 |
+
│ │ └── v2.c++
|
| 189 |
+
│ ├── Developing POC/
|
| 190 |
+
│ │ └── developing POC line.ipynb
|
| 191 |
+
│ ├── H3 0 bar redbear bluebull (indicator)/
|
| 192 |
+
│ │ ├── 1_version.mq5
|
| 193 |
+
│ │ └── H3 0 bar redbear bluebull (indicator).ipynb
|
| 194 |
+
│ └── Revised 0-3/
|
| 195 |
+
│ ├── best/
|
| 196 |
+
│ │ └── highest performing.mq5
|
| 197 |
+
│ ├── 1_latestbest.mq5
|
| 198 |
+
│ ├── 2_latestbest.mq5
|
| 199 |
+
│ ├── 3_latestbest.mw5
|
| 200 |
+
│ ├── 4_latestbest.mq5
|
| 201 |
+
│ └── revised from very begining.ipynb
|
| 202 |
+
├── Pinescript Folder/
|
| 203 |
+
│ ├── 0SCT2025/
|
| 204 |
+
│ │ ├── SCT Sunstoic's Charting Tool.ipynb
|
| 205 |
+
│ │ ├── SCT2025indicator1-pinescript.js
|
| 206 |
+
│ │ └── SCT2025indicator2-pinescript.js
|
| 207 |
+
│ ├── 12pm Key Level/
|
| 208 |
+
│ │ └── 4_00 utc key.ipynb
|
| 209 |
+
│ ├── 1D Candle Preview/
|
| 210 |
+
│ │ └── daily candle preview.ipynb
|
| 211 |
+
│ ├── 3-Candle Pattern Highlighter (1-Minute Only) General engulfing/
|
| 212 |
+
│ │ └── 3-Candle Pattern Highlighter (1-Minute Only).ipynb
|
| 213 |
+
│ ├── 3-Minute Engulfing Pattern (3mEP) - 1m Visible/
|
| 214 |
+
│ │ └── 3-Minute Engulfing Pattern (3mEP) - 1m Visible.ipynb
|
| 215 |
+
│ ├── 30m high & low/
|
| 216 |
+
│ │ └── 30m highlighter in lower timeframe.ipynb
|
| 217 |
+
│ ├── 3am to close & 9am to 11am Candle/
|
| 218 |
+
│ │ └── limited candles.ipynb
|
| 219 |
+
│ ├── 4CCP + 4CRP Patterns/
|
| 220 |
+
│ │ └── 4CCP + 4CRP Patterns.ipynb
|
| 221 |
+
│ ├── 4CCP + 6CBP Pattern Detector + 30minute bars (AsiaManila)/
|
| 222 |
+
│ │ └── 4CCP + 6CBP Pattern Detector + 30minute bars (AsiaManila).ipynb
|
| 223 |
+
│ ├── 4CCP Pattern detector/
|
| 224 |
+
│ │ └── 4CCP Pattern detector-pinescript.js
|
| 225 |
+
│ ├── 4CEP + 10CRP Patterns/
|
| 226 |
+
│ │ └── 4CEP + 10CRP Patterns.ipynb
|
| 227 |
+
│ ├── 4CEP-T1 & T2 Patterns - Tiny Circle Labels on 3rd Candle/
|
| 228 |
+
│ │ └── 4CEP-T1 & T2 Patterns - Tiny Circle Labels on 3rd Candle.ipynb
|
| 229 |
+
│ ├── 5 Candle Pattern Highlighter (1-Minute Only)/
|
| 230 |
+
│ │ └── 5 Candle Pattern Highlighter (1-Minute Only).ipynb
|
| 231 |
+
│ ├── 6CBP Pattern Detector (Bearish & Bullish)/
|
| 232 |
+
│ │ ├── 6CBP Pattern Detector (Bearish & Bullish).ipynb
|
| 233 |
+
│ │ └── with timestamp version.ipynb
|
| 234 |
+
│ ├── 89RS/
|
| 235 |
+
│ │ ├── 89RS Rangebreakout Stoporder Model.ipynb
|
| 236 |
+
│ │ ├── 89RSindicator-pinescript.js
|
| 237 |
+
│ │ └── 89RSstrategy-pinescript.js
|
| 238 |
+
│ ├── AMDX/
|
| 239 |
+
│ │ └── quarterly.ipynb
|
| 240 |
+
│ ├── Buying at Mariana's Trench/
|
| 241 |
+
│ │ └── buying at marianas trench.ipynb
|
| 242 |
+
│ ├── Daily Candle in Lower Timeframes/
|
| 243 |
+
│ │ └── daily candle convertor.ipynb
|
| 244 |
+
│ ├── Exact 30m Candles in any timeframe/
|
| 245 |
+
│ │ └── live 30m candles.ipynb
|
| 246 |
+
│ ├── Hihglight Key Hourly Candles/
|
| 247 |
+
│ │ └── highlight.ipynb
|
| 248 |
+
│ ├── Hourly Range Logic/
|
| 249 |
+
│ │ └── HR.ipynb
|
| 250 |
+
│ ├── Manual Key level/
|
| 251 |
+
│ │ └── key levels input.ipynb
|
| 252 |
+
│ ├── Market Profile (Volume based)/
|
| 253 |
+
│ │ └── market profile volume based.ipynb
|
| 254 |
+
│ ├── OB-OS Multi-Indicator Dashboard/
|
| 255 |
+
│ │ └── OB/
|
| 256 |
+
│ │ └── OS Multi-Indicator Dashboard.ipynb
|
| 257 |
+
│ ├── Relative Strength Index/
|
| 258 |
+
│ │ └── colored overbough and oversold region.ipynb
|
| 259 |
+
│ ├── Risk Manager and Position Sizing/
|
| 260 |
+
│ │ ├── Risk Manager and Position Sizing-pinescript.js
|
| 261 |
+
│ │ └── Risk Manager and Position Sizing.ipynb
|
| 262 |
+
│ ├── Synthetic Gamma Exposure (GEX)/
|
| 263 |
+
│ │ └── gex.ipynb
|
| 264 |
+
│ ├── Table Statistics/
|
| 265 |
+
│ │ └── clean table.ipynb
|
| 266 |
+
│ ├── Time Logic Reference/
|
| 267 |
+
│ │ └── Time Logic Reference.ipynb
|
| 268 |
+
│ ├── v3 Simple/
|
| 269 |
+
│ │ └── highlight and 1D candle.ipynb
|
| 270 |
+
│ ├── v4 Variant 1/
|
| 271 |
+
│ │ └── v4 30m,15m,3m.ipynb
|
| 272 |
+
│ ├── v5 Cummulative Delta/
|
| 273 |
+
│ │ └── cummulative deta.ipynb
|
| 274 |
+
│ ├── v5 Variant 1/
|
| 275 |
+
│ │ └── v5 30m,15m,3m (with clean table) .ipynb
|
| 276 |
+
│ ├── v5 Variant 2/
|
| 277 |
+
│ │ └── fuhfuhlogic.ipynb
|
| 278 |
+
│ ├── v6 Sunstoic/
|
| 279 |
+
│ │ └── part1.ipynb
|
| 280 |
+
│ ├── Verttical Lines at Specific Time/
|
| 281 |
+
│ │ └── Vertical lines at specific time.ipynb
|
| 282 |
+
│ ├── Vison Market Profile/
|
| 283 |
+
│ │ └── vison market profile.ipynb
|
| 284 |
+
│ ├── VROC buy&sell/
|
| 285 |
+
│ │ └── vroc buysell.ipynb
|
| 286 |
+
│ └── VWAP witih buy&sell spread/
|
| 287 |
+
│ └── VWAP with buy&sell spread.ipynb
|
| 288 |
+
├── Python Folder/
|
| 289 |
+
│ ├── 3 tick-volume pattern hedge/
|
| 290 |
+
│ │ ├── 3 tick-volume pattern hedge.ipynb
|
| 291 |
+
│ │ ├── save.ipynb
|
| 292 |
+
│ │ └── XAUUSDc M30 – Tick-Volume First Pattern + DMA Overlay + RAVI (UTC Reset).ipynb
|
| 293 |
+
│ ├── All country's Total Debt/
|
| 294 |
+
│ │ ├── Part2/
|
| 295 |
+
│ │ │ ├── update 2.ipynb
|
| 296 |
+
│ │ │ └── Worldwide National Debt Profiles.ipynb
|
| 297 |
+
│ │ ├── debt.ipynb
|
| 298 |
+
│ │ └── Worldwind Yearly Debt (1).ipynb
|
| 299 |
+
│ ├── Bubble Orders/
|
| 300 |
+
│ │ ├── Bubble Orders.ipynb
|
| 301 |
+
│ │ └── xau_bubbles_zones.xls
|
| 302 |
+
│ ├── Candlestick, Tick Volume, Range, Body , Wick/
|
| 303 |
+
│ │ ├── (10 panes) XAUUSDc 3-Minute Candlestick with Tick Volume, Range, Body & Wick.ipynb
|
| 304 |
+
│ │ ├── Filter(body_greaterthan_upper-wick_or_lower-wick).ipynb
|
| 305 |
+
│ │ └── promting attempts.ipynb
|
| 306 |
+
│ ├── COT Report Interpreter/
|
| 307 |
+
│ │ ├── COT Report.ipynb
|
| 308 |
+
│ │ └── VROC, COT report.ipynb
|
| 309 |
+
│ ├── Cummulative Volume/
|
| 310 |
+
│ │ └── MarketOpenClose.ipynb
|
| 311 |
+
│ ├── Dec25.2025_Volume Profile based strategy visualization/
|
| 312 |
+
│ │ ├── 1_framework.ipynb
|
| 313 |
+
│ │ └── 2_framework.ipynb
|
| 314 |
+
│ ├── Dec31_Newsfetching/
|
| 315 |
+
│ │ └── Newfetching.ipynb
|
| 316 |
+
│ ├── Downslope Linear Regression/
|
| 317 |
+
│ │ └── Downslope Linear Regression in Volume.ipynb
|
| 318 |
+
│ ├── EBP One Candle Strategy/
|
| 319 |
+
│ │ └── EBP One Candle Strategy.ipynb
|
| 320 |
+
│ ├── Equity Profile Clasification/
|
| 321 |
+
│ │ ├── Equity classification.ipynb
|
| 322 |
+
│ │ ├── notebook1.ipynb
|
| 323 |
+
│ │ └── notebook2.ipynb
|
| 324 |
+
│ ├── Fetching Data from mplfinance/
|
| 325 |
+
│ │ └── Fetching Data from mplfinance.ipynb
|
| 326 |
+
│ ├── Fetching Portfolio/
|
| 327 |
+
│ │ ├── Broker account fetching.ipynb
|
| 328 |
+
│ │ └── Python fetching portfolio from MT5.ipynb
|
| 329 |
+
│ ├── imprvedversionof1bardelaySwing/
|
| 330 |
+
│ │ ├── attempts.ipynb
|
| 331 |
+
│ │ └── bestswing1BarDelay.ipynb
|
| 332 |
+
│ ├── Law of Large Numbers/
|
| 333 |
+
│ │ └── Law of Large Numbers.ipynb
|
| 334 |
+
│ ├── Market Profiles/
|
| 335 |
+
│ │ ├── Market Profile (volumedata ver).ipynb
|
| 336 |
+
│ │ └── marketprofile on separate graph, chartbasic.ipynb
|
| 337 |
+
│ ├── OHRMRSHS (from 89RS)/
|
| 338 |
+
│ │ └── OHRMRSHS.ipynb
|
| 339 |
+
│ ├── Rem lookback Algorithm/
|
| 340 |
+
│ │ ├── 1bardelay.ipynb
|
| 341 |
+
│ │ ├── 1barlagSwing.ipynb
|
| 342 |
+
│ │ ├── best1barLag.ipynb
|
| 343 |
+
│ │ ├── Rem lookback Algorithm.ipynb
|
| 344 |
+
│ │ └── Volume Score Lookback algorithm.ipynb
|
| 345 |
+
│ ├── Remscount Algorithm/
|
| 346 |
+
│ │ ├── (10 panes) XAUUSDc 3-Minute Candlestick with Tick Volume, Range, Body & Wick (1).ipynb
|
| 347 |
+
│ │ ├── 3candlepattern.ipynb
|
| 348 |
+
│ │ ├── bestswing1BarDelay.ipynb
|
| 349 |
+
│ │ ├── Filter(body_greaterthan_upper-wick_or_lower-wick) (1).ipynb
|
| 350 |
+
│ │ ├── Lowest Pattern Score count.ipynb
|
| 351 |
+
│ │ ├── patternScore.ipynb
|
| 352 |
+
│ │ ├── remscountalgorithm(draft) (1).ipynb
|
| 353 |
+
│ │ └── remscountalgorithm(draft).ipynb
|
| 354 |
+
│ ├── The 0.25 precision footprint candles/
|
| 355 |
+
│ │ ├── Footprint 0.25 cluster precision, market profile.ipynb
|
| 356 |
+
│ │ └── PixeldFootprint.ipynb
|
| 357 |
+
│ ├── Ticker Quotes Fetching/
|
| 358 |
+
│ │ ├── notthis.py
|
| 359 |
+
│ │ └── Quotes of all tradable assets in Exness.ipynb
|
| 360 |
+
│ ├── Time Alignment/
|
| 361 |
+
│ │ └── time alignment.ipynb
|
| 362 |
+
│ ├── Using Python to plot charts from MT5's data feed, mplfinance, matplotlib, plotly charts/
|
| 363 |
+
│ │ ├── notthis.py
|
| 364 |
+
│ │ └── Using Python to plot charts from MT5's data feed, mplfinance, matplotlib, plotly charts.ipynb
|
| 365 |
+
│ ├── Variance and Standard Deviations/
|
| 366 |
+
│ │ ├── notthis.py
|
| 367 |
+
│ │ └── Variance and Standard Deviations.ipynb
|
| 368 |
+
│ ├── Volatility Based Trading Strategy, VTR, ADX, DI, DMag/
|
| 369 |
+
│ │ ├── From tiktok_VTR, ADX, DI, DMag.ipynb
|
| 370 |
+
│ │ ├── notthis.py
|
| 371 |
+
│ │ ├── Volatility Based Trading Strategy, VTR, ADX, DI, DMag.pdf
|
| 372 |
+
│ │ ├── VTR signals, market profile.ipynb
|
| 373 |
+
│ │ ├── VTRchart.ipynb
|
| 374 |
+
│ │ ├── xau_system_output.xls
|
| 375 |
+
│ │ ├── xau_system_signals.png
|
| 376 |
+
│ │ ├── xau_vtr_output.xls
|
| 377 |
+
│ │ └── xau_vtr_tickvolume_output.xls
|
| 378 |
+
│ ├── Volume Spread Analysis/
|
| 379 |
+
│ │ ├── notthis.py
|
| 380 |
+
│ │ └── VSA.ipynb
|
| 381 |
+
│ └── Worldmap/
|
| 382 |
+
│ └── Worldmap.ipynb
|
| 383 |
+
├── Research Papers/
|
| 384 |
+
│ ├── The 1CPMOTS.rp1_ Is Treating Trading Worse Than a Coin Flip, but with a Slight Edge, Profitable_/
|
| 385 |
+
│ │ ├── codes/
|
| 386 |
+
│ │ │ ├── 1candlepattern.ipynb
|
| 387 |
+
│ │ │ └── Comparative Visualization of Backtest Metrics.ipynb
|
| 388 |
+
│ │ ├── 1CPMOTS_rp1.pdf
|
| 389 |
+
│ │ └── newplot (2).png
|
| 390 |
+
│ ├── The 1HRMRSS.rp1_ Design and Optimization of the One Hour Range Median Reversion Stoporder Strategy/
|
| 391 |
+
│ │ ├── CSV files/
|
| 392 |
+
│ │ │ ├── 1HRMRSS_MCS1000 - total.csv
|
| 393 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC00-01_avg_equity.xls
|
| 394 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC01-02_avg_equity.xls
|
| 395 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC02-03_avg_equity.xls
|
| 396 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC03-04_avg_equity.xls
|
| 397 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC04-05_avg_equity.xls
|
| 398 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC05-06_avg_equity.xls
|
| 399 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC06-07_avg_equity.xls
|
| 400 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC07-08_avg_equity.xls
|
| 401 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC08-09_avg_equity.xls
|
| 402 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC09-10_avg_equity.xls
|
| 403 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC10-11_avg_equity.xls
|
| 404 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC11-12_avg_equity.xls
|
| 405 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC12-13_avg_equity.xls
|
| 406 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC13-14_avg_equity.xls
|
| 407 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC14-15_avg_equity.xls
|
| 408 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC15-16_avg_equity.xls
|
| 409 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC16-17_avg_equity.xls
|
| 410 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC17-18_avg_equity.xls
|
| 411 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC18-19_avg_equity.xls
|
| 412 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC19-20_avg_equity.xls
|
| 413 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC20-21_avg_equity.xls
|
| 414 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC21-22(empty)_avg_equity.xls
|
| 415 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC22-23_avg_equity.xls
|
| 416 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC23-24(empty)_avg_equity.xls
|
| 417 |
+
│ │ │ └── 1HRMRSS_MCS1000_UTC24-00(empty)_avg_equity.xls
|
| 418 |
+
│ │ ├── Drafts/
|
| 419 |
+
│ │ │ ├── (Draft) SwingHHLLbreakout strategy.ipynb
|
| 420 |
+
│ │ │ ├── 89RS.ipynb
|
| 421 |
+
│ │ │ ├── draft too.ipynb
|
| 422 |
+
│ │ │ ├── Research2.1.ipynb
|
| 423 |
+
│ │ │ └── Research2.ipynb
|
| 424 |
+
│ │ ├── Notebooks/
|
| 425 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC00-01.ipynb
|
| 426 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC01-02.ipynb
|
| 427 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC02-03.ipynb
|
| 428 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC03-04.ipynb
|
| 429 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC04-05.ipynb
|
| 430 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC05-06.ipynb
|
| 431 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC06-07.ipynb
|
| 432 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC07-08.ipynb
|
| 433 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC08-09.ipynb
|
| 434 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC09-10.ipynb
|
| 435 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC10-11.ipynb
|
| 436 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC11-12.ipynb
|
| 437 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC12-13.ipynb
|
| 438 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC13-14.ipynb
|
| 439 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC14-15.ipynb
|
| 440 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC15-16.ipynb
|
| 441 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC16-17.ipynb
|
| 442 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC17-18.ipynb
|
| 443 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC18-19.ipynb
|
| 444 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC19-20.ipynb
|
| 445 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC20-21.ipynb
|
| 446 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC21-22(empty).ipynb
|
| 447 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC22-23(empty).ipynb
|
| 448 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC23-24(empty).ipynb
|
| 449 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTC24-00(empty).ipynb
|
| 450 |
+
│ │ │ ├── 1HRMRSS_MCS1000_UTCTotal_avg_equity.ipynb
|
| 451 |
+
│ │ │ └── note
|
| 452 |
+
│ │ ├── Performance img/
|
| 453 |
+
│ │ │ ├── 1HRMRSS_MCS1000_ProfitabilityPerformance.png
|
| 454 |
+
│ │ │ ├── 1HRMRSS_MCS1000_profitableEquityCurves.png
|
| 455 |
+
│ │ │ ├── 1HRMRSS_MCS1000_TradesPerformance.png
|
| 456 |
+
│ │ │ ├── 1HRMRSS_MCS1000_unprofitableEquityCurves.png
|
| 457 |
+
│ │ │ ├── 3D performance draft.ipynb
|
| 458 |
+
│ │ │ ├── 3D performance draft1.ipynb
|
| 459 |
+
│ │ │ ├── avg_00-01.png
|
| 460 |
+
│ │ │ ├── avg_01-02.png
|
| 461 |
+
│ │ │ ├── avg_02-03.png
|
| 462 |
+
│ │ │ ├── avg_03-04.png
|
| 463 |
+
│ │ │ ├── avg_04-05.png
|
| 464 |
+
│ │ │ ├── avg_05-06.png
|
| 465 |
+
│ │ │ ├── avg_06-07.png
|
| 466 |
+
│ │ │ ├── avg_07-08.png
|
| 467 |
+
│ │ │ ├── avg_08-09.png
|
| 468 |
+
│ │ │ ├── avg_09-10.png
|
| 469 |
+
│ │ │ ├── avg_10-11.png
|
| 470 |
+
│ │ │ ├── avg_11-12.png
|
| 471 |
+
│ │ │ ├── avg_12-13.png
|
| 472 |
+
�� │ │ ├── avg_13-14.png
|
| 473 |
+
│ │ │ ├── avg_14-15.png
|
| 474 |
+
│ │ │ ├── avg_15-16.png
|
| 475 |
+
│ │ │ ├── avg_16-17.png
|
| 476 |
+
│ │ │ ├── avg_17-18.png
|
| 477 |
+
│ │ │ ├── avg_18-19.png
|
| 478 |
+
│ │ │ ├── avg_19-20.png
|
| 479 |
+
│ │ │ ├── avg_20-21.png
|
| 480 |
+
│ │ │ ├── avg_21-22(empty).png
|
| 481 |
+
│ │ │ ├── avg_22-23(empty).png
|
| 482 |
+
│ │ │ ├── avg_23-24(empty).png
|
| 483 |
+
│ │ │ ├── avg_24-00(empty).png
|
| 484 |
+
│ │ │ ├── avg_total.png
|
| 485 |
+
│ │ │ └── overview.png
|
| 486 |
+
│ │ └── The 1HRMRSS.rp1.pdf
|
| 487 |
+
│ ├── The 1SSHSHFT.rp1_ Is Simultaneous Stopout Hedging Strategy, a High Frequency Trading, an Edge in Retail Level Application_/
|
| 488 |
+
│ │ ├── Codes/
|
| 489 |
+
│ │ │ ├── Demo script..c++
|
| 490 |
+
│ │ │ └── Live script.c++
|
| 491 |
+
│ │ └── The 1SSHSHFT_rp1.pdf
|
| 492 |
+
│ ├── The 3HTMOSDSDT.rp1_ Three-hour Timeframe Market Order Strategy with Defined Stoploss and Dynamic Takeprofit/
|
| 493 |
+
│ │ ├── 3HTMOSDSDT.rp1.ipynb
|
| 494 |
+
│ │ ├── 3HTMOSDSDT_rp1.pdf
|
| 495 |
+
│ │ ├── newplot (21).png
|
| 496 |
+
│ │ ├── newplot (22).png
|
| 497 |
+
│ │ ├── newplot (23).png
|
| 498 |
+
│ │ ├── newplot (24).png
|
| 499 |
+
│ │ ├── newplot (25).png
|
| 500 |
+
│ │ └── newplot (26).png
|
| 501 |
+
│ ├── The 3HTMOSDSDT.rp2 _ Portfolio Diversification for ’Three-hour Timeframe Market Order Strategy with Defined Stoploss and Dynamic Takeprofit’ Trading Model/
|
| 502 |
+
│ │ ├── codes/
|
| 503 |
+
│ │ │ ├── 0-3 Range Hedge minimum distance required.c++
|
| 504 |
+
│ │ │ ├── 0-3Range Hedge.c++
|
| 505 |
+
│ │ │ ├── Diversification 0-3 range hedging minimum.c++
|
| 506 |
+
│ │ │ └── Diversiofication 28 pairs.c++
|
| 507 |
+
│ │ └── 3HTMOSDSDT_rp2.pdf
|
| 508 |
+
│ ├── The 3mTSHSUHC.rp1_ Design and Optimization of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/
|
| 509 |
+
│ │ ├── 3mTSHSUHC.rp1.pdf
|
| 510 |
+
│ │ └── Design and Optimization of 3mTSHSUHCv1.ipynb
|
| 511 |
+
│ ├── The 3mTSHSUHC.rp2_ Stress Test & Evaluating the Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/
|
| 512 |
+
│ │ ├── Draft/
|
| 513 |
+
│ │ │ └── The longest error in my career.ipynb
|
| 514 |
+
│ │ ├── 3mTSHSUHC.rp2.pdf
|
| 515 |
+
│ │ ├── Equity Curve of 3mTSHSUHCv1’s Performance.png
|
| 516 |
+
│ │ ├── Heatmap Candles Chart with Trade Executions.png
|
| 517 |
+
│ │ ├── Intraday data set with Heatmap Candles Chart.png
|
| 518 |
+
│ │ └── The 3mTSHSUHC.rp2, stress test .ipynb
|
| 519 |
+
│ └── The 3mTSHSUHC.rp3 _ Metric Threshold and Minimum Bars Apart Analysis of Three-minute Timeframe Stoporder Hedging Strategy Using Heatmap Candles/
|
| 520 |
+
│ ├── Draft/
|
| 521 |
+
│ │ ├── draft1.ipynb
|
| 522 |
+
│ │ ├── this is it.ipynb
|
| 523 |
+
│ │ └── weighted score.ipynb
|
| 524 |
+
│ ├── 3mTSHSUHC.rp3.pdf
|
| 525 |
+
│ ├── FULL_TRADE_STATISTICS_DATAFRAME.xls
|
| 526 |
+
│ ├── single backtest framework.ipynb
|
| 527 |
+
│ ├── singlebactest draft&outlinie.ipynb
|
| 528 |
+
│ ├── the 3d graphs plotting.ipynb
|
| 529 |
+
│ ├── the five 3D graphs.ipynb
|
| 530 |
+
│ └── TOP_10_PARAMETER_COMBINATIONS_BY_SCORE.xls
|
| 531 |
+
├── z.Others/
|
| 532 |
+
│ ├── z.Images Folder/
|
| 533 |
+
│ │ ├── diagram-export-11-30-2025-10_57_09-AM.png
|
| 534 |
+
│ │ ├── diagram-export-11-30-2025-11_12_54-AM.png
|
| 535 |
+
│ │ ├── pasted-image (1).png
|
| 536 |
+
│ │ ├── pasted-image (11).png
|
| 537 |
+
│ │ ├── pasted-image (12).png
|
| 538 |
+
│ │ ├── pasted-image (15).png
|
| 539 |
+
│ │ ├── pasted-image (2).png
|
| 540 |
+
│ │ ├── pasted-image (3).png
|
| 541 |
+
│ │ ├── pasted-image (4).png
|
| 542 |
+
│ │ ├── pasted-image (6).png
|
| 543 |
+
│ │ ├── pasted-image (7) (1).png
|
| 544 |
+
│ │ ├── pasted-image (8).png
|
| 545 |
+
│ │ ├── pasted-image (9).png
|
| 546 |
+
│ │ ├── pasted-image.png
|
| 547 |
+
│ │ ├── Screenshot 2025-11-12 102519.png
|
| 548 |
+
│ │ ├── Screenshot 2025-11-12 104458.png
|
| 549 |
+
│ │ ├── Screenshot 2025-11-12 105920.png
|
| 550 |
+
│ │ ├── Screenshot 2025-11-12 144500.png
|
| 551 |
+
│ │ ├── Screenshot 2025-11-12 201257.png
|
| 552 |
+
│ │ ├── Screenshot 2025-11-12 205738.png
|
| 553 |
+
│ │ ├── Screenshot 2025-11-15 131419.png
|
| 554 |
+
│ │ ├── Screenshot 2025-11-15 132923.png
|
| 555 |
+
│ │ ├── Screenshot 2025-11-15 135957.png
|
| 556 |
+
│ │ ├── Screenshot 2025-11-15 153904.png
|
| 557 |
+
│ │ ├── Screenshot 2025-11-15 160104.png
|
| 558 |
+
│ │ ├── Screenshot 2025-11-15 162112.png
|
| 559 |
+
│ │ ├── Screenshot 2025-11-15 162726.png
|
| 560 |
+
│ │ ├── Screenshot 2025-11-15 164303.png
|
| 561 |
+
│ │ ├── Screenshot 2025-11-15 182205.png
|
| 562 |
+
│ │ ├── Screenshot 2025-11-15 184043.png
|
| 563 |
+
│ │ ├── Screenshot_20251121_083916_Sheets.png
|
| 564 |
+
│ │ ├── Screenshot_20251205_102855_Docs.png
|
| 565 |
+
│ │ ├── XAUUSD_2025-11-11_21-11-52.png
|
| 566 |
+
│ │ └── XAUUSDc_2025-11-12_10-02-56.png
|
| 567 |
+
│ ├── APA Style (7th Edition).md
|
| 568 |
+
│ ├── test.txt
|
| 569 |
+
│ ├── Understanding GitHub Licenses.md
|
| 570 |
+
│ ├── VTR_DMag_System_Explanation.md
|
| 571 |
+
│ └── WQ Wildmind Quasars’s standard research paper layout.ipynb
|
| 572 |
+
├── .gitattributes
|
| 573 |
+
├── gg.md
|
| 574 |
+
├── LICENSE
|
| 575 |
+
├── README.md
|
| 576 |
+
├── scan_structure.py
|
| 577 |
+
├── scan_techstack.py
|
| 578 |
+
└── STACKS.md
|
| 579 |
+
```
|
TECHSTACK.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
## Techstack
|
| 2 |
+
|
| 3 |
+
Audit of **QRAT2025** project files (excluding environment and cache):
|
| 4 |
+
|
| 5 |
+
| File Type | Count | Size (KB) |
|
| 6 |
+
| :--- | :--- | :--- |
|
| 7 |
+
| Jupyter Notebook (.ipynb) | 163 | 353,640.7 |
|
| 8 |
+
| PNG Image (.png) | 144 | 13,796.6 |
|
| 9 |
+
| HTML (.html) | 47 | 76,265.7 |
|
| 10 |
+
| Microsoft Excel (.xls) | 31 | 6,514.8 |
|
| 11 |
+
| C++ (.c++) | 10 | 98.8 |
|
| 12 |
+
| Plain Text (.txt) | 10 | 1.1 |
|
| 13 |
+
| PDF (.pdf) | 9 | 14,597.1 |
|
| 14 |
+
| MQL5 Source (.mq5) | 8 | 72.8 |
|
| 15 |
+
| Markdown (.md) | 7 | 61.5 |
|
| 16 |
+
| Python (.py) | 7 | 247.9 |
|
| 17 |
+
| JavaScript (.js) | 6 | 121.7 |
|
| 18 |
+
| (no extension) | 3 | 1.1 |
|
| 19 |
+
| MT Parameter Set (.set) | 2 | 0.4 |
|
| 20 |
+
| Windows Shortcut (.lnk) | 2 | 2.4 |
|
| 21 |
+
| CSV (.csv) | 1 | 83.9 |
|
| 22 |
+
| Microsoft Excel (OOXML) (.xlsx) | 1 | 55.3 |
|
| 23 |
+
| Microsoft Word (.doc) | 1 | 2.5 |
|
| 24 |
+
| MQL Source (.mql) | 1 | 5.4 |
|
| 25 |
+
| MQL5 Compiled (.ex5) | 1 | 25.9 |
|
| 26 |
+
| MQL5 Variant (.mw5) | 1 | 9.5 |
|
| 27 |
+
| **Total** | **455** | **465,605.1** |
|
gg.md
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
<img width="672" height="318" alt="image" src="https://github.com/user-attachments/assets/1495c901-ce99-457f-9000-4267646ba9be" />
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
#### My motto in Life
|
| 6 |
+
>"A **meta condition**. Do it solely expecting to lose, and consciously focus on doing your best while being unconscious of winning."
|
| 7 |
+
|
| 8 |
+
>"**Learning** is a great foundation of success; you'll be able to project what you want to do in life. Here's the catch: *Learning* does not guarantee genuine long/short-term success; Your *goal* does not exist and will never exist in reality unless you keep building to bring that into the present. **You have to keep ***Building while Thinking.*****"
|
| 9 |
+
|
| 10 |
+
>"*What would you do if you were in a field of randomness, uncertainty, and incomplete information?* That is right. ***Welcome to Trading***, where you yourself must develop your own optimal way of trading that consistently generates profitable EV, despite learning valuable foundations from others."
|
| 11 |
+
|
| 12 |
+
>Mistakes are inevitable. You just need to create/build achievements that outweigh your flaws.
|
| 13 |
+
|
| 14 |
+
|
| 15 |
+
|
| 16 |
+
#### Wildmind Quasars LLC's product motto
|
| 17 |
+
>Trade no emotion. Trade without discretionary decisions. Sleeping with the Bot being in action. No pain, no stress, just automated trading.
|
| 18 |
+
|
| 19 |
+
#### Hierarchy of Priority
|
| 20 |
+
```
|
| 21 |
+
Live-market applicable methodologies
|
| 22 |
+
Quantitative Modeling
|
| 23 |
+
Non OCHL&time-based Strategies
|
| 24 |
+
Robustness
|
| 25 |
+
Diversification
|
| 26 |
+
Risk management
|
| 27 |
+
High RRR, and high winrate strategy
|
| 28 |
+
Walkforward Optimization, Overfitted out-of-sample data results is good
|
| 29 |
+
```
|
| 30 |
+
|
| 31 |
+
> [!NOTE]
|
| 32 |
+
> The company is still premature. Some strategies will be Open source soon.
|
| 33 |
+
|
| 34 |
+
---
|
| 35 |
+
|
| 36 |
+
<div align="center">
|
| 37 |
+
|
| 38 |
+
**"~~Simplicity~~ Effectivity & Clarity ~~Complexity~~"**
|
| 39 |
+
|
| 40 |
+
*Wildmind Quasars LLC © 2025*
|
| 41 |
+
|
| 42 |
+
</div><br><br><br><br><br>
|
| 43 |
+
|
| 44 |
+
| Feature/Aspect | Pine Script | Python | MQL5 |
|
| 45 |
+
| ----------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
| 46 |
+
| **Description** | Domain-specific language for creating **trading indicators and strategies** on TradingView. | General-purpose programming language used for **web development, data analysis, AI, automation**, and more. | Domain-specific, C++-like language for **automated trading, indicators and scripts** on MetaTrader 5 (EAs, custom indicators, tools). |
|
| 47 |
+
| **Primary Use** | Financial charting, indicators, alerts, backtesting strategies. | Wide range: data analysis, AI/ML, web development, automation, finance, etc. | Automated trading (Expert Advisors), custom indicators, order management, and trading utilities. |
|
| 48 |
+
| **Execution Model** | Runs **bar by bar** on time series data; series variables track historical values automatically. | Procedural, object-oriented, or functional execution; manual handling of time series required. | **Event-driven**: `OnInit`/`OnDeinit`/`OnTick`/`OnTimer` etc.; executes per tick and can process bar data — ideal for live trading. |
|
| 49 |
+
| **Data Handling** | Built-in support for price series, OHLC data, and indicators. | Requires libraries like Pandas or NumPy for structured data and time series. | Built-in market data functions (`CopyRates`, `CopyTicks`, series arrays); supports arrays, structures, and low-level access to history. |
|
| 50 |
+
| **Plotting & Visualization** | Limited to chart overlays, indicators, and shapes on TradingView. | Full-featured plotting with libraries like Matplotlib, Plotly, Seaborn. | Chart objects, graphical primitives and indicator buffers for on-chart visualization; less flexible than general plotting libraries. |
|
| 51 |
+
| **External Integration** | No direct access to files, APIs, or databases; restricted to TradingView. | Can integrate with databases, web APIs, files, cloud services, and more. | Can read/write files, use `WebRequest` for HTTP, and call DLLs (subject to platform security settings); integration is possible but sandboxed. |
|
| 52 |
+
| **Libraries & Extensibility** | Cannot import external libraries; only built-in Pine functions. | Vast ecosystem of libraries for almost any task. | Standard MQL5 library, user include files, and ability to call external DLLs for extended functionality (with caution). |
|
| 53 |
+
| **Backtesting & Strategy** | Native support for strategy testing, alerts, and position sizing. | Requires manual coding or external frameworks for backtesting and trading simulations. | Robust Strategy Tester with tick/real ticks simulation, optimization, multi-threading and walk-forward testing built into MT5. |
|
| 54 |
+
| **Variables & State** | Series variables automatically track historical values; supports mutable and immutable variables. | Variables are mutable; history tracking must be implemented manually. | Standard variables, static/global scope, object-oriented support (classes), and persistent storage via global variables/files. |
|
| 55 |
+
| **Loops & Control Flow** | Limited support for loops; vectorized operations preferred. | Full support for loops, recursion, comprehensions, and control structures. | Full control flow and loops; supports structured, procedural and object-oriented paradigms (C++-like syntax). |
|
| 56 |
+
| **Learning Curve** | Easier for traders due to focused domain and simple syntax. | Steeper learning curve but highly versatile; large community support. | Steeper if you lack C/C++ experience; requires knowledge of trading concepts and platform specifics (order types, symbols, margins). |
|
| 57 |
+
| **Performance** | Optimized for chart calculations; efficient for time series. | Performance depends on implementation and libraries; may require optimization for large datasets. | Compiled to native code (high runtime performance), designed for real-time trading with low latency. |
|
| 58 |
+
| **Limitations** | Restricted to TradingView platform; cannot perform general computing tasks. | Not inherently designed for trading platforms; requires additional coding for finance-specific tasks. | Tied to MetaTrader 5 platform and broker environment; some operations (DLLs, WebRequest) subject to security and broker settings. |
|
| 59 |
+
|
scan_structure.py
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
Repository Structure Scanner
|
| 3 |
+
=============================
|
| 4 |
+
Scans the entire file structure of a repository and outputs a tree-like
|
| 5 |
+
Markdown representation. Handles massive (1GB+) repositories efficiently.
|
| 6 |
+
|
| 7 |
+
Usage:
|
| 8 |
+
python scan_structure.py [path] [--output FILE] [--ignore PATTERN ...]
|
| 9 |
+
|
| 10 |
+
Output:
|
| 11 |
+
A Markdown file containing the full directory tree.
|
| 12 |
+
"""
|
| 13 |
+
|
| 14 |
+
import os
|
| 15 |
+
import sys
|
| 16 |
+
import argparse
|
| 17 |
+
import subprocess
|
| 18 |
+
from pathlib import Path
|
| 19 |
+
from collections import defaultdict
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
# ---------------------------------------------------------------------------
|
| 23 |
+
# Default ignore patterns (common non-source dirs / files)
|
| 24 |
+
# ---------------------------------------------------------------------------
|
| 25 |
+
DEFAULT_IGNORE = {
|
| 26 |
+
".git",
|
| 27 |
+
"__pycache__",
|
| 28 |
+
".venv",
|
| 29 |
+
"venv",
|
| 30 |
+
"env",
|
| 31 |
+
"node_modules",
|
| 32 |
+
".ipynb_checkpoints",
|
| 33 |
+
".mypy_cache",
|
| 34 |
+
".pytest_cache",
|
| 35 |
+
".tox",
|
| 36 |
+
".eggs",
|
| 37 |
+
"*.egg-info",
|
| 38 |
+
".DS_Store",
|
| 39 |
+
"Thumbs.db",
|
| 40 |
+
"desktop.ini",
|
| 41 |
+
}
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
def should_ignore(name: str, ignore_set: set) -> bool:
|
| 45 |
+
"""Return True if *name* matches any pattern in the ignore set."""
|
| 46 |
+
if name in ignore_set:
|
| 47 |
+
return True
|
| 48 |
+
for pattern in ignore_set:
|
| 49 |
+
if pattern.startswith("*") and name.endswith(pattern[1:]):
|
| 50 |
+
return True
|
| 51 |
+
return False
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
def build_tree(root_path: str, ignore_set: set) -> list[str]:
|
| 55 |
+
"""
|
| 56 |
+
Walk *root_path* depth-first and return a list of tree-formatted lines.
|
| 57 |
+
|
| 58 |
+
Uses ``os.scandir`` for performance on large filesystems and sorts
|
| 59 |
+
entries alphabetically (directories first).
|
| 60 |
+
"""
|
| 61 |
+
|
| 62 |
+
lines: list[str] = []
|
| 63 |
+
|
| 64 |
+
def _walk(current: str, prefix: str) -> None:
|
| 65 |
+
try:
|
| 66 |
+
entries = sorted(
|
| 67 |
+
os.scandir(current),
|
| 68 |
+
key=lambda e: (not e.is_dir(follow_symlinks=False), e.name.lower()),
|
| 69 |
+
)
|
| 70 |
+
except PermissionError:
|
| 71 |
+
return
|
| 72 |
+
|
| 73 |
+
# Filter out ignored entries
|
| 74 |
+
entries = [e for e in entries if not should_ignore(e.name, ignore_set)]
|
| 75 |
+
|
| 76 |
+
for idx, entry in enumerate(entries):
|
| 77 |
+
is_last = idx == len(entries) - 1
|
| 78 |
+
connector = "└── " if is_last else "├── "
|
| 79 |
+
suffix = "/" if entry.is_dir(follow_symlinks=False) else ""
|
| 80 |
+
lines.append(f"{prefix}{connector}{entry.name}{suffix}")
|
| 81 |
+
|
| 82 |
+
if entry.is_dir(follow_symlinks=False):
|
| 83 |
+
extension = " " if is_last else "│ "
|
| 84 |
+
_walk(entry.path, prefix + extension)
|
| 85 |
+
|
| 86 |
+
_walk(root_path, "")
|
| 87 |
+
return lines
|
| 88 |
+
|
| 89 |
+
|
| 90 |
+
def main() -> None:
|
| 91 |
+
parser = argparse.ArgumentParser(
|
| 92 |
+
description="Scan repository file structure and output a Markdown tree."
|
| 93 |
+
)
|
| 94 |
+
parser.add_argument(
|
| 95 |
+
"path",
|
| 96 |
+
nargs="?",
|
| 97 |
+
default=".",
|
| 98 |
+
help="Root directory to scan (default: current directory).",
|
| 99 |
+
)
|
| 100 |
+
parser.add_argument(
|
| 101 |
+
"--output",
|
| 102 |
+
"-o",
|
| 103 |
+
default=None,
|
| 104 |
+
help="Output Markdown file path (default: STRUCTURE.md in scanned dir).",
|
| 105 |
+
)
|
| 106 |
+
parser.add_argument(
|
| 107 |
+
"--ignore",
|
| 108 |
+
nargs="*",
|
| 109 |
+
default=None,
|
| 110 |
+
help="Extra patterns to ignore (added to built-in defaults).",
|
| 111 |
+
)
|
| 112 |
+
parser.add_argument(
|
| 113 |
+
"--no-default-ignore",
|
| 114 |
+
action="store_true",
|
| 115 |
+
help="Disable the built-in ignore list (scan everything).",
|
| 116 |
+
)
|
| 117 |
+
args = parser.parse_args()
|
| 118 |
+
|
| 119 |
+
root = os.path.abspath(args.path)
|
| 120 |
+
root_name = os.path.basename(root)
|
| 121 |
+
|
| 122 |
+
# Build ignore set
|
| 123 |
+
ignore_set: set = set() if args.no_default_ignore else set(DEFAULT_IGNORE)
|
| 124 |
+
if args.ignore:
|
| 125 |
+
ignore_set.update(args.ignore)
|
| 126 |
+
|
| 127 |
+
# Always ignore the output file itself to avoid self-referencing
|
| 128 |
+
out_path = args.output or os.path.join(root, "STRUCTURE.md")
|
| 129 |
+
out_name = os.path.basename(out_path)
|
| 130 |
+
ignore_set.add(out_name)
|
| 131 |
+
|
| 132 |
+
print(f"Scanning: {root}")
|
| 133 |
+
print(f"Ignoring: {', '.join(sorted(ignore_set))}")
|
| 134 |
+
|
| 135 |
+
tree_lines = build_tree(root, ignore_set)
|
| 136 |
+
|
| 137 |
+
# Compose Markdown content
|
| 138 |
+
md_lines = [
|
| 139 |
+
f"## Project Structure\n",
|
| 140 |
+
f"```text",
|
| 141 |
+
f"{root_name}/",
|
| 142 |
+
]
|
| 143 |
+
md_lines.extend(tree_lines)
|
| 144 |
+
md_lines.append("```\n")
|
| 145 |
+
|
| 146 |
+
content = "\n".join(md_lines)
|
| 147 |
+
|
| 148 |
+
with open(out_path, "w", encoding="utf-8") as fh:
|
| 149 |
+
fh.write(content)
|
| 150 |
+
|
| 151 |
+
total_entries = len(tree_lines)
|
| 152 |
+
print(f"Done – {total_entries} entries written to {out_path}")
|
| 153 |
+
|
| 154 |
+
|
| 155 |
+
if __name__ == "__main__":
|
| 156 |
+
main()
|
scan_techstack.py
ADDED
|
@@ -0,0 +1,750 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
"""
|
| 2 |
+
Repository Tech-Stack Scanner
|
| 3 |
+
===============================
|
| 4 |
+
Scans a repository and produces a Markdown table of file types with counts
|
| 5 |
+
and total sizes in KB. Supports every file extension in existence.
|
| 6 |
+
|
| 7 |
+
Usage:
|
| 8 |
+
python scan_techstack.py [path] [--output FILE] [--ignore PATTERN ...]
|
| 9 |
+
[--exclude-ext EXT ...] [--sort count|size|ext]
|
| 10 |
+
|
| 11 |
+
Output:
|
| 12 |
+
A Markdown file containing the tech-stack audit table.
|
| 13 |
+
"""
|
| 14 |
+
|
| 15 |
+
import os
|
| 16 |
+
import sys
|
| 17 |
+
import argparse
|
| 18 |
+
from pathlib import Path
|
| 19 |
+
from collections import defaultdict
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
# ---------------------------------------------------------------------------
|
| 23 |
+
# Comprehensive file-extension → human-readable label mapping
|
| 24 |
+
# Covers programming, data, document, media, archive, config, and more.
|
| 25 |
+
# Any extension NOT in this dict will be auto-labelled from the extension.
|
| 26 |
+
# ---------------------------------------------------------------------------
|
| 27 |
+
EXT_LABELS: dict[str, str] = {
|
| 28 |
+
# ── Programming Languages ──────────────────────────────────────────
|
| 29 |
+
".py": "Python",
|
| 30 |
+
".pyw": "Python (windowed)",
|
| 31 |
+
".pyx": "Cython",
|
| 32 |
+
".pxd": "Cython Definition",
|
| 33 |
+
".pyi": "Python Stub",
|
| 34 |
+
".pyc": "Python Compiled",
|
| 35 |
+
".pyo": "Python Optimized",
|
| 36 |
+
".js": "JavaScript",
|
| 37 |
+
".mjs": "ES Module JavaScript",
|
| 38 |
+
".cjs": "CommonJS JavaScript",
|
| 39 |
+
".jsx": "JSX (React)",
|
| 40 |
+
".ts": "TypeScript",
|
| 41 |
+
".tsx": "TSX (React)",
|
| 42 |
+
".java": "Java",
|
| 43 |
+
".class": "Java Class",
|
| 44 |
+
".jar": "Java Archive",
|
| 45 |
+
".kt": "Kotlin",
|
| 46 |
+
".kts": "Kotlin Script",
|
| 47 |
+
".scala": "Scala",
|
| 48 |
+
".groovy": "Groovy",
|
| 49 |
+
".c": "C",
|
| 50 |
+
".h": "C Header",
|
| 51 |
+
".cpp": "C++",
|
| 52 |
+
".cxx": "C++",
|
| 53 |
+
".cc": "C++",
|
| 54 |
+
".c++": "C++",
|
| 55 |
+
".hpp": "C++ Header",
|
| 56 |
+
".hxx": "C++ Header",
|
| 57 |
+
".hh": "C++ Header",
|
| 58 |
+
".h++": "C++ Header",
|
| 59 |
+
".cs": "C#",
|
| 60 |
+
".csx": "C# Script",
|
| 61 |
+
".fs": "F#",
|
| 62 |
+
".fsx": "F# Script",
|
| 63 |
+
".fsi": "F# Signature",
|
| 64 |
+
".vb": "Visual Basic",
|
| 65 |
+
".vbs": "VBScript",
|
| 66 |
+
".go": "Go",
|
| 67 |
+
".rs": "Rust",
|
| 68 |
+
".rb": "Ruby",
|
| 69 |
+
".erb": "Embedded Ruby",
|
| 70 |
+
".php": "PHP",
|
| 71 |
+
".pl": "Perl",
|
| 72 |
+
".pm": "Perl Module",
|
| 73 |
+
".lua": "Lua",
|
| 74 |
+
".r": "R",
|
| 75 |
+
".rmd": "R Markdown",
|
| 76 |
+
".swift": "Swift",
|
| 77 |
+
".m": "Objective-C / MATLAB",
|
| 78 |
+
".mm": "Objective-C++",
|
| 79 |
+
".d": "D",
|
| 80 |
+
".dart": "Dart",
|
| 81 |
+
".ex": "Elixir",
|
| 82 |
+
".exs": "Elixir Script",
|
| 83 |
+
".erl": "Erlang",
|
| 84 |
+
".hrl": "Erlang Header",
|
| 85 |
+
".hs": "Haskell",
|
| 86 |
+
".lhs": "Literate Haskell",
|
| 87 |
+
".ml": "OCaml",
|
| 88 |
+
".mli": "OCaml Interface",
|
| 89 |
+
".clj": "Clojure",
|
| 90 |
+
".cljs": "ClojureScript",
|
| 91 |
+
".cljc": "Clojure Common",
|
| 92 |
+
".edn": "EDN (Clojure)",
|
| 93 |
+
".lisp": "Common Lisp",
|
| 94 |
+
".cl": "Common Lisp",
|
| 95 |
+
".el": "Emacs Lisp",
|
| 96 |
+
".scm": "Scheme",
|
| 97 |
+
".rkt": "Racket",
|
| 98 |
+
".nim": "Nim",
|
| 99 |
+
".zig": "Zig",
|
| 100 |
+
".v": "V / Verilog",
|
| 101 |
+
".vhd": "VHDL",
|
| 102 |
+
".vhdl": "VHDL",
|
| 103 |
+
".sv": "SystemVerilog",
|
| 104 |
+
".asm": "Assembly",
|
| 105 |
+
".s": "Assembly",
|
| 106 |
+
".f": "Fortran",
|
| 107 |
+
".f90": "Fortran 90",
|
| 108 |
+
".f95": "Fortran 95",
|
| 109 |
+
".f03": "Fortran 2003",
|
| 110 |
+
".f08": "Fortran 2008",
|
| 111 |
+
".for": "Fortran",
|
| 112 |
+
".cob": "COBOL",
|
| 113 |
+
".cbl": "COBOL",
|
| 114 |
+
".pas": "Pascal",
|
| 115 |
+
".pp": "Pascal",
|
| 116 |
+
".ada": "Ada",
|
| 117 |
+
".adb": "Ada Body",
|
| 118 |
+
".ads": "Ada Spec",
|
| 119 |
+
".tcl": "Tcl",
|
| 120 |
+
".tk": "Tcl/Tk",
|
| 121 |
+
".awk": "AWK",
|
| 122 |
+
".sed": "sed",
|
| 123 |
+
".jl": "Julia",
|
| 124 |
+
".cr": "Crystal",
|
| 125 |
+
".hack": "Hack",
|
| 126 |
+
".hx": "Haxe",
|
| 127 |
+
".hxml": "Haxe XML",
|
| 128 |
+
".purs": "PureScript",
|
| 129 |
+
".idr": "Idris",
|
| 130 |
+
".agda": "Agda",
|
| 131 |
+
".lean": "Lean",
|
| 132 |
+
".coq": "Coq",
|
| 133 |
+
".thy": "Isabelle",
|
| 134 |
+
".pro": "Prolog",
|
| 135 |
+
".sml": "Standard ML",
|
| 136 |
+
".fig": "MATLAB Figure",
|
| 137 |
+
".mat": "MATLAB Data",
|
| 138 |
+
|
| 139 |
+
# ── Shell / Scripting ──────────────────────────────────────────────
|
| 140 |
+
".sh": "Shell Script",
|
| 141 |
+
".bash": "Bash Script",
|
| 142 |
+
".zsh": "Zsh Script",
|
| 143 |
+
".fish": "Fish Script",
|
| 144 |
+
".bat": "Batch File",
|
| 145 |
+
".cmd": "Windows Command",
|
| 146 |
+
".ps1": "PowerShell",
|
| 147 |
+
".psm1": "PowerShell Module",
|
| 148 |
+
".psd1": "PowerShell Data",
|
| 149 |
+
|
| 150 |
+
# ── Web / Markup / Templating ──────��───────────────────────────────
|
| 151 |
+
".html": "HTML",
|
| 152 |
+
".htm": "HTML",
|
| 153 |
+
".xhtml": "XHTML",
|
| 154 |
+
".css": "CSS",
|
| 155 |
+
".scss": "SCSS",
|
| 156 |
+
".sass": "Sass",
|
| 157 |
+
".less": "Less",
|
| 158 |
+
".styl": "Stylus",
|
| 159 |
+
".vue": "Vue",
|
| 160 |
+
".svelte": "Svelte",
|
| 161 |
+
".astro": "Astro",
|
| 162 |
+
".ejs": "EJS Template",
|
| 163 |
+
".pug": "Pug Template",
|
| 164 |
+
".jade": "Jade Template",
|
| 165 |
+
".hbs": "Handlebars",
|
| 166 |
+
".mustache": "Mustache",
|
| 167 |
+
".twig": "Twig Template",
|
| 168 |
+
".jinja": "Jinja Template",
|
| 169 |
+
".jinja2": "Jinja2 Template",
|
| 170 |
+
".j2": "Jinja2 Template",
|
| 171 |
+
".njk": "Nunjucks Template",
|
| 172 |
+
".liquid": "Liquid Template",
|
| 173 |
+
".haml": "HAML",
|
| 174 |
+
".slim": "Slim Template",
|
| 175 |
+
".blade.php":"Blade Template",
|
| 176 |
+
".jsp": "JavaServer Pages",
|
| 177 |
+
".asp": "ASP",
|
| 178 |
+
".aspx": "ASP.NET",
|
| 179 |
+
".cshtml": "Razor (C#)",
|
| 180 |
+
".razor": "Razor",
|
| 181 |
+
".wasm": "WebAssembly",
|
| 182 |
+
|
| 183 |
+
# ── Data / Config / Serialisation ──────────────────────────────────
|
| 184 |
+
".json": "JSON",
|
| 185 |
+
".jsonl": "JSON Lines",
|
| 186 |
+
".json5": "JSON5",
|
| 187 |
+
".geojson": "GeoJSON",
|
| 188 |
+
".xml": "XML",
|
| 189 |
+
".xsl": "XSLT",
|
| 190 |
+
".xslt": "XSLT",
|
| 191 |
+
".xsd": "XML Schema",
|
| 192 |
+
".dtd": "Document Type Definition",
|
| 193 |
+
".yaml": "YAML",
|
| 194 |
+
".yml": "YAML",
|
| 195 |
+
".toml": "TOML",
|
| 196 |
+
".ini": "INI Config",
|
| 197 |
+
".cfg": "Config",
|
| 198 |
+
".conf": "Config",
|
| 199 |
+
".env": "Environment File",
|
| 200 |
+
".properties": "Properties File",
|
| 201 |
+
".csv": "CSV",
|
| 202 |
+
".tsv": "TSV",
|
| 203 |
+
".parquet": "Apache Parquet",
|
| 204 |
+
".avro": "Apache Avro",
|
| 205 |
+
".orc": "Apache ORC",
|
| 206 |
+
".feather": "Feather (Arrow)",
|
| 207 |
+
".arrow": "Apache Arrow",
|
| 208 |
+
".msgpack": "MessagePack",
|
| 209 |
+
".bson": "BSON",
|
| 210 |
+
".cbor": "CBOR",
|
| 211 |
+
".protobuf": "Protocol Buffer",
|
| 212 |
+
".proto": "Protocol Buffer Schema",
|
| 213 |
+
".thrift": "Apache Thrift",
|
| 214 |
+
".hcl": "HCL (Terraform)",
|
| 215 |
+
".tf": "Terraform",
|
| 216 |
+
".tfvars": "Terraform Variables",
|
| 217 |
+
".pkl": "Pickle",
|
| 218 |
+
".pickle": "Pickle",
|
| 219 |
+
".npy": "NumPy Array",
|
| 220 |
+
".npz": "NumPy Archive",
|
| 221 |
+
".h5": "HDF5",
|
| 222 |
+
".hdf5": "HDF5",
|
| 223 |
+
".nc": "NetCDF",
|
| 224 |
+
".sqlite": "SQLite Database",
|
| 225 |
+
".sqlite3": "SQLite Database",
|
| 226 |
+
".db": "Database",
|
| 227 |
+
".dbf": "dBASE",
|
| 228 |
+
".mdb": "Access Database",
|
| 229 |
+
".accdb": "Access Database",
|
| 230 |
+
".lmdb": "LMDB",
|
| 231 |
+
".leveldb": "LevelDB",
|
| 232 |
+
|
| 233 |
+
# ── Documents & Office ─────────────────────────────────────────────
|
| 234 |
+
".md": "Markdown",
|
| 235 |
+
".mdx": "MDX",
|
| 236 |
+
".txt": "Plain Text",
|
| 237 |
+
".text": "Plain Text",
|
| 238 |
+
".log": "Log File",
|
| 239 |
+
".rst": "reStructuredText",
|
| 240 |
+
".adoc": "AsciiDoc",
|
| 241 |
+
".org": "Org Mode",
|
| 242 |
+
".tex": "LaTeX",
|
| 243 |
+
".latex": "LaTeX",
|
| 244 |
+
".bib": "BibTeX",
|
| 245 |
+
".rtf": "Rich Text Format",
|
| 246 |
+
".doc": "Microsoft Word",
|
| 247 |
+
".docx": "Microsoft Word (OOXML)",
|
| 248 |
+
".odt": "OpenDocument Text",
|
| 249 |
+
".pdf": "PDF",
|
| 250 |
+
".xls": "Microsoft Excel",
|
| 251 |
+
".xlsx": "Microsoft Excel (OOXML)",
|
| 252 |
+
".xlsm": "Excel Macro-Enabled",
|
| 253 |
+
".xlsb": "Excel Binary",
|
| 254 |
+
".ods": "OpenDocument Spreadsheet",
|
| 255 |
+
".ppt": "Microsoft PowerPoint",
|
| 256 |
+
".pptx": "Microsoft PowerPoint (OOXML)",
|
| 257 |
+
".odp": "OpenDocument Presentation",
|
| 258 |
+
".pages": "Apple Pages",
|
| 259 |
+
".numbers": "Apple Numbers",
|
| 260 |
+
".key": "Apple Keynote",
|
| 261 |
+
".epub": "EPUB",
|
| 262 |
+
".mobi": "Mobipocket",
|
| 263 |
+
".djvu": "DjVu",
|
| 264 |
+
".chm": "Compiled HTML Help",
|
| 265 |
+
".man": "Man Page",
|
| 266 |
+
".info": "GNU Info",
|
| 267 |
+
|
| 268 |
+
# ── Notebooks & Data Science ───────────────────────────────────────
|
| 269 |
+
".ipynb": "Jupyter Notebook",
|
| 270 |
+
".rmd": "R Markdown",
|
| 271 |
+
".qmd": "Quarto Document",
|
| 272 |
+
".dvc": "DVC File",
|
| 273 |
+
".onnx": "ONNX Model",
|
| 274 |
+
".pt": "PyTorch Model",
|
| 275 |
+
".pth": "PyTorch Checkpoint",
|
| 276 |
+
".safetensors": "SafeTensors Model",
|
| 277 |
+
".gguf": "GGUF Model",
|
| 278 |
+
".bin": "Binary File",
|
| 279 |
+
|
| 280 |
+
# ── Images ─────────────────────────────────────────────────────────
|
| 281 |
+
".png": "PNG Image",
|
| 282 |
+
".jpg": "JPEG Image",
|
| 283 |
+
".jpeg": "JPEG Image",
|
| 284 |
+
".gif": "GIF Image",
|
| 285 |
+
".bmp": "Bitmap Image",
|
| 286 |
+
".tiff": "TIFF Image",
|
| 287 |
+
".tif": "TIFF Image",
|
| 288 |
+
".webp": "WebP Image",
|
| 289 |
+
".avif": "AVIF Image",
|
| 290 |
+
".heic": "HEIC Image",
|
| 291 |
+
".heif": "HEIF Image",
|
| 292 |
+
".svg": "SVG Image",
|
| 293 |
+
".ico": "Icon",
|
| 294 |
+
".icns": "Apple Icon",
|
| 295 |
+
".cur": "Cursor",
|
| 296 |
+
".psd": "Photoshop",
|
| 297 |
+
".ai": "Adobe Illustrator",
|
| 298 |
+
".sketch": "Sketch",
|
| 299 |
+
".fig": "Figma",
|
| 300 |
+
".xd": "Adobe XD",
|
| 301 |
+
".eps": "EPS Vector",
|
| 302 |
+
".raw": "RAW Image",
|
| 303 |
+
".cr2": "Canon RAW",
|
| 304 |
+
".nef": "Nikon RAW",
|
| 305 |
+
".arw": "Sony RAW",
|
| 306 |
+
".dng": "DNG RAW",
|
| 307 |
+
".exr": "OpenEXR",
|
| 308 |
+
".hdr": "HDR Image",
|
| 309 |
+
".pbm": "PBM Image",
|
| 310 |
+
".pgm": "PGM Image",
|
| 311 |
+
".ppm": "PPM Image",
|
| 312 |
+
".pcx": "PCX Image",
|
| 313 |
+
".tga": "TGA Image",
|
| 314 |
+
|
| 315 |
+
# ── Audio ──────────────────────────────────────────────────────────
|
| 316 |
+
".mp3": "MP3 Audio",
|
| 317 |
+
".wav": "WAV Audio",
|
| 318 |
+
".flac": "FLAC Audio",
|
| 319 |
+
".aac": "AAC Audio",
|
| 320 |
+
".ogg": "Ogg Audio",
|
| 321 |
+
".wma": "WMA Audio",
|
| 322 |
+
".m4a": "M4A Audio",
|
| 323 |
+
".opus": "Opus Audio",
|
| 324 |
+
".aiff": "AIFF Audio",
|
| 325 |
+
".mid": "MIDI",
|
| 326 |
+
".midi": "MIDI",
|
| 327 |
+
".amr": "AMR Audio",
|
| 328 |
+
".ape": "APE Audio",
|
| 329 |
+
".alac": "ALAC Audio",
|
| 330 |
+
|
| 331 |
+
# ── Video ──────────────────────────────────────────────────────────
|
| 332 |
+
".mp4": "MP4 Video",
|
| 333 |
+
".mkv": "MKV Video",
|
| 334 |
+
".avi": "AVI Video",
|
| 335 |
+
".mov": "QuickTime Video",
|
| 336 |
+
".wmv": "WMV Video",
|
| 337 |
+
".flv": "Flash Video",
|
| 338 |
+
".webm": "WebM Video",
|
| 339 |
+
".m4v": "M4V Video",
|
| 340 |
+
".mpg": "MPEG Video",
|
| 341 |
+
".mpeg": "MPEG Video",
|
| 342 |
+
".3gp": "3GP Video",
|
| 343 |
+
".ogv": "Ogg Video",
|
| 344 |
+
".ts": "MPEG-TS",
|
| 345 |
+
".vob": "DVD Video",
|
| 346 |
+
".rm": "RealMedia",
|
| 347 |
+
|
| 348 |
+
# ── Fonts ──────────────────────────────────────────────────────────
|
| 349 |
+
".ttf": "TrueType Font",
|
| 350 |
+
".otf": "OpenType Font",
|
| 351 |
+
".woff": "WOFF Font",
|
| 352 |
+
".woff2": "WOFF2 Font",
|
| 353 |
+
".eot": "EOT Font",
|
| 354 |
+
".fon": "Bitmap Font",
|
| 355 |
+
|
| 356 |
+
# ── Archives / Compression ─────────────────────────────────────────
|
| 357 |
+
".zip": "ZIP Archive",
|
| 358 |
+
".gz": "Gzip Archive",
|
| 359 |
+
".gzip": "Gzip Archive",
|
| 360 |
+
".bz2": "Bzip2 Archive",
|
| 361 |
+
".xz": "XZ Archive",
|
| 362 |
+
".lz": "Lzip Archive",
|
| 363 |
+
".lzma": "LZMA Archive",
|
| 364 |
+
".zst": "Zstandard Archive",
|
| 365 |
+
".tar": "Tar Archive",
|
| 366 |
+
".tgz": "Tar+Gzip Archive",
|
| 367 |
+
".tbz2": "Tar+Bzip2 Archive",
|
| 368 |
+
".txz": "Tar+XZ Archive",
|
| 369 |
+
".rar": "RAR Archive",
|
| 370 |
+
".7z": "7-Zip Archive",
|
| 371 |
+
".cab": "Cabinet Archive",
|
| 372 |
+
".iso": "ISO Disk Image",
|
| 373 |
+
".dmg": "macOS Disk Image",
|
| 374 |
+
".img": "Disk Image",
|
| 375 |
+
".vhd": "Virtual Hard Disk",
|
| 376 |
+
".vhdx": "Virtual Hard Disk (VHDX)",
|
| 377 |
+
".vmdk": "VMware Disk",
|
| 378 |
+
".qcow2": "QEMU Disk",
|
| 379 |
+
".deb": "Debian Package",
|
| 380 |
+
".rpm": "RPM Package",
|
| 381 |
+
".apk": "Android Package",
|
| 382 |
+
".ipa": "iOS App",
|
| 383 |
+
".snap": "Snap Package",
|
| 384 |
+
".flatpak": "Flatpak Package",
|
| 385 |
+
".appimage": "AppImage",
|
| 386 |
+
".msi": "MSI Installer",
|
| 387 |
+
".exe": "Windows Executable",
|
| 388 |
+
".dll": "DLL Library",
|
| 389 |
+
".so": "Shared Object",
|
| 390 |
+
".dylib": "macOS Dynamic Library",
|
| 391 |
+
".a": "Static Library",
|
| 392 |
+
".lib": "Library",
|
| 393 |
+
".o": "Object File",
|
| 394 |
+
".obj": "Object File",
|
| 395 |
+
".sys": "System File",
|
| 396 |
+
".drv": "Driver",
|
| 397 |
+
|
| 398 |
+
# ── DevOps / CI / Containerisation ─────────────────────────────────
|
| 399 |
+
".dockerfile":"Dockerfile",
|
| 400 |
+
".vagrantfile":"Vagrantfile",
|
| 401 |
+
".jenkinsfile":"Jenkinsfile",
|
| 402 |
+
|
| 403 |
+
# ── Trading / Domain-specific ──────────────────────────────────────
|
| 404 |
+
".mq5": "MQL5 Source",
|
| 405 |
+
".mq4": "MQL4 Source",
|
| 406 |
+
".mqh": "MQL Header",
|
| 407 |
+
".ex5": "MQL5 Compiled",
|
| 408 |
+
".ex4": "MQL4 Compiled",
|
| 409 |
+
".set": "MT Parameter Set",
|
| 410 |
+
".pine": "Pine Script",
|
| 411 |
+
".tpl": "MT Template",
|
| 412 |
+
".chr": "MT Chart",
|
| 413 |
+
".mql": "MQL Source",
|
| 414 |
+
|
| 415 |
+
# ── Misc / Build / Project ─────────────────────────────────────────
|
| 416 |
+
".makefile": "Makefile",
|
| 417 |
+
".cmake": "CMake",
|
| 418 |
+
".gradle": "Gradle",
|
| 419 |
+
".sbt": "SBT Build",
|
| 420 |
+
".gemspec": "Ruby Gem Spec",
|
| 421 |
+
".podspec": "CocoaPods Spec",
|
| 422 |
+
".cabal": "Cabal (Haskell)",
|
| 423 |
+
".csproj": "C# Project",
|
| 424 |
+
".fsproj": "F# Project",
|
| 425 |
+
".vbproj": "VB.NET Project",
|
| 426 |
+
".sln": "Visual Studio Solution",
|
| 427 |
+
".xcodeproj":"Xcode Project",
|
| 428 |
+
".pbxproj": "Xcode Project (PBX)",
|
| 429 |
+
".xcworkspace":"Xcode Workspace",
|
| 430 |
+
".plist": "Property List",
|
| 431 |
+
".lnk": "Windows Shortcut",
|
| 432 |
+
".url": "URL Shortcut",
|
| 433 |
+
".desktop": "Desktop Entry",
|
| 434 |
+
".reg": "Windows Registry",
|
| 435 |
+
".service": "Systemd Service",
|
| 436 |
+
".timer": "Systemd Timer",
|
| 437 |
+
".socket": "Systemd Socket",
|
| 438 |
+
".lock": "Lock File",
|
| 439 |
+
".patch": "Patch File",
|
| 440 |
+
".diff": "Diff File",
|
| 441 |
+
".map": "Source Map",
|
| 442 |
+
".whl": "Python Wheel",
|
| 443 |
+
".egg": "Python Egg",
|
| 444 |
+
".gem": "Ruby Gem",
|
| 445 |
+
".nupkg": "NuGet Package",
|
| 446 |
+
".crate": "Rust Crate",
|
| 447 |
+
|
| 448 |
+
# ── SQL / Database ─────────────────────────────────────────────────
|
| 449 |
+
".sql": "SQL",
|
| 450 |
+
".mysql": "MySQL",
|
| 451 |
+
".pgsql": "PostgreSQL",
|
| 452 |
+
".plsql": "PL/SQL",
|
| 453 |
+
|
| 454 |
+
# ── GraphQL / API ──────────────────────────────────────────────────
|
| 455 |
+
".graphql": "GraphQL",
|
| 456 |
+
".gql": "GraphQL",
|
| 457 |
+
".swagger": "Swagger",
|
| 458 |
+
".openapi": "OpenAPI Spec",
|
| 459 |
+
|
| 460 |
+
# ── 3D / CAD / GIS ─────────────────────────────────────────────────
|
| 461 |
+
".stl": "STL 3D Model",
|
| 462 |
+
".obj": "Wavefront OBJ",
|
| 463 |
+
".fbx": "FBX 3D Model",
|
| 464 |
+
".gltf": "glTF 3D Model",
|
| 465 |
+
".glb": "glTF Binary",
|
| 466 |
+
".blend": "Blender File",
|
| 467 |
+
".3ds": "3DS Model",
|
| 468 |
+
".dae": "Collada",
|
| 469 |
+
".usd": "USD Scene",
|
| 470 |
+
".usda": "USD ASCII",
|
| 471 |
+
".usdc": "USD Binary",
|
| 472 |
+
".step": "STEP CAD",
|
| 473 |
+
".stp": "STEP CAD",
|
| 474 |
+
".iges": "IGES CAD",
|
| 475 |
+
".igs": "IGES CAD",
|
| 476 |
+
".dwg": "AutoCAD Drawing",
|
| 477 |
+
".dxf": "AutoCAD Exchange",
|
| 478 |
+
".shp": "Shapefile",
|
| 479 |
+
".kml": "KML",
|
| 480 |
+
".kmz": "KMZ",
|
| 481 |
+
".gpx": "GPX Track",
|
| 482 |
+
|
| 483 |
+
# ── Certificates / Security ────────────────────────────────────────
|
| 484 |
+
".pem": "PEM Certificate",
|
| 485 |
+
".crt": "Certificate",
|
| 486 |
+
".cer": "Certificate",
|
| 487 |
+
".csr": "Certificate Request",
|
| 488 |
+
".p12": "PKCS#12",
|
| 489 |
+
".pfx": "PKCS#12",
|
| 490 |
+
".asc": "PGP/GPG",
|
| 491 |
+
".gpg": "GPG Encrypted",
|
| 492 |
+
".sig": "Signature",
|
| 493 |
+
".pub": "Public Key",
|
| 494 |
+
|
| 495 |
+
# ── Git-related ────────────────────────────────────────────────────
|
| 496 |
+
".gitignore": "Git Ignore",
|
| 497 |
+
".gitattributes": "Git Attributes",
|
| 498 |
+
".gitmodules": "Git Submodules",
|
| 499 |
+
|
| 500 |
+
# ── Editor / IDE Config ────────────────────────────────────────────
|
| 501 |
+
".editorconfig": "EditorConfig",
|
| 502 |
+
".prettierrc": "Prettier Config",
|
| 503 |
+
".eslintrc": "ESLint Config",
|
| 504 |
+
".stylelintrc": "Stylelint Config",
|
| 505 |
+
".babelrc": "Babel Config",
|
| 506 |
+
".swcrc": "SWC Config",
|
| 507 |
+
".nvmrc": "NVM Config",
|
| 508 |
+
".npmrc": "NPM Config",
|
| 509 |
+
".yarnrc": "Yarn Config",
|
| 510 |
+
|
| 511 |
+
# ── Misc ───────────────────────────────────────────────────────────
|
| 512 |
+
".mw5": "MQL5 Variant",
|
| 513 |
+
".webmanifest": "Web App Manifest",
|
| 514 |
+
}
|
| 515 |
+
|
| 516 |
+
|
| 517 |
+
# ---------------------------------------------------------------------------
|
| 518 |
+
# Default ignore patterns (common non-source dirs / files)
|
| 519 |
+
# ---------------------------------------------------------------------------
|
| 520 |
+
DEFAULT_IGNORE = {
|
| 521 |
+
".git",
|
| 522 |
+
"__pycache__",
|
| 523 |
+
".venv",
|
| 524 |
+
"venv",
|
| 525 |
+
"env",
|
| 526 |
+
"node_modules",
|
| 527 |
+
".ipynb_checkpoints",
|
| 528 |
+
".mypy_cache",
|
| 529 |
+
".pytest_cache",
|
| 530 |
+
".tox",
|
| 531 |
+
".eggs",
|
| 532 |
+
"*.egg-info",
|
| 533 |
+
".DS_Store",
|
| 534 |
+
"Thumbs.db",
|
| 535 |
+
"desktop.ini",
|
| 536 |
+
}
|
| 537 |
+
|
| 538 |
+
|
| 539 |
+
def should_ignore(name: str, ignore_set: set) -> bool:
|
| 540 |
+
"""Return True if *name* matches any pattern in the ignore set."""
|
| 541 |
+
if name in ignore_set:
|
| 542 |
+
return True
|
| 543 |
+
for pattern in ignore_set:
|
| 544 |
+
if pattern.startswith("*") and name.endswith(pattern[1:]):
|
| 545 |
+
return True
|
| 546 |
+
return False
|
| 547 |
+
|
| 548 |
+
|
| 549 |
+
def get_label(ext: str) -> str:
|
| 550 |
+
"""Return the human-readable label for an extension."""
|
| 551 |
+
if ext in EXT_LABELS:
|
| 552 |
+
return EXT_LABELS[ext]
|
| 553 |
+
# Fallback: capitalise the extension name
|
| 554 |
+
return ext.upper().lstrip(".")
|
| 555 |
+
|
| 556 |
+
|
| 557 |
+
def scan_files(root_path: str, ignore_set: set, exclude_exts: set) -> dict:
|
| 558 |
+
"""
|
| 559 |
+
Walk *root_path* and collect per-extension statistics.
|
| 560 |
+
|
| 561 |
+
Returns a dict keyed by normalised extension string, e.g. ".py",
|
| 562 |
+
with values ``{"count": int, "size_bytes": int, "label": str}``.
|
| 563 |
+
|
| 564 |
+
Files without an extension are grouped under "(no extension)".
|
| 565 |
+
"""
|
| 566 |
+
|
| 567 |
+
stats: dict = defaultdict(lambda: {"count": 0, "size_bytes": 0, "label": ""})
|
| 568 |
+
|
| 569 |
+
for dirpath, dirnames, filenames in os.walk(root_path):
|
| 570 |
+
# Prune ignored directories in-place so os.walk skips them
|
| 571 |
+
dirnames[:] = [
|
| 572 |
+
d for d in dirnames if not should_ignore(d, ignore_set)
|
| 573 |
+
]
|
| 574 |
+
|
| 575 |
+
for fname in filenames:
|
| 576 |
+
if should_ignore(fname, ignore_set):
|
| 577 |
+
continue
|
| 578 |
+
|
| 579 |
+
filepath = os.path.join(dirpath, fname)
|
| 580 |
+
|
| 581 |
+
# Determine extension
|
| 582 |
+
_, ext = os.path.splitext(fname)
|
| 583 |
+
ext = ext.lower() # normalise
|
| 584 |
+
|
| 585 |
+
if ext and ext.lstrip(".") in exclude_exts:
|
| 586 |
+
continue
|
| 587 |
+
|
| 588 |
+
# Label
|
| 589 |
+
if ext:
|
| 590 |
+
label = f"{get_label(ext)} ({ext})"
|
| 591 |
+
else:
|
| 592 |
+
ext = "(none)"
|
| 593 |
+
label = "(no extension)"
|
| 594 |
+
|
| 595 |
+
try:
|
| 596 |
+
size = os.path.getsize(filepath)
|
| 597 |
+
except (OSError, PermissionError):
|
| 598 |
+
size = 0
|
| 599 |
+
|
| 600 |
+
stats[ext]["count"] += 1
|
| 601 |
+
stats[ext]["size_bytes"] += size
|
| 602 |
+
stats[ext]["label"] = label
|
| 603 |
+
|
| 604 |
+
return dict(stats)
|
| 605 |
+
|
| 606 |
+
|
| 607 |
+
def format_size_kb(size_bytes: int) -> str:
|
| 608 |
+
"""Return exact size in KB, rounded to 1 decimal place."""
|
| 609 |
+
kb = size_bytes / 1024
|
| 610 |
+
if kb == 0:
|
| 611 |
+
return "0"
|
| 612 |
+
# Show 1 decimal place for precision, strip trailing zero if whole number
|
| 613 |
+
formatted = f"{kb:,.1f}"
|
| 614 |
+
return formatted
|
| 615 |
+
|
| 616 |
+
|
| 617 |
+
def build_table(stats: dict, sort_by: str) -> list[str]:
|
| 618 |
+
"""
|
| 619 |
+
Build a Markdown table from *stats*.
|
| 620 |
+
|
| 621 |
+
Returns a list of lines.
|
| 622 |
+
"""
|
| 623 |
+
|
| 624 |
+
# Prepare rows
|
| 625 |
+
rows = []
|
| 626 |
+
total_count = 0
|
| 627 |
+
total_bytes = 0
|
| 628 |
+
|
| 629 |
+
for ext, data in stats.items():
|
| 630 |
+
rows.append(
|
| 631 |
+
{
|
| 632 |
+
"label": data["label"],
|
| 633 |
+
"count": data["count"],
|
| 634 |
+
"size_bytes": data["size_bytes"],
|
| 635 |
+
"ext_key": ext,
|
| 636 |
+
}
|
| 637 |
+
)
|
| 638 |
+
total_count += data["count"]
|
| 639 |
+
total_bytes += data["size_bytes"]
|
| 640 |
+
|
| 641 |
+
# Sort
|
| 642 |
+
if sort_by == "count":
|
| 643 |
+
rows.sort(key=lambda r: (-r["count"], r["label"].lower()))
|
| 644 |
+
elif sort_by == "size":
|
| 645 |
+
rows.sort(key=lambda r: (-r["size_bytes"], r["label"].lower()))
|
| 646 |
+
else: # "ext"
|
| 647 |
+
rows.sort(key=lambda r: r["label"].lower())
|
| 648 |
+
|
| 649 |
+
# Build Markdown lines
|
| 650 |
+
lines = [
|
| 651 |
+
"| File Type | Count | Size (KB) |",
|
| 652 |
+
"| :--- | :--- | :--- |",
|
| 653 |
+
]
|
| 654 |
+
for row in rows:
|
| 655 |
+
lines.append(
|
| 656 |
+
f"| {row['label']} | {row['count']} | {format_size_kb(row['size_bytes'])} |"
|
| 657 |
+
)
|
| 658 |
+
|
| 659 |
+
# Totals row
|
| 660 |
+
lines.append(f"| **Total** | **{total_count}** | **{format_size_kb(total_bytes)}** |")
|
| 661 |
+
|
| 662 |
+
return lines
|
| 663 |
+
|
| 664 |
+
|
| 665 |
+
def main() -> None:
|
| 666 |
+
parser = argparse.ArgumentParser(
|
| 667 |
+
description="Audit repository tech-stack (file types, counts, sizes)."
|
| 668 |
+
)
|
| 669 |
+
parser.add_argument(
|
| 670 |
+
"path",
|
| 671 |
+
nargs="?",
|
| 672 |
+
default=".",
|
| 673 |
+
help="Root directory to scan (default: current directory).",
|
| 674 |
+
)
|
| 675 |
+
parser.add_argument(
|
| 676 |
+
"--output",
|
| 677 |
+
"-o",
|
| 678 |
+
default=None,
|
| 679 |
+
help="Output Markdown file path (default: TECHSTACK.md in scanned dir).",
|
| 680 |
+
)
|
| 681 |
+
parser.add_argument(
|
| 682 |
+
"--ignore",
|
| 683 |
+
nargs="*",
|
| 684 |
+
default=None,
|
| 685 |
+
help="Extra directory/file names to ignore.",
|
| 686 |
+
)
|
| 687 |
+
parser.add_argument(
|
| 688 |
+
"--no-default-ignore",
|
| 689 |
+
action="store_true",
|
| 690 |
+
help="Disable the built-in ignore list.",
|
| 691 |
+
)
|
| 692 |
+
parser.add_argument(
|
| 693 |
+
"--exclude-ext",
|
| 694 |
+
nargs="*",
|
| 695 |
+
default=None,
|
| 696 |
+
help="File extensions to exclude from output (without dot, e.g. png mp4 git).",
|
| 697 |
+
)
|
| 698 |
+
parser.add_argument(
|
| 699 |
+
"--sort",
|
| 700 |
+
choices=["count", "size", "ext"],
|
| 701 |
+
default="count",
|
| 702 |
+
help="Sort order for the table (default: count descending).",
|
| 703 |
+
)
|
| 704 |
+
args = parser.parse_args()
|
| 705 |
+
|
| 706 |
+
root = os.path.abspath(args.path)
|
| 707 |
+
root_name = os.path.basename(root)
|
| 708 |
+
|
| 709 |
+
# Build ignore set
|
| 710 |
+
ignore_set: set = set() if args.no_default_ignore else set(DEFAULT_IGNORE)
|
| 711 |
+
if args.ignore:
|
| 712 |
+
ignore_set.update(args.ignore)
|
| 713 |
+
|
| 714 |
+
# Always ignore the output file itself
|
| 715 |
+
out_path = args.output or os.path.join(root, "TECHSTACK.md")
|
| 716 |
+
out_name = os.path.basename(out_path)
|
| 717 |
+
ignore_set.add(out_name)
|
| 718 |
+
|
| 719 |
+
# Excluded extensions
|
| 720 |
+
exclude_exts: set = set()
|
| 721 |
+
if args.exclude_ext:
|
| 722 |
+
exclude_exts = {e.lower().lstrip(".") for e in args.exclude_ext}
|
| 723 |
+
|
| 724 |
+
print(f"Scanning: {root}")
|
| 725 |
+
print(f"Ignoring: {', '.join(sorted(ignore_set))}")
|
| 726 |
+
if exclude_exts:
|
| 727 |
+
print(f"Excluding extensions: {', '.join(sorted(exclude_exts))}")
|
| 728 |
+
|
| 729 |
+
stats = scan_files(root, ignore_set, exclude_exts)
|
| 730 |
+
table_lines = build_table(stats, sort_by=args.sort)
|
| 731 |
+
|
| 732 |
+
# Compose Markdown
|
| 733 |
+
md_lines = [
|
| 734 |
+
f"## Techstack\n",
|
| 735 |
+
f"Audit of **{root_name}** project files (excluding environment and cache):\n",
|
| 736 |
+
]
|
| 737 |
+
md_lines.extend(table_lines)
|
| 738 |
+
md_lines.append("") # trailing newline
|
| 739 |
+
|
| 740 |
+
content = "\n".join(md_lines)
|
| 741 |
+
|
| 742 |
+
with open(out_path, "w", encoding="utf-8") as fh:
|
| 743 |
+
fh.write(content)
|
| 744 |
+
|
| 745 |
+
total = sum(d["count"] for d in stats.values())
|
| 746 |
+
print(f"Done – {total} files across {len(stats)} types written to {out_path}")
|
| 747 |
+
|
| 748 |
+
|
| 749 |
+
if __name__ == "__main__":
|
| 750 |
+
main()
|
z.Others/APA Style (7th Edition).md
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# APA Style Format (7th Edition) — Complete Guide
|
| 2 |
+
|
| 3 |
+
## 1. General Document Settings
|
| 4 |
+
|
| 5 |
+
* **Paper size:** 8.5" × 11"
|
| 6 |
+
* **Margins:** 1 inch on all sides
|
| 7 |
+
* **Font Options:**
|
| 8 |
+
|
| 9 |
+
* 12-pt Times New Roman
|
| 10 |
+
* 11-pt Calibri
|
| 11 |
+
* 11-pt Arial
|
| 12 |
+
* 11-pt Georgia
|
| 13 |
+
* 10-pt Lucida Sans Unicode
|
| 14 |
+
* **Line spacing:** Double-spaced throughout
|
| 15 |
+
* **Paragraph alignment:** Left-aligned (not justified)
|
| 16 |
+
* **Paragraph indentation:** First line indent of 0.5 inch
|
| 17 |
+
* **Page numbers:** Top-right corner starting on the title page
|
| 18 |
+
|
| 19 |
+
---
|
| 20 |
+
|
| 21 |
+
## 2. Title Page Format (Student Paper)
|
| 22 |
+
|
| 23 |
+
Centered, double-spaced, placed in the top half of the page.
|
| 24 |
+
|
| 25 |
+
1. **Title** — Bold, Title Case
|
| 26 |
+
2. **Author Name** — First name, middle initial, last name
|
| 27 |
+
3. **Institutional Affiliation**
|
| 28 |
+
4. **Course Number & Name**
|
| 29 |
+
5. **Instructor’s Name**
|
| 30 |
+
6. **Due Date**
|
| 31 |
+
|
| 32 |
+
**Example:**
|
| 33 |
+
(Title bold, all center)
|
| 34 |
+
```
|
| 35 |
+
The Effect of Sleep on Memory Performance
|
| 36 |
+
Juan C. Dela Cruz
|
| 37 |
+
University of the Philippines
|
| 38 |
+
PSY 203: Cognitive Psychology
|
| 39 |
+
Dr. Maria Santos
|
| 40 |
+
March 15, 2025
|
| 41 |
+
```
|
| 42 |
+
|
| 43 |
+
---
|
| 44 |
+
|
| 45 |
+
## 3. Headings (APA 7 Levels)
|
| 46 |
+
|
| 47 |
+
**Level 1:** Centered, Bold, Title Case
|
| 48 |
+
|
| 49 |
+
**Level 2:** Left-Aligned, Bold, Title Case
|
| 50 |
+
|
| 51 |
+
**Level 3:** Left-Aligned, Bold Italic, Title Case
|
| 52 |
+
|
| 53 |
+
**Level 4:** Indented, Bold, Title Case, ending with a period.
|
| 54 |
+
|
| 55 |
+
**Level 5:** Indented, Bold Italic, Title Case, ending with a period.
|
| 56 |
+
|
| 57 |
+
---
|
| 58 |
+
|
| 59 |
+
## 4. In-Text Citation Rules
|
| 60 |
+
|
| 61 |
+
APA uses **Author–Date** citations.
|
| 62 |
+
|
| 63 |
+
### Citation Styles
|
| 64 |
+
|
| 65 |
+
* **Parenthetical:** (Author, Year)
|
| 66 |
+
* **Narrative:** Author (Year)
|
| 67 |
+
|
| 68 |
+
### Direct Quotes
|
| 69 |
+
|
| 70 |
+
* Under 40 words: in-text with quotation marks
|
| 71 |
+
* 40+ words: block quote (indented 0.5", no quotation marks)
|
| 72 |
+
|
| 73 |
+
### Author Rules
|
| 74 |
+
|
| 75 |
+
* One author: (Santos, 2020)
|
| 76 |
+
* Two authors: (Santos & Reyes, 2021)
|
| 77 |
+
* Three or more: (Santos et al., 2022)
|
| 78 |
+
* No author: ("Article Title," 2023)
|
| 79 |
+
* Group author: (World Health Organization, 2020)
|
| 80 |
+
|
| 81 |
+
---
|
| 82 |
+
|
| 83 |
+
## 5. Reference List Basics
|
| 84 |
+
|
| 85 |
+
* New page
|
| 86 |
+
* Title **References** (bold, centered)
|
| 87 |
+
* Double-spaced
|
| 88 |
+
* Alphabetized by author surname
|
| 89 |
+
* Hanging indent (0.5 inch)
|
| 90 |
+
|
| 91 |
+
---
|
| 92 |
+
|
| 93 |
+
## 6. Common Reference Formats
|
| 94 |
+
|
| 95 |
+
### **Journal Article**
|
| 96 |
+
|
| 97 |
+
**Format:**
|
| 98 |
+
Author, A. A. (Year). Title of article. *Journal Name, Volume*(Issue), pages. [https://doi.org/xxxx](https://doi.org/xxxx)
|
| 99 |
+
|
| 100 |
+
**Example:**
|
| 101 |
+
Santos, M. L., & Reyes, T. A. (2022). Stress and coping among youth. *Journal of Psychology Research, 14*(3), 215–230. [https://doi.org/10.321/example](https://doi.org/10.321/example)
|
| 102 |
+
|
| 103 |
+
### **Book**
|
| 104 |
+
|
| 105 |
+
Author, A. A. (Year). *Title of book*. Publisher.
|
| 106 |
+
|
| 107 |
+
### **Website**
|
| 108 |
+
|
| 109 |
+
Author, A. A. (Year, Month Day). Title of page. *Website Name*. URL
|
| 110 |
+
|
| 111 |
+
### **Edited Book Chapter**
|
| 112 |
+
|
| 113 |
+
Author, A. A. (Year). Title of chapter. In E. E. Editor (Ed.), *Book title* (pp. xx–xx). Publisher.
|
| 114 |
+
|
| 115 |
+
### **No Author Website**
|
| 116 |
+
|
| 117 |
+
Title of page. (Year, Month Day). Website. URL
|
| 118 |
+
|
| 119 |
+
---
|
| 120 |
+
|
| 121 |
+
## 7. Abstract Format
|
| 122 |
+
|
| 123 |
+
* New page
|
| 124 |
+
* Title **Abstract** (bold, centered)
|
| 125 |
+
* 150–250 words
|
| 126 |
+
* No indentation
|
| 127 |
+
* Optional: Keywords line (indented, italicized label)
|
| 128 |
+
|
| 129 |
+
---
|
| 130 |
+
|
| 131 |
+
## 8. Figures & Tables
|
| 132 |
+
|
| 133 |
+
### Tables
|
| 134 |
+
|
| 135 |
+
* Labeled: **Table 1**, **Table 2**
|
| 136 |
+
* Title: italicized, Title Case
|
| 137 |
+
* Notes placed below
|
| 138 |
+
|
| 139 |
+
### Figures
|
| 140 |
+
|
| 141 |
+
* Labeled: **Figure 1**, **Figure 2**
|
| 142 |
+
* Caption below figure
|
| 143 |
+
* Title italicized
|
| 144 |
+
|
| 145 |
+
---
|
| 146 |
+
|
| 147 |
+
## 9. Numbers, Abbreviations, and Style
|
| 148 |
+
|
| 149 |
+
### Numbers
|
| 150 |
+
|
| 151 |
+
* Use numerals for 10+, measurements, statistics, dates, ages
|
| 152 |
+
* Use words for numbers 1–9 except when paired with units
|
| 153 |
+
|
| 154 |
+
### Abbreviations
|
| 155 |
+
|
| 156 |
+
Spell out first mention, then abbreviate.
|
| 157 |
+
|
| 158 |
+
### Bias-Free Language
|
| 159 |
+
|
| 160 |
+
Avoid bias regarding gender, age, disability, race/ethnicity, SES.
|
| 161 |
+
|
| 162 |
+
---
|
| 163 |
+
|
| 164 |
+
## 10. Writing Style
|
| 165 |
+
|
| 166 |
+
APA writing should be:
|
| 167 |
+
|
| 168 |
+
* Objective
|
| 169 |
+
* Clear
|
| 170 |
+
* Concise
|
| 171 |
+
* Evidence‑based
|
| 172 |
+
* Free of casual phrasing
|
| 173 |
+
|
| 174 |
+
---
|
| 175 |
+
|
| 176 |
+
## 11. Running Head (Student Papers)
|
| 177 |
+
|
| 178 |
+
Not required unless instructed.
|
| 179 |
+
|
| 180 |
+
**If required:**
|
| 181 |
+
|
| 182 |
+
```
|
| 183 |
+
RUNNING HEAD: SHORT TITLE
|
| 184 |
+
```
|
| 185 |
+
|
| 186 |
+
---
|
| 187 |
+
|
| 188 |
+
## 12. Common APA Mistakes
|
| 189 |
+
|
| 190 |
+
* Wrong font size
|
| 191 |
+
* Missing page numbers
|
| 192 |
+
* Incorrect reference indentation
|
| 193 |
+
* No italics for journal names and book titles
|
| 194 |
+
* Using "&" in narrative citations instead of "and"
|
| 195 |
+
* Multiple fonts
|
| 196 |
+
* Incomplete citations
|
| 197 |
+
|
| 198 |
+
---
|
| 199 |
+
|
| 200 |
+
## 13. Optional Add‑Ons
|
| 201 |
+
|
| 202 |
+
Available on request:
|
| 203 |
+
|
| 204 |
+
* APA Word template
|
| 205 |
+
* APA Google Docs template
|
| 206 |
+
* Full APA‑formatted sample paper
|
| 207 |
+
* Conversion of your existing document into APA format
|
z.Others/Understanding GitHub Licenses.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Understanding GitHub Licenses
|
| 2 |
+
|
| 3 |
+
A **GitHub license** defines what other people are allowed (or not allowed) to do with your code.
|
| 4 |
+
If you upload a project to GitHub **without a license**, the default is **copyrighted**—meaning no one can legally use your code without your permission.
|
| 5 |
+
|
| 6 |
+
---
|
| 7 |
+
|
| 8 |
+
## 🔍 Why Licenses Matter
|
| 9 |
+
|
| 10 |
+
A license provides clear rules for:
|
| 11 |
+
- How others can use your code
|
| 12 |
+
- Whether they can modify or distribute it
|
| 13 |
+
- Whether they must credit you
|
| 14 |
+
- Whether they can use your work commercially
|
| 15 |
+
|
| 16 |
+
Without a license, **others cannot:**
|
| 17 |
+
- Copy your code
|
| 18 |
+
- Modify your code
|
| 19 |
+
- Use it in their projects
|
| 20 |
+
- Distribute it
|
| 21 |
+
|
| 22 |
+
---
|
| 23 |
+
|
| 24 |
+
## 📝 What a License Covers
|
| 25 |
+
|
| 26 |
+
Licenses typically specify:
|
| 27 |
+
- Personal or commercial usage rights
|
| 28 |
+
- Requirements to give attribution
|
| 29 |
+
- Whether modified versions must also be open-source
|
| 30 |
+
- Liability and warranty disclaimers
|
| 31 |
+
|
| 32 |
+
---
|
| 33 |
+
|
| 34 |
+
## 📌 Common GitHub Licenses (Simplified)
|
| 35 |
+
|
| 36 |
+
| License | Use Allowed? | Commercial Use? | Must Credit You? | Must Open-Source Their Changes? |
|
| 37 |
+
|--------|---------------|------------------|-------------------|----------------------------------|
|
| 38 |
+
| **MIT License** | ✔️ Yes | ✔️ Yes | ✔️ Yes | ❌ No |
|
| 39 |
+
| **Apache 2.0** | ✔️ Yes | ✔️ Yes | ✔️ Yes | ❌ No |
|
| 40 |
+
| **GPL v3** | ✔️ Yes | ✔️ Yes | ✔️ Yes | ✔️ Yes |
|
| 41 |
+
| **BSD 3-Clause** | ✔️ Yes | ✔️ Yes | ✔️ Yes | ❌ No |
|
| 42 |
+
| **No License** | ❌ No | ❌ No | ❌ No | ❌ No |
|
| 43 |
+
|
| 44 |
+
---
|
| 45 |
+
|
| 46 |
+
## 💡 Choosing a License
|
| 47 |
+
|
| 48 |
+
Here are simple recommendations:
|
| 49 |
+
|
| 50 |
+
- **MIT License**
|
| 51 |
+
- Most popular
|
| 52 |
+
- Very permissive
|
| 53 |
+
- Allows commercial use
|
| 54 |
+
- Users must credit you
|
| 55 |
+
|
| 56 |
+
- **GPL v3**
|
| 57 |
+
- Strong open-source requirement
|
| 58 |
+
- Any project using your code must also be open-source
|
| 59 |
+
|
| 60 |
+
- **Apache 2.0**
|
| 61 |
+
- Good for company projects
|
| 62 |
+
- Includes protection against patent claims
|
| 63 |
+
|
| 64 |
+
- **No License**
|
| 65 |
+
- No one can legally reuse your code
|
| 66 |
+
|
| 67 |
+
---
|
| 68 |
+
|
| 69 |
+
## 📎 Tip
|
| 70 |
+
|
| 71 |
+
You can add a license easily using GitHub’s “Add License” button or by creating a `LICENSE` file in your repository.
|
| 72 |
+
|
z.Others/VTR_DMag_System_Explanation.md
ADDED
|
@@ -0,0 +1,519 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Detailed Analysis of the Trading System (From Image)
|
| 2 |
+
|
| 3 |
+
This document provides a full technical explanation of the formulas,
|
| 4 |
+
logic, and signal construction shown in the reference image. It covers
|
| 5 |
+
Volume Conditions, VTR logic, Directional Movement (DM), DI, DX, and
|
| 6 |
+
DMag (ADX), including how everything connects into a complete trading
|
| 7 |
+
signal framework.
|
| 8 |
+
|
| 9 |
+
------------------------------------------------------------------------
|
| 10 |
+
|
| 11 |
+
## 1. Notation & Preliminaries
|
| 12 |
+
|
| 13 |
+
- `t` : current candle index\
|
| 14 |
+
- `t-1`, `t-i` : previous candles\
|
| 15 |
+
- `High_t`, `Low_t`, `Close_t`, `Open_t` : OHLC values\
|
| 16 |
+
- `Vol_t` : current volume (tick or real volume)\
|
| 17 |
+
- `TR_t` : True Range\
|
| 18 |
+
- `VTR(m,l)` : Volatility Threshold Range
|
| 19 |
+
|
| 20 |
+
All calculations are performed bar-by-bar with proper shifting.
|
| 21 |
+
|
| 22 |
+
------------------------------------------------------------------------
|
| 23 |
+
|
| 24 |
+
## 2. Volume Gate (VG)
|
| 25 |
+
|
| 26 |
+
**Condition:**
|
| 27 |
+
|
| 28 |
+
Vol_t ≥ VG
|
| 29 |
+
|
| 30 |
+
Where:
|
| 31 |
+
|
| 32 |
+
VG = mean(Vol_{t-L} ... Vol_{t-1}) × factor
|
| 33 |
+
|
| 34 |
+
This ensures the current candle trades with sufficient participation.
|
| 35 |
+
|
| 36 |
+
------------------------------------------------------------------------
|
| 37 |
+
|
| 38 |
+
## 3. Volume Boom Condition
|
| 39 |
+
|
| 40 |
+
**Formula from Image:**
|
| 41 |
+
|
| 42 |
+
Vol_t ≥ 2 × Σ Vol_{t-i}, i = 1..10
|
| 43 |
+
|
| 44 |
+
This requires the current volume to be at least double the total volume
|
| 45 |
+
of the last 10 candles.
|
| 46 |
+
|
| 47 |
+
------------------------------------------------------------------------
|
| 48 |
+
|
| 49 |
+
## 4. True Range (TR)
|
| 50 |
+
|
| 51 |
+
TR_t = max(
|
| 52 |
+
High_t - Low_t,
|
| 53 |
+
|High_t - Close_{t-1}|,
|
| 54 |
+
|Low_t - Close_{t-1}|
|
| 55 |
+
)
|
| 56 |
+
|
| 57 |
+
This captures raw price volatility including gaps.
|
| 58 |
+
|
| 59 |
+
------------------------------------------------------------------------
|
| 60 |
+
|
| 61 |
+
## 5. VTR (Volatility Threshold Range)
|
| 62 |
+
|
| 63 |
+
VTR_t = m × (1/l) × Σ TR_{t-i}, i = 0..(l-1)
|
| 64 |
+
|
| 65 |
+
Image uses:
|
| 66 |
+
|
| 67 |
+
- VTR(3,12)
|
| 68 |
+
- VTR(10,1)
|
| 69 |
+
- VTR(11,2)
|
| 70 |
+
|
| 71 |
+
Each VTR scales volatility across different horizons.
|
| 72 |
+
|
| 73 |
+
------------------------------------------------------------------------
|
| 74 |
+
|
| 75 |
+
## 6. Market Bias from VTR
|
| 76 |
+
|
| 77 |
+
**Bullish Bias:**
|
| 78 |
+
|
| 79 |
+
VTR1 > Price_t ∧ VTR2 > Price_t ∧ VTR3 > Price_t
|
| 80 |
+
|
| 81 |
+
**Bearish Bias:**
|
| 82 |
+
|
| 83 |
+
VTR1 < Price_t ∧ VTR2 < Price_t ∧ VTR3 < Price_t
|
| 84 |
+
|
| 85 |
+
Otherwise: No-trade zone.
|
| 86 |
+
|
| 87 |
+
------------------------------------------------------------------------
|
| 88 |
+
|
| 89 |
+
## 7. Directional Movement (+DM / -DM)
|
| 90 |
+
|
| 91 |
+
UpMove = High_t - High_{t-1}
|
| 92 |
+
DownMove = Low_{t-1} - Low_t
|
| 93 |
+
|
| 94 |
+
+DM_t = UpMove if UpMove > DownMove and UpMove > 0 else 0
|
| 95 |
+
-DM_t = DownMove if DownMove > UpMove and DownMove > 0 else 0
|
| 96 |
+
|
| 97 |
+
------------------------------------------------------------------------
|
| 98 |
+
|
| 99 |
+
## 8. Wilder Smoothing (14 Periods)
|
| 100 |
+
|
| 101 |
+
Smooth_t = Smooth_{t-1} - (Smooth_{t-1}/14) + Raw_t
|
| 102 |
+
|
| 103 |
+
Applied to:
|
| 104 |
+
|
| 105 |
+
- TR
|
| 106 |
+
- +DM
|
| 107 |
+
- -DM
|
| 108 |
+
|
| 109 |
+
------------------------------------------------------------------------
|
| 110 |
+
|
| 111 |
+
## 9. Directional Indicators
|
| 112 |
+
|
| 113 |
+
+DI = 100 × (+DM_smooth / TR_smooth)
|
| 114 |
+
-DI = 100 × (-DM_smooth / TR_smooth)
|
| 115 |
+
|
| 116 |
+
------------------------------------------------------------------------
|
| 117 |
+
|
| 118 |
+
## 10. Directional Index DX
|
| 119 |
+
|
| 120 |
+
DX = 100 × |+DI - -DI| / (+DI + -DI)
|
| 121 |
+
|
| 122 |
+
------------------------------------------------------------------------
|
| 123 |
+
|
| 124 |
+
## 11. DMag (ADX)
|
| 125 |
+
|
| 126 |
+
Initial:
|
| 127 |
+
|
| 128 |
+
ADX_14 = mean(DX[0..13])
|
| 129 |
+
|
| 130 |
+
Then:
|
| 131 |
+
|
| 132 |
+
ADX_t = ((13 × ADX_{t-1}) + DX_t) / 14
|
| 133 |
+
|
| 134 |
+
------------------------------------------------------------------------
|
| 135 |
+
|
| 136 |
+
## 12. DMag Filter
|
| 137 |
+
|
| 138 |
+
DMag > 20 ∧ DMag > DMag[1]
|
| 139 |
+
|
| 140 |
+
Confirms strong and strengthening trend.
|
| 141 |
+
|
| 142 |
+
------------------------------------------------------------------------
|
| 143 |
+
|
| 144 |
+
## 13. Final Signal Logic
|
| 145 |
+
|
| 146 |
+
**Bullish Signal:**
|
| 147 |
+
|
| 148 |
+
Volume Boom
|
| 149 |
+
∧ Volume Gate
|
| 150 |
+
∧ VTR Bullish Bias
|
| 151 |
+
∧ ADX > 20 and rising
|
| 152 |
+
|
| 153 |
+
**Bearish Signal:**
|
| 154 |
+
|
| 155 |
+
Volume Boom
|
| 156 |
+
∧ Volume Gate
|
| 157 |
+
∧ VTR Bearish Bias
|
| 158 |
+
∧ ADX > 20 and rising
|
| 159 |
+
|
| 160 |
+
Dots are placed on the chart where these conditions occur.
|
| 161 |
+
|
| 162 |
+
------------------------------------------------------------------------
|
| 163 |
+
|
| 164 |
+
## 14. Algorithm Flow Summary
|
| 165 |
+
|
| 166 |
+
1. Compute TR
|
| 167 |
+
2. Compute VTRs
|
| 168 |
+
3. Check Volume Gate
|
| 169 |
+
4. Check Volume Boom
|
| 170 |
+
5. Compute +DM / -DM
|
| 171 |
+
6. Wilder smooth TR & DM
|
| 172 |
+
7. Compute +DI, -DI
|
| 173 |
+
8. Compute DX
|
| 174 |
+
9. Compute DMag (ADX)
|
| 175 |
+
10. Apply DMag filter
|
| 176 |
+
11. Apply VTR bias
|
| 177 |
+
12. Generate signal
|
| 178 |
+
13. Plot signal dots
|
| 179 |
+
|
| 180 |
+
------------------------------------------------------------------------
|
| 181 |
+
|
| 182 |
+
This MD file represents a direct systematic breakdown of the entire
|
| 183 |
+
strategy logic from the image.
|
| 184 |
+
|
| 185 |
+
# VTR–DMag System — Detailed Formula Walkthrough
|
| 186 |
+
|
| 187 |
+
This document is a structured Markdown version of the full detailed explanation (Sections 1–18) of the system shown in the image. It covers **Volume Gate, Volume Boom, VTR, True Range, Directional Movement (+DM/−DM), DI, DX, and DMag (ADX)**, including formulas, logic flow, implementation notes, pitfalls, and example usage.
|
| 188 |
+
|
| 189 |
+
---
|
| 190 |
+
|
| 191 |
+
## 1. Notation & Preliminaries
|
| 192 |
+
|
| 193 |
+
* Time index: `t` = current bar, `t-1` = previous bar
|
| 194 |
+
* Price:
|
| 195 |
+
|
| 196 |
+
* `High_t`, `Low_t`, `Close_t`, `Open_t`
|
| 197 |
+
* Volume: `Vol_t`
|
| 198 |
+
* Parameters:
|
| 199 |
+
|
| 200 |
+
* `m`, `l` → VTR scaling parameters
|
| 201 |
+
* `L` → Volume Gate lookback
|
| 202 |
+
* `n = 14` → Wilder smoothing period
|
| 203 |
+
|
| 204 |
+
---
|
| 205 |
+
|
| 206 |
+
## 2. Volume Gate (VG)
|
| 207 |
+
|
| 208 |
+
**Formula:**
|
| 209 |
+
|
| 210 |
+
```
|
| 211 |
+
Vol_t ≥ VG
|
| 212 |
+
```
|
| 213 |
+
|
| 214 |
+
**Typical implementation:**
|
| 215 |
+
|
| 216 |
+
```
|
| 217 |
+
VG_t = mean(Vol_{t-L...t-1}) × factor
|
| 218 |
+
```
|
| 219 |
+
|
| 220 |
+
**Logic:**
|
| 221 |
+
|
| 222 |
+
* Blocks low-volume noise
|
| 223 |
+
* Only allows trades during sufficient participation
|
| 224 |
+
|
| 225 |
+
**Notes:**
|
| 226 |
+
|
| 227 |
+
* Use `L = 20–50`
|
| 228 |
+
* Use `factor = 1.0–2.0`
|
| 229 |
+
* Requires `min_periods = L`
|
| 230 |
+
|
| 231 |
+
---
|
| 232 |
+
|
| 233 |
+
## 3. Volume Boom
|
| 234 |
+
|
| 235 |
+
**Image Formula:**
|
| 236 |
+
|
| 237 |
+
```
|
| 238 |
+
Vol_t ≥ 2 × Σ_{i=1}^{10} Vol_{t-i}
|
| 239 |
+
```
|
| 240 |
+
|
| 241 |
+
**Interpretation:**
|
| 242 |
+
|
| 243 |
+
* Current volume must exceed twice the **sum of the previous 10 bars**
|
| 244 |
+
* This detects extreme participation surges
|
| 245 |
+
|
| 246 |
+
---
|
| 247 |
+
|
| 248 |
+
## 4. True Range (TR)
|
| 249 |
+
|
| 250 |
+
**Standard Formula:**
|
| 251 |
+
|
| 252 |
+
```
|
| 253 |
+
TR_t = max(
|
| 254 |
+
High_t − Low_t,
|
| 255 |
+
|High_t − Close_{t-1}|,
|
| 256 |
+
|Low_t − Close_{t-1}|
|
| 257 |
+
)
|
| 258 |
+
```
|
| 259 |
+
|
| 260 |
+
**Purpose:**
|
| 261 |
+
|
| 262 |
+
* Measures real price expansion per bar
|
| 263 |
+
|
| 264 |
+
---
|
| 265 |
+
|
| 266 |
+
## 5. VTR — Volatility True Range
|
| 267 |
+
|
| 268 |
+
**General Formula:**
|
| 269 |
+
|
| 270 |
+
```
|
| 271 |
+
VTR_t = m × (1/l) × Σ_{i=0}^{l-1} TR_{t-i}
|
| 272 |
+
```
|
| 273 |
+
|
| 274 |
+
**Image Parameters:**
|
| 275 |
+
|
| 276 |
+
* `VTR(3,12)` → medium volatility
|
| 277 |
+
* `VTR(10,1)` → instant spike
|
| 278 |
+
* `VTR(11,2)` → ultra-short range
|
| 279 |
+
|
| 280 |
+
**Unit:** Same as price
|
| 281 |
+
|
| 282 |
+
---
|
| 283 |
+
|
| 284 |
+
## 6. Market Bias Rules (VTR vs Price)
|
| 285 |
+
|
| 286 |
+
Let `Price_t = Close_t`
|
| 287 |
+
|
| 288 |
+
**Bullish Condition:**
|
| 289 |
+
|
| 290 |
+
```
|
| 291 |
+
VTR_1 > Price_t AND
|
| 292 |
+
VTR_2 > Price_t AND
|
| 293 |
+
VTR_3 > Price_t
|
| 294 |
+
```
|
| 295 |
+
|
| 296 |
+
**Bearish Condition:**
|
| 297 |
+
|
| 298 |
+
```
|
| 299 |
+
VTR_1 < Price_t AND
|
| 300 |
+
VTR_2 < Price_t AND
|
| 301 |
+
VTR_3 < Price_t
|
| 302 |
+
```
|
| 303 |
+
|
| 304 |
+
**No Trade:**
|
| 305 |
+
|
| 306 |
+
```
|
| 307 |
+
Otherwise (mixed signals)
|
| 308 |
+
```
|
| 309 |
+
|
| 310 |
+
---
|
| 311 |
+
|
| 312 |
+
## 7. Directional Movement (+DM / −DM)
|
| 313 |
+
|
| 314 |
+
Let:
|
| 315 |
+
|
| 316 |
+
```
|
| 317 |
+
upMove = High_t − High_{t-1}
|
| 318 |
+
downMove = Low_{t-1} − Low_t
|
| 319 |
+
```
|
| 320 |
+
|
| 321 |
+
**Formulas:**
|
| 322 |
+
|
| 323 |
+
```
|
| 324 |
+
+DM_t = upMove if upMove > downMove and upMove > 0 else 0
|
| 325 |
+
−DM_t = downMove if downMove > upMove and downMove > 0 else 0
|
| 326 |
+
```
|
| 327 |
+
|
| 328 |
+
---
|
| 329 |
+
|
| 330 |
+
## 8. Wilder Smoothing (for TR, +DM, −DM)
|
| 331 |
+
|
| 332 |
+
**Initial value:**
|
| 333 |
+
|
| 334 |
+
```
|
| 335 |
+
Smoothed_0 = Σ raw[0...n-1]
|
| 336 |
+
```
|
| 337 |
+
|
| 338 |
+
**Recursive formula:**
|
| 339 |
+
|
| 340 |
+
```
|
| 341 |
+
Smoothed_t = Smoothed_{t-1} − (Smoothed_{t-1} / n) + raw_t
|
| 342 |
+
```
|
| 343 |
+
|
| 344 |
+
Applied to:
|
| 345 |
+
|
| 346 |
+
* `TR`
|
| 347 |
+
* `+DM`
|
| 348 |
+
* `−DM`
|
| 349 |
+
|
| 350 |
+
---
|
| 351 |
+
|
| 352 |
+
## 9. Directional Indicators (+DI / −DI)
|
| 353 |
+
|
| 354 |
+
**Formulas:**
|
| 355 |
+
|
| 356 |
+
```
|
| 357 |
+
+DI_t = 100 × ( +DM_smooth_t / TR_smooth_t )
|
| 358 |
+
−DI_t = 100 × ( −DM_smooth_t / TR_smooth_t )
|
| 359 |
+
```
|
| 360 |
+
|
| 361 |
+
---
|
| 362 |
+
|
| 363 |
+
## 10. DX — Directional Index
|
| 364 |
+
|
| 365 |
+
**Formula:**
|
| 366 |
+
|
| 367 |
+
```
|
| 368 |
+
DX_t = 100 × |+DI_t − −DI_t| / ( +DI_t + −DI_t )
|
| 369 |
+
```
|
| 370 |
+
|
| 371 |
+
Range: `0–100`
|
| 372 |
+
|
| 373 |
+
---
|
| 374 |
+
|
| 375 |
+
## 11. DMag (ADX via Wilder)
|
| 376 |
+
|
| 377 |
+
**Initial Average (Image shows):**
|
| 378 |
+
|
| 379 |
+
```
|
| 380 |
+
DMag_14 = (1/14) × Σ DX
|
| 381 |
+
```
|
| 382 |
+
|
| 383 |
+
**Wilder Recursion:**
|
| 384 |
+
|
| 385 |
+
```
|
| 386 |
+
DMag_t = ((n − 1) × DMag_{t-1} + DX_t) / n
|
| 387 |
+
```
|
| 388 |
+
|
| 389 |
+
Purpose:
|
| 390 |
+
|
| 391 |
+
* Detects **trend strength only**, not direction
|
| 392 |
+
|
| 393 |
+
---
|
| 394 |
+
|
| 395 |
+
## 12. Signal Strength Filter
|
| 396 |
+
|
| 397 |
+
**Image Rule:**
|
| 398 |
+
|
| 399 |
+
```
|
| 400 |
+
DMag > 20 AND DMag > DMag[1]
|
| 401 |
+
```
|
| 402 |
+
|
| 403 |
+
Meaning:
|
| 404 |
+
|
| 405 |
+
* Trend must be **stronger than 20**
|
| 406 |
+
* Trend must be **accelerating**
|
| 407 |
+
|
| 408 |
+
---
|
| 409 |
+
|
| 410 |
+
## 13. Full Decision Logic
|
| 411 |
+
|
| 412 |
+
### Bullish Signal
|
| 413 |
+
|
| 414 |
+
```
|
| 415 |
+
VolumeBoom AND
|
| 416 |
+
VolumeGate AND
|
| 417 |
+
VTR_Bullish AND
|
| 418 |
+
DMag > 20 AND
|
| 419 |
+
DMag Rising
|
| 420 |
+
```
|
| 421 |
+
|
| 422 |
+
### Bearish Signal
|
| 423 |
+
|
| 424 |
+
```
|
| 425 |
+
VolumeBoom AND
|
| 426 |
+
VolumeGate AND
|
| 427 |
+
VTR_Bearish AND
|
| 428 |
+
DMag > 20 AND
|
| 429 |
+
DMag Rising
|
| 430 |
+
```
|
| 431 |
+
|
| 432 |
+
---
|
| 433 |
+
|
| 434 |
+
## 14. Practical MT5 Notes
|
| 435 |
+
|
| 436 |
+
* Prefer `real_volume` if broker provides it
|
| 437 |
+
* Use `shift(1)` carefully
|
| 438 |
+
* Use strict `min_periods`
|
| 439 |
+
* Protect against division by zero in DI & DX
|
| 440 |
+
|
| 441 |
+
---
|
| 442 |
+
|
| 443 |
+
## 15. Mini Numeric Example
|
| 444 |
+
|
| 445 |
+
Example bar:
|
| 446 |
+
|
| 447 |
+
```
|
| 448 |
+
High_t = 103
|
| 449 |
+
Low_t = 100
|
| 450 |
+
Close_t = 102
|
| 451 |
+
Close_{t-1} = 100
|
| 452 |
+
```
|
| 453 |
+
|
| 454 |
+
TR:
|
| 455 |
+
|
| 456 |
+
```
|
| 457 |
+
max(3, 3, 0) = 3
|
| 458 |
+
```
|
| 459 |
+
|
| 460 |
+
VTR(10,1):
|
| 461 |
+
|
| 462 |
+
```
|
| 463 |
+
10 × 3 = 30
|
| 464 |
+
```
|
| 465 |
+
|
| 466 |
+
Comparison:
|
| 467 |
+
|
| 468 |
+
```
|
| 469 |
+
30 < 102 → bearish zone
|
| 470 |
+
```
|
| 471 |
+
|
| 472 |
+
---
|
| 473 |
+
|
| 474 |
+
## 16. Pitfalls
|
| 475 |
+
|
| 476 |
+
* Comparing raw price to VTR assumes scale compatibility
|
| 477 |
+
* Weak volume sessions distort Volume Boom
|
| 478 |
+
* Early-bar smoothing instability
|
| 479 |
+
* ADX must be Wilder-smoothed, not EMA
|
| 480 |
+
|
| 481 |
+
---
|
| 482 |
+
|
| 483 |
+
## 17. Pseudocode Summary
|
| 484 |
+
|
| 485 |
+
```
|
| 486 |
+
for each bar t:
|
| 487 |
+
compute TR
|
| 488 |
+
compute VTRs
|
| 489 |
+
compute VolumeGate
|
| 490 |
+
compute VolumeBoom
|
| 491 |
+
compute +DM, -DM
|
| 492 |
+
wilder_smooth(TR, +DM, -DM)
|
| 493 |
+
compute +DI, -DI
|
| 494 |
+
compute DX
|
| 495 |
+
compute DMag (ADX)
|
| 496 |
+
|
| 497 |
+
if all bullish conditions:
|
| 498 |
+
place bullish dot
|
| 499 |
+
if all bearish conditions:
|
| 500 |
+
place bearish dot
|
| 501 |
+
```
|
| 502 |
+
|
| 503 |
+
---
|
| 504 |
+
|
| 505 |
+
## 18. Recommended Parameter Ranges
|
| 506 |
+
|
| 507 |
+
| Parameter | Suggested Range |
|
| 508 |
+
| ------------------ | --------------- |
|
| 509 |
+
| VG Lookback | 20–100 |
|
| 510 |
+
| VG Multiplier | 1.0–2.0 |
|
| 511 |
+
| Volume Boom Window | 10–20 |
|
| 512 |
+
| VTR Multipliers | 2–12 |
|
| 513 |
+
| ADX Period | 14 (standard) |
|
| 514 |
+
| ADX Threshold | 20–25 |
|
| 515 |
+
|
| 516 |
+
---
|
| 517 |
+
|
| 518 |
+
**End of System Documentation**
|
| 519 |
+
|
z.Others/WQ Wildmind Quasars’s standard research paper layout.ipynb
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
|
| 2 |
+
{
|
| 3 |
+
"cells": [
|
| 4 |
+
{
|
| 5 |
+
"cell_type": "markdown",
|
| 6 |
+
"id": "3d1b5567",
|
| 7 |
+
"metadata": {},
|
| 8 |
+
"source": [
|
| 9 |
+
"Title page\n",
|
| 10 |
+
"Credits\n",
|
| 11 |
+
"Abstract\n",
|
| 12 |
+
"Development Journey\n",
|
| 13 |
+
" 1. Overview\n",
|
| 14 |
+
" 2. 4 Phase Methodology:\n",
|
| 15 |
+
" a. Idea generation\n",
|
| 16 |
+
" b. Prompting & Programing\n",
|
| 17 |
+
" Code result\n",
|
| 18 |
+
" c. Testing in Demo Environment\n",
|
| 19 |
+
" Ideal feature extractions, and combination of best parameters\n",
|
| 20 |
+
" prototyping\n",
|
| 21 |
+
" d. Testing in Live Environment \n",
|
| 22 |
+
" Fine tuning and quick tweaking\n",
|
| 23 |
+
" EA software trading bot Finale\n",
|
| 24 |
+
"Conclusion\n",
|
| 25 |
+
"Recomendations\n"
|
| 26 |
+
]
|
| 27 |
+
}
|
| 28 |
+
],
|
| 29 |
+
"metadata": {
|
| 30 |
+
"language_info": {
|
| 31 |
+
"name": "python"
|
| 32 |
+
}
|
| 33 |
+
},
|
| 34 |
+
"nbformat": 4,
|
| 35 |
+
"nbformat_minor": 5
|
| 36 |
+
}
|
z.Others/test.txt
ADDED
|
File without changes
|
z.Others/z.Images Folder/Screenshot 2025-11-12 104458.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-12 144500.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-12 201257.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-12 205738.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 131419.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 132923.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 135957.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 153904.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 160104.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 162112.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 162726.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 164303.png
ADDED
|
z.Others/z.Images Folder/Screenshot 2025-11-15 182205.png
ADDED
|
z.Others/z.Images Folder/XAUUSD_2025-11-11_21-11-52.png
ADDED
|
z.Others/z.Images Folder/XAUUSDc_2025-11-12_10-02-56.png
ADDED
|
z.Others/z.Images Folder/pasted-image (8).png
ADDED
|
z.Others/z.Images Folder/pasted-image (9).png
ADDED
|
z.Others/z.Images Folder/pasted-image.png
ADDED
|