algorembrant commited on
Commit
4ce5e6b
·
verified ·
1 Parent(s): c13dff6

Add files using upload-large-folder tool

Browse files
Files changed (50) hide show
  1. .gitignore +27 -0
  2. Concepts and Topics Folder/Chart plotting using python.ipynb +92 -0
  3. Concepts and Topics Folder/Max Number of Losing Streak in Regards to Winrate.ipynb +101 -0
  4. Concepts and Topics Folder/Risk Management Logic.ipynb +56 -0
  5. Concepts and Topics Folder/The Law of Large Numbers (LLN).ipynb +0 -0
  6. Documents/eeee.ipynb +49 -0
  7. Documents/ewe.doc +1 -0
  8. LICENSE +21 -0
  9. README.md +198 -0
  10. Research Papers/The 3HTMOSDSDT.rp1_ Three-hour Timeframe Market Order Strategy with Defined Stoploss and Dynamic Takeprofit/3HTMOSDSDT.rp1.ipynb +0 -0
  11. Dynamic Takeprofit/newplot (25).png +0 -0
  12. Dynamic Takeprofit/newplot (26).png +0 -0
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. STACKS.md +62 -0
  23. STRUCTURE.md +579 -0
  24. TECHSTACK.md +27 -0
  25. gg.md +59 -0
  26. scan_structure.py +156 -0
  27. scan_techstack.py +750 -0
  28. z.Others/APA Style (7th Edition).md +207 -0
  29. z.Others/Understanding GitHub Licenses.md +72 -0
  30. z.Others/VTR_DMag_System_Explanation.md +519 -0
  31. z.Others/WQ Wildmind Quasars’s standard research paper layout.ipynb +36 -0
  32. z.Others/test.txt +0 -0
  33. z.Others/z.Images Folder/Screenshot 2025-11-12 104458.png +0 -0
  34. z.Others/z.Images Folder/Screenshot 2025-11-12 144500.png +0 -0
  35. z.Others/z.Images Folder/Screenshot 2025-11-12 201257.png +0 -0
  36. z.Others/z.Images Folder/Screenshot 2025-11-12 205738.png +0 -0
  37. z.Others/z.Images Folder/Screenshot 2025-11-15 131419.png +0 -0
  38. z.Others/z.Images Folder/Screenshot 2025-11-15 132923.png +0 -0
  39. z.Others/z.Images Folder/Screenshot 2025-11-15 135957.png +0 -0
  40. z.Others/z.Images Folder/Screenshot 2025-11-15 153904.png +0 -0
  41. z.Others/z.Images Folder/Screenshot 2025-11-15 160104.png +0 -0
  42. z.Others/z.Images Folder/Screenshot 2025-11-15 162112.png +0 -0
  43. z.Others/z.Images Folder/Screenshot 2025-11-15 162726.png +0 -0
  44. z.Others/z.Images Folder/Screenshot 2025-11-15 164303.png +0 -0
  45. z.Others/z.Images Folder/Screenshot 2025-11-15 182205.png +0 -0
  46. z.Others/z.Images Folder/XAUUSD_2025-11-11_21-11-52.png +0 -0
  47. z.Others/z.Images Folder/XAUUSDc_2025-11-12_10-02-56.png +0 -0
  48. z.Others/z.Images Folder/pasted-image (8).png +0 -0
  49. z.Others/z.Images Folder/pasted-image (9).png +0 -0
  50. 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&paratener.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