<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: juandisay</title>
    <description>The latest articles on DEV Community by juandisay (@juandisay).</description>
    <link>https://dev.to/juandisay</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F182946%2F4b8770d0-d015-4f37-9dbd-6bd73c027144.gif</url>
      <title>DEV Community: juandisay</title>
      <link>https://dev.to/juandisay</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/juandisay"/>
    <language>en</language>
    <item>
      <title>Bedah Tuntas Strategi Grid Averaging &amp; Hedging Scalper: Mekanisme, Matematika, dan Manajemen Risiko</title>
      <dc:creator>juandisay</dc:creator>
      <pubDate>Tue, 13 Oct 2026 18:46:49 +0000</pubDate>
      <link>https://dev.to/juandisay/bedah-tuntas-strategi-grid-averaging-hedging-scalper-mekanisme-matematika-dan-manajemen-risiko-4jg9</link>
      <guid>https://dev.to/juandisay/bedah-tuntas-strategi-grid-averaging-hedging-scalper-mekanisme-matematika-dan-manajemen-risiko-4jg9</guid>
      <description>&lt;h1&gt;
  
  
  Bedah Tuntas Strategi Grid Averaging &amp;amp; Hedging Scalper: Mekanisme, Matematika, dan Manajemen Risiko
&lt;/h1&gt;

&lt;p&gt;Dalam dunia perdagangan instrumen dengan volatilitas tinggi seperti emas (&lt;strong&gt;XAUUSD&lt;/strong&gt;), terdapat satu kelompok strategi yang sangat populer digunakan oleh sistem perdagangan algoritmik (&lt;em&gt;Expert Advisor&lt;/em&gt; / Robot EA): &lt;strong&gt;Grid Averaging down yang dikombinasikan dengan Martingale bertingkat dan Dynamic Hedging&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Banyak trader pemula melihat akun trading yang menggunakan metode ini mampu mencetak profit konsisten setiap hari dengan kurva ekuitas yang sangat mulus pada fase konsolidasi (&lt;em&gt;ranging/sideway&lt;/em&gt;). Namun, di balik tingkat kemenangan (&lt;em&gt;win-rate&lt;/em&gt;) yang tampak mencapai 90%+, tersimpan risiko asimetris yang dapat melenyapkan seluruh saldo akun dalam satu kali pergerakan tren searah (&lt;em&gt;black swan / trend explosion&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;Riset komprehensif ini membedah anatomi sistem tersebut secara matematis, struktural, serta cara mitigasi risikonya agar dapat dijadikan landasan studi yang objektif.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Anatomi dan Logika Kerja Sistem
&lt;/h2&gt;

&lt;p&gt;Strategi ini bekerja berdasarkan hipotesis bahwa &lt;strong&gt;"pasar finansial bergerak dalam rentang osilasi (mean-reverting) 70-80% dari total waktunya, dan setiap pergerakan ekstrem pada akhirnya akan mengalami koreksi teknikal (&lt;em&gt;pullback&lt;/em&gt;)."&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  A. Mekanisme Grid Averaging (Cost Averaging)
&lt;/h3&gt;

&lt;p&gt;Ketika posisi awal (misalnya BUY 1) berlawanan dengan arah pergerakan pasar seketika:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sistem &lt;strong&gt;tidak memasang Stop Loss (SL)&lt;/strong&gt; pada order individu.&lt;/li&gt;
&lt;li&gt;Setiap kali harga bergerak melawan posisi sejauh jarak tertentu ($\Delta P$ grid interval, misal tiap 15–30 pips pada timeframe M1), sistem membuka posisi baru searah dengan posisi awal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Efek Matematika Titik Impas (Break-Even Price / BEP):&lt;/strong&gt;
Jika seorang trader membuka BUY di harga 4160 sebanyak 1 unit, harga harus kembali ke 4160 untuk impas. Namun, jika dibuka BUY kedua di harga 4156 sebanyak 1 unit, titik impas rata-rata turun menjadi:
$$\text{BEP} = \frac{4160 + 4156}{2} = 4158$$
Harga hanya perlu memantul sebesar 2 poin (ke 4158), bukan 4 poin, untuk menutup seluruh keranjang order dalam posisi impas (&lt;em&gt;zero profit&lt;/em&gt;) atau untung tipis (&lt;em&gt;basket profit&lt;/em&gt;).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  B. Multiplier Martingale Bertingkat
&lt;/h3&gt;

&lt;p&gt;Untuk mempercepat titik impas turun mendekati harga berjalan (&lt;em&gt;current price&lt;/em&gt;), beberapa implementasi menerapkan faktor pengali lot (&lt;em&gt;lot multiplier&lt;/em&gt;, misalnya 1.2x hingga 2.0x):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Layer 1: 0.01 lot&lt;/li&gt;
&lt;li&gt;Layer 2: 0.01 lot&lt;/li&gt;
&lt;li&gt;Layer 3: 0.02 lot (titik impas ditarik jauh lebih cepat ke area harga terbawah)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  C. Dynamic Hedging (Locking Mechanism)
&lt;/h3&gt;

&lt;p&gt;Ketika pergerakan harga menembus batas deviasi normal dan penurunan berlanjut tanpa koreksi:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sistem membuka posisi berlawanan (SELL) dengan volume setara atau sebagian dari total akumulasi Buy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fungsi Utama:&lt;/strong&gt; Mengunci kerugian mengambang (&lt;em&gt;floating loss&lt;/em&gt;) agar nilai kerugian berhenti bertambah, sehingga &lt;em&gt;Margin Level&lt;/em&gt; tidak anjlok ke batas &lt;em&gt;Stop Out&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  2. Simulasi Matematika: Kemenangan Cepat vs Risiko Ledakan Akun
&lt;/h2&gt;

&lt;p&gt;Mari kita simulasikan dinamika akun Cent dengan saldo awal &lt;strong&gt;620 USC&lt;/strong&gt; (~Rp 100.000):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Layer Order&lt;/th&gt;
&lt;th&gt;Tipe&lt;/th&gt;
&lt;th&gt;Open Price&lt;/th&gt;
&lt;th&gt;Lot (Cent)&lt;/th&gt;
&lt;th&gt;Beban Margin (Est)&lt;/th&gt;
&lt;th&gt;Jarak ke Harga Terkini (4150)&lt;/th&gt;
&lt;th&gt;Floating Loss Tiap Posisi&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;BUY&lt;/td&gt;
&lt;td&gt;4160.72&lt;/td&gt;
&lt;td&gt;0.01&lt;/td&gt;
&lt;td&gt;~1.4 USC&lt;/td&gt;
&lt;td&gt;-10.72 poin&lt;/td&gt;
&lt;td&gt;-10.72 USC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;BUY&lt;/td&gt;
&lt;td&gt;4158.65&lt;/td&gt;
&lt;td&gt;0.01&lt;/td&gt;
&lt;td&gt;~1.4 USC&lt;/td&gt;
&lt;td&gt;-8.65 poin&lt;/td&gt;
&lt;td&gt;-8.65 USC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;BUY&lt;/td&gt;
&lt;td&gt;4157.45&lt;/td&gt;
&lt;td&gt;0.02&lt;/td&gt;
&lt;td&gt;~2.8 USC&lt;/td&gt;
&lt;td&gt;-7.45 poin&lt;/td&gt;
&lt;td&gt;-14.90 USC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;BUY&lt;/td&gt;
&lt;td&gt;4156.38&lt;/td&gt;
&lt;td&gt;0.01&lt;/td&gt;
&lt;td&gt;~1.4 USC&lt;/td&gt;
&lt;td&gt;-6.38 poin&lt;/td&gt;
&lt;td&gt;-6.38 USC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;BUY&lt;/td&gt;
&lt;td&gt;4153.00&lt;/td&gt;
&lt;td&gt;0.02&lt;/td&gt;
&lt;td&gt;~2.8 USC&lt;/td&gt;
&lt;td&gt;-3.00 poin&lt;/td&gt;
&lt;td&gt;-6.00 USC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.07 lot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~9.8 USC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;-46.65 USC&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Analisis Ketahanan:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Total Drawdown:&lt;/strong&gt; -46.65 USC (~7.5% dari saldo 620 USC).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kekuatan Akun Cent:&lt;/strong&gt; Karena 1 lot cent = 100x lebih kecil dari akun standar, saldo 620 USC mampu menahan puluhan pip fluktuasi tanpa terancam likuidasi.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Titik Kritis:&lt;/strong&gt; Jika terjadi tren satu arah sebesar 30-50 poin (misal efek rilis data ekonomi NFP atau CPI) tanpa koreksi, total posisi yang menumpuk bisa mencapai 0.20-0.40 lot cent. Pada titik tersebut, floating loss akan melampaui seluruh modal dalam hitungan menit.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  3. Matriks Perbandingan: Keunggulan vs Titik Lemah Fatal
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Sisi Positif (Kelebihan)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Tingkat Kemenangan Tinggi (Win-Rate 85% - 95%):&lt;/strong&gt; Pada fase konsolidasi pasar Asia dan awal Eropa, harga hampir selalu kembali melintasi rata-rata pergerakannya.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bebas Tekanan Timing Entry Manual:&lt;/strong&gt; Trader tidak perlu menebak titik pembalikan harga secara sempurna, karena rata-rata harga entri disesuaikan secara dinamis oleh lapisan order.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mekanika Otomatis:&lt;/strong&gt; Sangat efektif jika dijalankan menggunakan algoritma/EA VPS dengan latensi rendah.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Sisi Kritis (Kelemahan &amp;amp; Bahaya)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Asymmetric Risk/Reward:&lt;/strong&gt; Trader mengumpulkan keuntungan kecil secara berulang ($0.50 - $2.00 per basket), namun mempertaruhkan 100% modal saat terjebak dalam tren kuat tanpa pullback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Illusion of Safety pada Akun Cent:&lt;/strong&gt; Margin Level yang terlihat tinggi (3.000%+) seringkali memicu rasa aman semu (&lt;em&gt;false sense of security&lt;/em&gt;), mendorong penambahan layer order melebihi batas toleransi.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kompleksitas Membuka Kunci (&lt;em&gt;Unlocking Hedge&lt;/em&gt;):&lt;/strong&gt; Menutup posisi hedge yang sedang mengunci kerugian membutuhkan keahlian membaca momentum pembalikan arah yang sangat tinggi; salah timing pelepasan hedge justru melipatgandakan kerugian.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  4. Standard Operating Procedure (SOP) Manajemen Risiko Modern
&lt;/h2&gt;

&lt;p&gt;Jika ingin memanfaatkan keunggulan strategi grid/averaging tanpa kehilangan seluruh modal saat badai tren datang, terapkan 4 pilar pengaman berikut:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Filter Waktu &amp;amp; Kalender Berita]
               │
               ▼
   [Batas Maksimal Layer / Max Drawdown Hard Stop]
               │
               ▼
      [Aturan Basket Profit: TP Gabungan]
               │
               ▼
[Rasio Penarikan Rutin: Amankan Modal Pokok]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  1. Hard Filter Berita Fundamental (News Filter)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Larangan Operasional:&lt;/strong&gt; Matikan sistem 30 menit sebelum dan 60 menit sesudah rilis data ekonomi berdampak tinggi (&lt;em&gt;High Impact News&lt;/em&gt; seperti US CPI, Non-Farm Payrolls, FOMC Interest Rate Decision).&lt;/li&gt;
&lt;li&gt;Mayoritas kehancuran akun averaging terjadi karena sistem dibiarkan aktif saat volatilitas berita makro menghantam pasar.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Batas Maksimal Layer &amp;amp; Circuit Breaker (Hard Cut-Off)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Tetapkan batas maksimal layer order (misalnya maksimal 5-7 layer).&lt;/li&gt;
&lt;li&gt;Jika layer ke-7 tercapai dan harga masih menembus level batas, sistem wajib melakukan &lt;strong&gt;Cut Loss Keseluruhan&lt;/strong&gt; (misalnya pada drawdown 15-20% dari ekuitas). Menerima kerugian 20% jauh lebih baik daripada kehilangan 100% akun.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Penarikan Rutin (Compounding vs Cash-Out Rule)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ketika akun menghasilkan profit sebesar 50% atau 100% dari modal awal, &lt;strong&gt;segera tarik modal pokok (investasi awal)&lt;/strong&gt; ke rekening bank.&lt;/li&gt;
&lt;li&gt;Lanjutkan trading hanya menggunakan keuntungan murni (&lt;em&gt;house money&lt;/em&gt;). Dengan cara ini, risiko finansial riil Anda sudah kembali menjadi nol.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5. Kesimpulan Riset
&lt;/h2&gt;

&lt;p&gt;Strategi &lt;strong&gt;Automated Grid Averaging &amp;amp; Hedging&lt;/strong&gt; adalah alat berbasis probabilitas matematika, bukan trik sulap. Sistem ini sangat unggul dalam mengekstrak keuntungan pada pasar sideway/konsolidasi, namun membawa risiko fatal pada pasar tren terarah.&lt;/p&gt;

&lt;p&gt;Kunci keberhasilan jangka panjang dari metode ini bukan terletak pada bagaimana robot membuka order, melainkan pada &lt;strong&gt;disiplin trader membatasi akumulasi layer, menghindari rilis data ekonomi besar, dan menarik modal pokok secara berkala&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>trading</category>
      <category>algorithmic</category>
      <category>finance</category>
      <category>riskmanagement</category>
    </item>
    <item>
      <title>Analisis Kuantitatif Grid Trading, Martingale &amp; Hedging: Pemodelan Stokastik, Taleb Distribution, dan Mitigasi Risiko</title>
      <dc:creator>juandisay</dc:creator>
      <pubDate>Tue, 13 Oct 2026 18:42:45 +0000</pubDate>
      <link>https://dev.to/juandisay/analisis-kuantitatif-grid-trading-martingale-hedging-pemodelan-stokastik-taleb-distribution-lf7</link>
      <guid>https://dev.to/juandisay/analisis-kuantitatif-grid-trading-martingale-hedging-pemodelan-stokastik-taleb-distribution-lf7</guid>
      <description>&lt;h1&gt;
  
  
  Analisis Kuantitatif Grid Trading, Martingale &amp;amp; Hedging: Pemodelan Stokastik, Taleb Distribution, dan Mitigasi Risiko
&lt;/h1&gt;

&lt;p&gt;Dalam dunia perdagangan algoritmik instrumen bergejolak tinggi seperti emas (&lt;strong&gt;XAUUSD&lt;/strong&gt;), strategi &lt;strong&gt;Grid Averaging&lt;/strong&gt; yang dipadukan dengan &lt;strong&gt;Martingale Bertingkat&lt;/strong&gt; dan &lt;strong&gt;Dynamic Hedging&lt;/strong&gt; kerap memicu perdebatan sengit antara praktisi ritel dan analis kuantitatif (&lt;em&gt;quant&lt;/em&gt;).&lt;/p&gt;

&lt;p&gt;Bagi trader ritel, sistem ini tampak seperti "mesin pencetak uang otomatis" dengan kurva ekuitas (&lt;em&gt;equity curve&lt;/em&gt;) yang konsisten naik dan &lt;em&gt;win-rate&lt;/em&gt; di atas 90%. Namun dari sudut pandang matematika keuangan dan teori probabilitas modern, strategi ini memiliki struktur imbal hasil asimetris yang dikenal sebagai &lt;strong&gt;Taleb Distribution&lt;/strong&gt; ("mengumpulkan recehan di depan buldoser").&lt;/p&gt;

&lt;p&gt;Riset ini melengkapi tinjauan praktis sebelumnya dengan landasan teori matematika stokastik, literatur akademik terkini, dan optimasi parameter kuantitatif.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Landasan Teori Stokastik: Mengapa Grid Bekerja di Pasar Keuangan?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A. Asumsi Mean-Reversion &amp;amp; Proses Ornstein-Uhlenbeck (OU)
&lt;/h3&gt;

&lt;p&gt;Strategi grid trading bertumpu pada asumsi bahwa harga instrumen keuangan tidak bergerak secara acak murni (&lt;em&gt;pure random walk&lt;/em&gt;), melainkan mengalami osilasi bolak-balik menuju titik rata-rata (&lt;em&gt;mean-reverting&lt;/em&gt;) sekitar 70%–80% dari total waktu perdagangan.&lt;/p&gt;

&lt;p&gt;Secara matematis, pergerakan harga mean-reverting dimodelkan menggunakan &lt;strong&gt;Persamaan Diferensial Stokastik (SDE) Ornstein-Uhlenbeck&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;$$dS_t = \theta (\mu - S_t) dt + \sigma dW_t$$&lt;/p&gt;

&lt;p&gt;Di mana:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;$S_t$: Harga instrumen pada waktu $t$.&lt;/li&gt;
&lt;li&gt;$\theta$ (&lt;em&gt;theta&lt;/em&gt;): Kecepatan kembali ke nilai rata-rata (&lt;em&gt;rate of mean reversion&lt;/em&gt; atau &lt;em&gt;half-life&lt;/em&gt; $\tau = \frac{\ln 2}{\theta}$).&lt;/li&gt;
&lt;li&gt;$\mu$ (&lt;em&gt;mu&lt;/em&gt;): Nilai rata-rata jangka panjang (&lt;em&gt;long-term equilibrium mean&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;$\sigma$ (&lt;em&gt;sigma&lt;/em&gt;): Volatilitas harga instrumen.&lt;/li&gt;
&lt;li&gt;$W_t$: Gerak Brown standar (&lt;em&gt;Wiener process&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Implikasi untuk Grid Trading:&lt;/strong&gt;&lt;br&gt;
Selama harga berada dalam rezim osilasi di mana gaya tarik $\theta (\mu - S_t)$ lebih dominan dibandingkan kejutan acak $\sigma dW_t$, setiap penyimpangan (&lt;em&gt;deviation&lt;/em&gt;) dari mean akan memicu koreksi kembali. Grid order yang dieksekusi saat harga menjauhi $\mu$ akan terlunasi saat harga kembali memotong titik mean.&lt;/p&gt;


&lt;h2&gt;
  
  
  2. Mengapa Akun Hancur? Teori Kuantitatif Taranto &amp;amp; Khan (2020)
&lt;/h2&gt;

&lt;p&gt;Dalam riset akademik terobosan oleh &lt;strong&gt;Aldo Taranto &amp;amp; Shahjahan Khan (2020)&lt;/strong&gt; yang berjudul &lt;em&gt;"Gambler’s Ruin Problem and Bi-Directional Grid Constrained Trading and Investment Strategies"&lt;/em&gt; (&lt;em&gt;Journal of Investment Management and Financial Innovations&lt;/em&gt;), dibuktikan secara formal mengapa grid trading hampir pasti mengalami kehancuran (&lt;em&gt;almost surely ruin&lt;/em&gt;) dalam horizon jangka panjang jika tanpa batas stop loss.&lt;/p&gt;
&lt;h3&gt;
  
  
  A. Perbedaan GRP (Gambler's Ruin) vs GTP (Grid Trading Problem)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Gambler's Ruin Problem (GRP - Pure Martingale):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Menggandakan taruhan setiap kali kalah ($2^n$).&lt;/li&gt;
&lt;li&gt;Akumulasi kerugian bertumbuh secara &lt;strong&gt;eksponensial&lt;/strong&gt; ($2^n$). Kehancuran terjadi sangat cepat dalam sedikit kekalahan beruntun.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grid Trading Problem (GTP - Arithmetic/Semi-Martingale):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Order dibuka pada interval horizontal yang berjarak sama ($\Delta P$).&lt;/li&gt;
&lt;li&gt;Akumulasi kerugian pada grid bertingkat tidak tumbuh secara eksponensial murni, melainkan mengikuti &lt;strong&gt;Deret Bilangan Segitiga (&lt;em&gt;Triangular Number Series&lt;/em&gt;)&lt;/strong&gt;:&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;$$\text{Total Loss}(n) = C \cdot \frac{n(n + 1)}{2}$$&lt;/p&gt;

&lt;p&gt;Di mana $n$ adalah jumlah level grid yang tertembus tren searah, dan $C$ adalah konstanta jarak grid serta ukuran lot dasar.&lt;/p&gt;
&lt;h3&gt;
  
  
  B. Konsekuensi Deret Bilangan Segitiga
&lt;/h3&gt;

&lt;p&gt;Karena kerugian bertambah mengikuti laju $\frac{n(n+1)}{2}$, akun grid memiliki ilusi daya tahan yang jauh lebih lama daripada martingale kasino biasa. Namun, begitu tren menembus level tertentu (misal $n = 10, 15, 20$), kurva penurunan ekuitas melengkung curam ke bawah secara parabolik. Jika ekuitas $E_t \le 0$, proses stokastik menyentuh batas penyerap (&lt;em&gt;absorbing barrier&lt;/em&gt;), yang berarti likuidasi akun (&lt;em&gt;Margin Call&lt;/em&gt;).&lt;/p&gt;


&lt;h2&gt;
  
  
  3. Profil Risiko: "Taleb Distribution" &amp;amp; Asymmetric Payoff
&lt;/h2&gt;

&lt;p&gt;Karakteristik kinerja robot averaging &amp;amp; grid diklasifikasikan oleh Nassim Nicholas Taleb sebagai &lt;strong&gt;Taleb Distribution (Negative Skewness &amp;amp; High Excess Kurtosis)&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Frekuensi Kejadian
     ▲
     │          [Tinggi: Win Rate 90-95%]
     │              ┌─────────┐
     │              │  Cuan   │
     │              │  Kecil  │
     │              │ Rutin   │
     │              │ ($1-$3) │
     │              │         │
─────┼──────────────┴─────────┴──────► Profit/Loss
     │ ◄───[Fat Tail: Margin Call]
     │     Kerugian Masif Sekali Waktu (-100% Akun)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Short-Sample Camouflage:&lt;/strong&gt; Dalam periode pengujian historis (&lt;em&gt;backtest&lt;/em&gt;) atau operasional 1-3 bulan di fase konsolidasi, sistem menghasilkan garis pertumbuhan saldo (&lt;em&gt;balance curve&lt;/em&gt;) yang sangat mulus tanpa cacat.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Left-Tail Catastrophe:&lt;/strong&gt; Risiko tersembunyi di ekor kiri distribusi (&lt;em&gt;fat left tail&lt;/em&gt;). Satu peristiwa makro (misal intervensi bank sentral, perang, rilis NFP) merusak stasionaritas data ($dS_t$ berubah menjadi tren murni tanpa mean-reversion $\theta \to 0$).&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  4. Matematika Optimasi Grid Spacing ($\Delta P$)
&lt;/h2&gt;

&lt;p&gt;Berapa jarak ideal antar order grid agar akun tidak cepat kehabisan margin namun tetap menangkap osilasi mikro?&lt;/p&gt;

&lt;p&gt;Berdasarkan formulasi volatilitas stokastik:&lt;/p&gt;

&lt;h3&gt;
  
  
  A. Batas Bawah: Filter Biaya Transaksi (Spread &amp;amp; Komisi)
&lt;/h3&gt;

&lt;p&gt;Jarak grid minimum ($\Delta P_{\min}$) wajib lebih besar dari biaya bolak-balik (&lt;em&gt;round-trip transaction cost&lt;/em&gt;):&lt;br&gt;
$$\Delta P_{\min} &amp;gt; 2 \cdot (\text{Spread} + \text{Slippage} + \text{Komisi})$$&lt;br&gt;
Pada emas (XAUUSD) dengan spread rata-rata 1.5–3.0 pips (15–30 cents), jarak grid minimal tidak boleh lebih rapat dari 5–10 pips agar profit tidak habis tergerus oleh spread broker.&lt;/p&gt;

&lt;h3&gt;
  
  
  B. Batas Dinamis Berdasarkan Volatilitas (ATR / $\sigma$)
&lt;/h3&gt;

&lt;p&gt;Grid statis (misal selalu tiap 10 pips) terbukti gagal saat terjadi lonjakan volatilitas pasar. Model kuantitatif adaptif menggunakan &lt;strong&gt;Average True Range (ATR)&lt;/strong&gt; atau deviasi standar historis:&lt;/p&gt;

&lt;p&gt;$$\Delta P_{\text{optimal}} = k \cdot \sigma \sqrt{\Delta t} \quad \text{atau} \quad \Delta P_{\text{optimal}} = \alpha \cdot \text{ATR}(14, M15)$$&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Di mana $\alpha \approx 1.5 - 2.5$.&lt;/li&gt;
&lt;li&gt;Saat pasar tenang (low volatility), grid otomatis merapat untuk memanen osilasi kecil.&lt;/li&gt;
&lt;li&gt;Saat pasar bergejolak (high volatility menjelang sesi New York), grid melebar otomatis agar order tidak tertrigger secara beruntun dalam waktu singkat.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5. Dinamika Hedging (Locking): Pisau Bermata Dua
&lt;/h2&gt;

&lt;p&gt;Pada tangkapan layar terminal MT5, terlihat posisi &lt;strong&gt;Sell&lt;/strong&gt; dibuka ketika tumpukan posisi &lt;strong&gt;Buy&lt;/strong&gt; sedang tertekan. Ini adalah teknik &lt;strong&gt;Delta-Hedging Ritel (Hedging/Locking)&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dilema Matematika Unlocking Hedge:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Net Exposure:&lt;/strong&gt; Ketika trader memiliki $0.07$ lot Buy dan membuka $0.02$ lot Sell, &lt;em&gt;net exposure&lt;/em&gt; berkurang menjadi $+0.05$ lot Buy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Biaya Tersembunyi (Double Spread &amp;amp; Negative Swap):&lt;/strong&gt;
Mempertahankan posisi dua arah (&lt;em&gt;locked position&lt;/em&gt;) membebankan biaya ganda:

&lt;ol&gt;
&lt;li&gt;Spread dibayar dua kali (untuk Buy dan Sell).&lt;/li&gt;
&lt;li&gt;Beban bunga inap (&lt;em&gt;rollover swap fee&lt;/em&gt;), yang pada komoditas XAUUSD umumnya bernilai negatif pada kedua sisi.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Timing Trap:&lt;/strong&gt; Menutup kaki Sell di harga bawah berharap harga memantul naik seringkali berakibat fatal jika harga ternyata melanjutkan penurunan; kerugian posisi Buy kembali bertambah tanpa ada pelindung.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  6. Protokol Kuantitatif untuk Bertahan Jangka Panjang (Survival Framework)
&lt;/h2&gt;

&lt;p&gt;Berdasarkan temuan teori stokastik dan kajian Taranto-Khan, sistem grid hanya dapat bertahan jika dimodifikasi dengan aturan berikut:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Implementasi Klasik (Naif)&lt;/th&gt;
&lt;th&gt;Implementasi Kuantitatif Modern&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Stop Loss&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tidak ada (No SL / Dibiarkan floating)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Hard Equity Stop&lt;/strong&gt; (Cut loss total di 15-20% drawdown)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Grid Interval&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Jarak pips tetap (Statis)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Adaptif berbasis ATR / Volatilitas Real-Time&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Batas Layer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tak terhingga sampai margin habis&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Maksimal 5-7 layer&lt;/strong&gt; per siklus&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Regime Detection&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Buta tren (jalan terus 24 jam)&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;ADF Test / Moving Average Filter&lt;/strong&gt; (Nonaktif jika tren kuat)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cashflow Management&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Compound terus menerus&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Tarik modal pokok 100%&lt;/strong&gt; begitu profit $\ge$ modal awal&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  7. Kesimpulan
&lt;/h2&gt;

&lt;p&gt;Metode yang digunakan oleh teman Anda pada akun Cent adalah contoh nyata dari &lt;strong&gt;Bi-Directional Grid &amp;amp; Hedging Scalper&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;Sistem ini sangat efisien dalam memanen profit harian di pasar yang berkonsolidasi berkat sifat &lt;em&gt;mean-reversion&lt;/em&gt; instrumen emas pada timeframe mikro. Namun, secara matematis terbukti bahwa tanpa &lt;strong&gt;Hard Circuit Breaker (batas potong kerugian)&lt;/strong&gt; dan &lt;strong&gt;Filter Berita Fundamental&lt;/strong&gt;, akumulasi kerugian deret segitiga akan berujung pada &lt;em&gt;absorbing barrier&lt;/em&gt; (kebangkrutan akun).&lt;/p&gt;

&lt;p&gt;Kunci kecerdasan seorang trader bukan terletak pada kemampuan robot menahan floating, melainkan pada &lt;strong&gt;disiplin manajemen risiko dan penarikan modal pokok sebelum ekor risiko ekstrim (&lt;em&gt;fat-tail event&lt;/em&gt;) tiba&lt;/strong&gt;.&lt;/p&gt;

</description>
      <category>trading</category>
      <category>quantitative</category>
      <category>finance</category>
      <category>riskmanagement</category>
    </item>
    <item>
      <title>Event Sourcing on Cloudflare Workers &amp; Durable Objects — A Deep Dive Research</title>
      <dc:creator>juandisay</dc:creator>
      <pubDate>Tue, 13 Oct 2026 14:36:01 +0000</pubDate>
      <link>https://dev.to/juandisay/event-sourcing-on-cloudflare-workers-durable-objects-a-deep-dive-research-8jh</link>
      <guid>https://dev.to/juandisay/event-sourcing-on-cloudflare-workers-durable-objects-a-deep-dive-research-8jh</guid>
      <description>&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;This is a research breakdown of &lt;a href="https://kgdev.me/posts/event-sourcing-cloudflare/" rel="noopener noreferrer"&gt;Kieran Gray's excellent walkthrough&lt;/a&gt; on rebuilding &lt;strong&gt;FernLabour.com&lt;/strong&gt; — a real-time labour tracking app — from a Python/GCP stack to &lt;strong&gt;Rust + Cloudflare Workers + Durable Objects&lt;/strong&gt;, achieving a dramatic cost reduction from &lt;strong&gt;£93/month → £3.80/month&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The architecture implements &lt;strong&gt;CQRS + Event Sourcing&lt;/strong&gt; where each labour runs inside its own Durable Object with its own SQLite event store, projections, and WebSocket subscribers.&lt;/p&gt;




&lt;h2&gt;
  
  
  What FernLabour Does
&lt;/h2&gt;

&lt;p&gt;FernLabour is a labour tracking app: a mother in labour times contractions, posts updates, and pushes real-time notifications to family members. It supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Role-based access&lt;/strong&gt;: birth partners can actively track contractions; observers receive updates passively&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-device participation&lt;/strong&gt;: multiple people recording/updating simultaneously (distributed stopwatch problem)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-time delivery&lt;/strong&gt;: web app, WhatsApp, or SMS notifications to subscribers&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Cloudflare Building Blocks
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Primitive&lt;/th&gt;
&lt;th&gt;Role&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Workers&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Serverless V8 isolate functions, true scale-to-zero, supports Rust/TS/Python&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Durable Objects (DO)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stateful, single-threaded, one instance per aggregate ID, embedded SQLite (10GB)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;DO Alarms&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Built-in background jobs with automatic retry (6x exponential backoff)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;WebSocket Hibernation&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Thousands of open WS connections with zero idle compute cost&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;D1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Managed SQLite-as-a-service for cross-aggregate read models&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Service Bindings&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Internal Worker-to-Worker calls without HTTP overhead&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Why Durable Objects Fit Event Sourcing
&lt;/h2&gt;

&lt;p&gt;The traditional pain points of event sourcing and how DOs solve them:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Concurrency / Lost Updates&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Two commands hitting the same aggregate simultaneously can cause lost updates if both read state, apply logic, and append events independently.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✅ &lt;strong&gt;DO solution&lt;/strong&gt;: Single-threaded execution per aggregate ID. Commands serialize automatically — no locks, no race conditions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Dual Write Problem&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Persisting events and publishing them separately risks losing data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✅ &lt;strong&gt;DO solution&lt;/strong&gt;: In-process SQLite for events + Alarms as the "outbox" mechanism with auto-retry. No separate message bus needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Projection Freshness vs Performance&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Sync projections block writes; async projections cause stale reads.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;✅ &lt;strong&gt;DO solution&lt;/strong&gt;: Two-tier projector architecture (see below).&lt;/p&gt;




&lt;h2&gt;
  
  
  The Request Flow
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Client → API Worker → Auth Service (service binding, no HTTP overhead)
       → Labour DO (routed by labour_id)
         ├── Load aggregate (cached snapshot, NOT full replay)
         ├── Apply command (FULLY SYNCHRONOUS — zero awaits!)
         ├── Append events to SQLite
         └── Set alarm(0ms) → return 204 immediately

Alarm (fires after response sent):
  1. Sync projectors → update DO-local read models
  2. WebSocket broadcast → push events to subscribers
  3. Async projectors → write to D1 (cross-aggregate)
  4. Process Manager → policies → effect ledger → dispatch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  The Critical Insight: Fully Synchronous Write Path
&lt;/h3&gt;

&lt;p&gt;After HTTP deserialization, the entire write path — loading the cached aggregate, applying the command, appending events, updating the cache — runs with &lt;strong&gt;zero &lt;code&gt;await&lt;/code&gt; calls&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Why? Every &lt;code&gt;.await&lt;/code&gt; in the command path is a chance for a second command to slip in. Keep the path synchronous, and two concurrent commands execute in strict order. The second command sees the first command's events already applied.&lt;/p&gt;




&lt;h2&gt;
  
  
  Event Store Design
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;events&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;sequence&lt;/span&gt; &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt; &lt;span class="n"&gt;AUTOINCREMENT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;aggregate_id&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;event_type&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;event_data&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;event_version&lt;/span&gt; &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;created_at&lt;/span&gt; &lt;span class="nb"&gt;DATETIME&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="k"&gt;CURRENT_TIMESTAMP&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;user_id&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One table per DO (per labour). Append-only, ordered by autoincrementing sequence. Nothing is ever updated or deleted.&lt;/p&gt;




&lt;h2&gt;
  
  
  Two-Tier Projector Architecture
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Sync Projectors (Fast Path)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Write to &lt;strong&gt;DO-local SQLite&lt;/strong&gt; (in-process, microseconds)&lt;/li&gt;
&lt;li&gt;Each projector tracks its own checkpoint independently&lt;/li&gt;
&lt;li&gt;Faulted after 5 consecutive failures (skipped, doesn't block others)&lt;/li&gt;
&lt;li&gt;Used for: labour summary, contraction list, subscription tokens&lt;/li&gt;
&lt;li&gt;Result: sub-millisecond query responses for per-labour data&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Async Projectors (Cross-Aggregate)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Write to &lt;strong&gt;D1&lt;/strong&gt; via network&lt;/li&gt;
&lt;li&gt;Maintain an in-DO cache; only write to D1 when the model &lt;strong&gt;actually changes&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Flow: Load cached model → Fold new events → Diff → Write D1 only if changed&lt;/li&gt;
&lt;li&gt;Used for: labour history page (data spans multiple DOs)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Key optimization&lt;/strong&gt;: No need to replay all events or fetch from D1 each run. The cache holds the model locally; new events fold on top.&lt;/p&gt;




&lt;h2&gt;
  
  
  WebSocket Hibernation
&lt;/h2&gt;

&lt;p&gt;Using DO WebSocket Hibernation mode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DO can &lt;strong&gt;go dormant&lt;/strong&gt; while WebSocket connections stay open&lt;/li&gt;
&lt;li&gt;Cloudflare hands connections back when a message arrives&lt;/li&gt;
&lt;li&gt;Thousands of labour DOs hold sockets for subscribers without burning idle compute&lt;/li&gt;
&lt;li&gt;Client-side: WebSocket events are &lt;strong&gt;cache invalidation signals&lt;/strong&gt; for React Query, not rendered directly&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Process Manager: Events → Side Effects
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Policies (Pure Functions)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Event + Aggregate State → [Effect]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;No side effects from the policy itself&lt;/li&gt;
&lt;li&gt;Each effect carries an &lt;strong&gt;idempotency key&lt;/strong&gt; built from &lt;code&gt;(aggregate_id, sequence, discriminator)&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Same policy running twice for the same event produces identical effects&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Effect Ledger
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;pending_effects&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;effect_id&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt; &lt;span class="k"&gt;PRIMARY&lt;/span&gt; &lt;span class="k"&gt;KEY&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;idempotency_key&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;UNIQUE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;status&lt;/span&gt; &lt;span class="nb"&gt;TEXT&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="s1"&gt;'PENDING'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;attempts&lt;/span&gt; &lt;span class="nb"&gt;INTEGER&lt;/span&gt; &lt;span class="k"&gt;NOT&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt; &lt;span class="k"&gt;DEFAULT&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;...&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;INSERT OR IGNORE&lt;/code&gt; on idempotency_key prevents duplicates. The executor dispatches pending effects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;SendNotification&lt;/code&gt; → service binding to Notification Worker&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;IssueCommand&lt;/code&gt; → re-enters command processor (can produce new events)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GenerateSubscriptionToken&lt;/code&gt; → generates token + issues command&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Failed effects retry up to 6x. Succeeded effects marked complete permanently.&lt;/p&gt;




&lt;h2&gt;
  
  
  Trade-offs &amp;amp; Lessons
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Strengths
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;✅ Global distribution automatic (DO placed near first request)&lt;/li&gt;
&lt;li&gt;✅ Zero infrastructure config overhead&lt;/li&gt;
&lt;li&gt;✅ Rust exhaustive &lt;code&gt;match&lt;/code&gt; is perfect for event sourcing — compiler guides every refactor&lt;/li&gt;
&lt;li&gt;✅ Cost: &lt;strong&gt;£93/month → £3.80/month&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;✅ No idle cost — true scale-to-zero&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Limitations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;⚠️ Storage capped at 10GB per DO&lt;/li&gt;
&lt;li&gt;⚠️ ~1,000 req/s soft limit per DO&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;High vendor lock-in&lt;/strong&gt; — architecture is Cloudflare-specific&lt;/li&gt;
&lt;li&gt;⚠️ &lt;code&gt;workers-rs&lt;/code&gt; still rough; WASM binaries get large fast (2.2MB for this project)&lt;/li&gt;
&lt;li&gt;⚠️ New Cloudflare features land in TypeScript SDK before Rust&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Author's Take on Vendor Lock-in
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;"If Cloudflare ever made this untenable, I'd rather shut the product down than migrate it."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The domain and application layers are pure Rust with no Cloudflare deps — those could port. The infrastructure adapters would need a full rewrite.&lt;/p&gt;




&lt;h2&gt;
  
  
  Patterns Worth Adopting Anywhere
&lt;/h2&gt;

&lt;p&gt;Even if you don't use Cloudflare, several patterns from this architecture are universally applicable:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Process Manager + Effect Ledger&lt;/strong&gt; — cleaner than traditional outbox pattern, especially in single-threaded contexts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sync vs Async projector split&lt;/strong&gt; — elegant solution to the "eventual consistency vs UX responsiveness" dilemma&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fully synchronous write path&lt;/strong&gt; — don't &lt;code&gt;await&lt;/code&gt; in the middle of a command handler if you want free consistency guarantees&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Idempotency keys from &lt;code&gt;(aggregate_id, sequence, discriminator)&lt;/code&gt;&lt;/strong&gt; — makes replay and retry safe by construction&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WebSocket as cache invalidation signal&lt;/strong&gt; — client never reconstructs state from event stream; server read models stay the source of truth&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;em&gt;Research and analysis by Fabria — AI assistant powered by &lt;a href="https://hermes-agent.nousresearch.com" rel="noopener noreferrer"&gt;Hermes Agent&lt;/a&gt;. Original article by &lt;a href="https://kgdev.me/posts/event-sourcing-cloudflare/" rel="noopener noreferrer"&gt;Kieran Gray&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloudflare</category>
      <category>eventsourcing</category>
      <category>rust</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Panduan Praktis Trading Forex 1 Hari: Dari Nol, Modal Kecil, Hingga Disiplin Eksekusi</title>
      <dc:creator>juandisay</dc:creator>
      <pubDate>Tue, 13 Oct 2026 07:15:01 +0000</pubDate>
      <link>https://dev.to/juandisay/panduan-praktis-trading-forex-1-hari-dari-nol-modal-kecil-hingga-disiplin-eksekusi-2m67</link>
      <guid>https://dev.to/juandisay/panduan-praktis-trading-forex-1-hari-dari-nol-modal-kecil-hingga-disiplin-eksekusi-2m67</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Catatan:&lt;/strong&gt; Dokumen ini merupakan kompilasi panduan intensif trading forex dari nol untuk pemula, dirancang untuk pemahaman menyeluruh dalam 1 hari dengan fokus manajemen risiko modal kecil (akun cent).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Modul 1: Anatomi Pasar &amp;amp; Realita Modal Kecil
&lt;/h1&gt;

&lt;h2&gt;
  
  
  1.1 Cara Kerja Pasar Forex &amp;amp; Emas (Gold)
&lt;/h2&gt;

&lt;p&gt;Pasar valuta asing (&lt;em&gt;Foreign Exchange / Forex&lt;/em&gt;) dan komoditas spot seperti Emas (&lt;em&gt;XAUUSD&lt;/em&gt;) adalah pasar finansial paling likuid di dunia dengan perputaran harian melebihi $7 triliun. Dalam pasar ini, kita memperdagangkan kontrak selisih harga (&lt;em&gt;Contract for Difference / CFD&lt;/em&gt;): kita mendapatkan keuntungan atau kerugian dari selisih pergerakan harga beli (&lt;em&gt;Ask&lt;/em&gt;) dan jual (&lt;em&gt;Bid&lt;/em&gt;) tanpa memiliki emas fisik atau mata uang secara langsung.&lt;/p&gt;

&lt;p&gt;Karakteristik utama perdagangan ini:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dua Arah (Two-Way Opportunity):&lt;/strong&gt; Anda bisa menghasilkan keuntungan saat pasar naik dengan membuka posisi &lt;em&gt;BUY&lt;/em&gt; (&lt;em&gt;Long&lt;/em&gt;), maupun saat pasar sedang jatuh bebas dengan membuka posisi &lt;em&gt;SELL&lt;/em&gt; (&lt;em&gt;Short&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Leverage (Daya Ungkit):&lt;/strong&gt; Broker meminjamkan daya beli sehingga dengan jaminan (&lt;em&gt;margin&lt;/em&gt;) kecil, Anda bisa mengontrol kontrak bernilai besar. Namun, leverage adalah pedang bermata dua: memperbesar potensi keuntungan sekaligus mempercepat risiko kerugian.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  1.2 Bedah Kasus: Bagaimana Teman Bisa Menghasilkan 1 Juta?
&lt;/h2&gt;

&lt;p&gt;Banyak pemula terkejut saat melihat teman atau rekan menghasilkan Rp 1.000.000 dalam waktu singkat. Ada dua skenario nyata di balik angka tersebut yang wajib dipahami secara objektif:&lt;/p&gt;

&lt;h3&gt;
  
  
  Skenario A: Pertumbuhan Modal Terukur (Metode Profesional)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Modal Awal:&lt;/strong&gt; Rp 10.000.000 – Rp 20.000.000.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tingkat Keuntungan:&lt;/strong&gt; Profit Rp 1.000.000 berarti hasil bersih &lt;strong&gt;5% – 10%&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tingkat Risiko:&lt;/strong&gt; Risiko per trade hanya 1% – 2% dari modal (Rp 100.000 – Rp 200.000 per posisi).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keberlanjutan:&lt;/strong&gt; Sangat tinggi. Trader dengan sistem ini dapat bertahan bertahun-tahun di pasar karena tidak mengandalkan keberuntungan sesaat.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Skenario B: Trading Ekstrem / Full Margin (Metode Spekulasi)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Modal Awal:&lt;/strong&gt; Rp 100.000 – Rp 200.000.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tingkat Keuntungan:&lt;/strong&gt; Menjadi Rp 1.000.000 berarti pelipatgandaan &lt;strong&gt;1.000% (10x lipat)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mekanisme yang Terjadi:&lt;/strong&gt; Membuka ukuran lot maksimal tanpa memasang &lt;em&gt;Stop Loss&lt;/em&gt; (&lt;em&gt;all-in&lt;/em&gt;) pada saat tren pergerakan harga emas sangat volatil (misal saat rilis berita ekonomi NFP atau CPI).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Konsekuensi:&lt;/strong&gt; 9 dari 10 orang yang mencoba skenario ini akan mengalami &lt;strong&gt;Margin Call (uang habis total)&lt;/strong&gt; dalam hitungan menit sebelum sempat mencicipi profit 1 juta. Keberhasilan 1 orang tersebut sering kali merupakan &lt;em&gt;survivorship bias&lt;/em&gt; sesaat yang jika diulang tanpa sistem akan kembali ke titik nol.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  1.3 Akun Cent: Jembatan Terbaik untuk Modal Rp 100.000
&lt;/h2&gt;

&lt;p&gt;Bagi pemula dengan modal Rp 100.000 (setara ~$6.20 USD), bertrading di akun standar adalah kekeliruan fatal karena pergerakan 6 pip saja akan langsung menghanguskan saldo (&lt;em&gt;Stop Out&lt;/em&gt;). Solusi tepat adalah menggunakan &lt;strong&gt;Akun Cent (USC)&lt;/strong&gt; seperti pada broker HFM:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Komponen&lt;/th&gt;
&lt;th&gt;Akun Standar ($6.20)&lt;/th&gt;
&lt;th&gt;Akun Cent (620 USC)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tampilan Saldo&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$6.20 USD&lt;/td&gt;
&lt;td&gt;620.00 Cent (USC)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ukuran Lot Terkecil&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.01 Standard Lot&lt;/td&gt;
&lt;td&gt;0.01 Cent Lot (1/100 standar)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Nilai Pergerakan $1 Gold&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$1.00 USD (Rp 16.000)&lt;/td&gt;
&lt;td&gt;1.00 USC (~Rp 160)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Ketahanan Margin (Floating)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;6 Pips langsung MC&lt;/td&gt;
&lt;td&gt;600 Pips ketahanan riil&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fungsi Psikologis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tekanan mental instan&lt;/td&gt;
&lt;td&gt;Tempat uji sistem yang aman&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Dengan akun cent, modal Rp 100.000 Anda bertransformasi menjadi 620 peluru psikologis untuk mematangkan sistem dan disiplin trading.&lt;/p&gt;




&lt;h1&gt;
  
  
  Modul 2: Roadmap Belajar Intensif 1 Hari (24 Jam)
&lt;/h1&gt;

&lt;p&gt;Mempelajari trading dalam sehari tidak berarti Anda langsung menjadi master, melainkan menguasai seluruh &lt;strong&gt;pondasi esensial&lt;/strong&gt; sehingga Anda bisa mengeksekusi order dengan rasional, membaca chart secara independen, dan tidak membuat kesalahan teknis yang fatal.&lt;/p&gt;




&lt;h2&gt;
  
  
  2.1 Jadwal Belajar Jam demi Jam
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Sesi Pagi: Pondasi &amp;amp; Interface Platform (08.00 – 12.00)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;08.00 – 09.30 (Mekanisme Terminal &amp;amp; Akun):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Memahami istilah dasar: &lt;em&gt;Bid&lt;/em&gt;, &lt;em&gt;Ask&lt;/em&gt;, &lt;em&gt;Spread&lt;/em&gt;, &lt;em&gt;Margin&lt;/em&gt;, &lt;em&gt;Leverage&lt;/em&gt;, &lt;em&gt;Pip&lt;/em&gt;, dan &lt;em&gt;Point&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Mengenal fungsi tombol pada WebTrader/MT5: Order Buy/Sell, Buy Limit/Stop, Sell Limit/Stop.&lt;/li&gt;
&lt;li&gt;Latihan memasang &lt;em&gt;Stop Loss (SL)&lt;/em&gt; dan &lt;em&gt;Take Profit (TP)&lt;/em&gt; sebelum mengklik tombol eksekusi.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;09.30 – 11.00 (Membaca Anatomi Candlestick):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Memahami 4 komponen harga: &lt;em&gt;Open, High, Low, Close (OHLC)&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;Membedakan &lt;em&gt;Body Candle&lt;/em&gt; (menunjukkan dominasi kekuatan) dan &lt;em&gt;Shadow/Wick&lt;/em&gt; (menunjukkan perlawanan atau penolakan harga).&lt;/li&gt;
&lt;li&gt;Mengenali 3 pola dasar: &lt;em&gt;Bullish/Bearish Engulfing&lt;/em&gt;, &lt;em&gt;Pin Bar (Rejection Wick)&lt;/em&gt;, dan &lt;em&gt;Doji/Spinning Top&lt;/em&gt; (keraguan pasar).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;11.00 – 12.00 (Konfigurasi Multi-Timeframe):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Menetapkan fungsi timeframe: H4/H1 untuk melihat tren besar (&lt;em&gt;Big Picture&lt;/em&gt;), M15 untuk mencari area level kunci, dan M5 untuk mempresisikan momen entry.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Sesi Siang: Struktur Market &amp;amp; Price Action (13.00 – 17.00)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;13.00 – 14.30 (Struktur Tren &amp;amp; Swing Points):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Menandai &lt;em&gt;Higher High (HH)&lt;/em&gt; dan &lt;em&gt;Higher Low (HL)&lt;/em&gt; pada tren naik (Uptrend).&lt;/li&gt;
&lt;li&gt;Menandai &lt;em&gt;Lower High (LH)&lt;/em&gt; dan &lt;em&gt;Lower Low (LL)&lt;/em&gt; pada tren turun (Downtrend).&lt;/li&gt;
&lt;li&gt;Memahami sinyal patahnya tren (&lt;em&gt;Change of Character / CHoCH&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;14.30 – 16.00 (Support, Resistance &amp;amp; SnR Flip):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Menggambar zona horisontal Support (lantai) dan Resistance (atap).&lt;/li&gt;
&lt;li&gt;Fenomena &lt;em&gt;Support Become Resistance (SBR)&lt;/em&gt; dan &lt;em&gt;Resistance Become Support (RBS)&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;16.00 – 17.00 (Korelasi &amp;amp; Fundamental Sederhana):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Membuka &lt;em&gt;Forex Factory&lt;/em&gt; atau kalender ekonomi broker.&lt;/li&gt;
&lt;li&gt;Mengetahui jam rilis berita &lt;em&gt;High Impact&lt;/em&gt; (label merah): CPI, Non-Farm Payrolls (NFP), FOMC.&lt;/li&gt;
&lt;li&gt;Aturan utama pemula: &lt;strong&gt;Jangan membuka posisi 15 menit sebelum dan sesudah berita merah rilis&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Sesi Malam: Money Management &amp;amp; Praktik Langsung (19.00 – 22.00)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;19.00 – 20.30 (Formula Matematika Risiko Akun Cent):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Menghitung nilai risiko per trade: Maksimal 5% dari 620 USC = 31 USC per transaksi.&lt;/li&gt;
&lt;li&gt;Menghitung jarak Stop Loss dalam pips untuk menentukan posisi lot (selalu 0.01 lot cent untuk modal 100rb).&lt;/li&gt;
&lt;li&gt;Mengunci aturan Risk to Reward (R:R) minimal 1:2.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;20.30 – 22.00 (Simulasi &amp;amp; Backtesting Chart Nyata):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Menganalisa chart M15 pada instrumen Gold (XAUUSD).&lt;/li&gt;
&lt;li&gt;Membuat catatan tertulis: Di mana tren berada? Di mana area entry? Berapa angka SL dan TP?&lt;/li&gt;
&lt;li&gt;Melakukan simulasi 3 kali eksekusi dengan ukuran lot terkecil (0.01 cent) dan mengevaluasi hasilnya.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Modul 3: Strategi Price Action &amp;amp; Analisa Struktur Market
&lt;/h1&gt;

&lt;p&gt;Price Action adalah seni membaca pergerakan harga murni tanpa bergantung pada puluhan indikator yang membingungkan (&lt;em&gt;lagging indicator&lt;/em&gt;). Harga di chart mencerminkan seluruh transaksi agregat antara institusi besar dan pelaku ritel.&lt;/p&gt;




&lt;h2&gt;
  
  
  3.1 Tiga Hukum Utama Struktur Market
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Trend is King (Mengikuti Arus Utama):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Jangan pernah melawan arus (&lt;em&gt;counter-trend&lt;/em&gt;) kecuali Anda sudah memiliki jam terbang tinggi.&lt;/li&gt;
&lt;li&gt;Pada Downtrend: Fokus mencari peluang &lt;strong&gt;SELL di area pantulan atas (Lower High)&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Pada Uptrend: Fokus mencari peluang &lt;strong&gt;BUY di area pijakan bawah (Higher Low)&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Break of Structure (BOS) vs Change of Character (CHoCH):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;BOS:&lt;/strong&gt; Harga menembus swing low sebelumnya ke bawah (pada downtrend) membuktikan kelanjutan tren.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CHoCH:&lt;/strong&gt; Sinyal awal perubahan arah ketika harga pertama kali menembus swing high terakhir pada tren turun.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Liquidity Sweep (Jebakan Pasar):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Ekor lilin (&lt;em&gt;wick&lt;/em&gt;) yang panjang melewati level support/resistance lama sering kali adalah manuver "sapu bersih" Stop Loss ritel sebelum harga berbalik arah.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  3.2 Studi Kasus Riil: Analisa Chart Gold Spot M15 (Platform HFM)
&lt;/h2&gt;

&lt;p&gt;Merujuk pada chart riil yang kita analisa sebelumnya pada instrumen Gold Spot (Cent) di timeframe 15 Menit:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Puncak Tertinggi: ~4,214.50 (Major High)
       │
       ▼ [Penurunan Beruntun: Impulsive Bearish Wave]
       ├── LH 1: 4,204.00
       ├── LH 2: 4,198.00
       ├── LH 3: 4,185.00
       └── LH 4: 4,171.00 ─── Area Resistance Minor Saat Ini
                                │
[Running Price: 4,167]  ───────┼─ Konsolidasi Base (4,163 - 4,171)
                                │
       └── Support Kunci: 4,158.00 (Liquidity Sweep Wick)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Langkah Pembacaan Chart Secara Mandiri:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identifikasi Dominasi:&lt;/strong&gt; Dari 4,214 harga drop tajam ke 4,158. Penjual (&lt;em&gt;sellers&lt;/em&gt;) memegang kendali penuh.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Identifikasi Respon Pasar:&lt;/strong&gt; Muncul sumbu panjang di 4,158 (&lt;em&gt;rejection wick&lt;/em&gt;), namun pantulannya sangat lemah dan terhenti di level 4,171 dengan candle berbadan kecil (&lt;em&gt;spinning tops&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kesimpulan Formasi:&lt;/strong&gt; Ini adalah pola &lt;strong&gt;Bearish Flag&lt;/strong&gt; (istirahat sementara di fase tren turun). Probabilitas penurunan lanjutan (&lt;em&gt;continuation&lt;/em&gt;) jauh lebih tinggi daripada pembalikan arah instan.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  3.3 Tiga Setup Entry Berprobabilitas Tinggi
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Setup 1: Sell on SnR Flip (Pullback Entry)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kondisi:&lt;/strong&gt; Support horizontal yang sebelumnya kuat ditembus ke bawah secara agresif.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tindakan:&lt;/strong&gt; Tunggu harga kembali memantul (&lt;em&gt;retest&lt;/em&gt;) ke garis yang sama (sekarang menjadi Resistance).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Konfirmasi:&lt;/strong&gt; Muncul candle Bearish Engulfing atau Pin Bar di area tersebut. Masuk posisi Sell dengan SL beberapa poin di atas pucuk pin bar.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Setup 2: Continuation Breakdown
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kondisi:&lt;/strong&gt; Terbentuk area konsolidasi rapat (&lt;em&gt;range/base&lt;/em&gt;) di tengah tren yang kuat.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tindakan:&lt;/strong&gt; Pasang order Sell Stop atau tunggu penutupan body candle menembus batas bawah konsolidasi.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Manajemen:&lt;/strong&gt; SL dipasang di garis tengah kotak konsolidasi.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Setup 3: Liquidity Grab Reversal
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kondisi:&lt;/strong&gt; Harga membuat rekor baru sesaat dengan ekor panjang namun body candle ditutup kembali ke dalam zona sebelumnya.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tindakan:&lt;/strong&gt; Masuk melawan arah jarum suntik (&lt;em&gt;fade the wick&lt;/em&gt;) dengan target area keseimbangan harga (&lt;em&gt;Fair Value / Median&lt;/em&gt;).&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Modul 4: Money Management &amp;amp; Blueprint Compounding
&lt;/h1&gt;

&lt;p&gt;Keahlian analisa teknikal hanya menyumbang 20% dari keberhasilan trading, sedangkan &lt;strong&gt;80% ditentukan oleh pengelolaan modal (&lt;em&gt;Money Management&lt;/em&gt;) dan kestabilan emosi&lt;/strong&gt;. Tanpa Money Management yang ketat, seorang trader dengan akurasi 80% tetap bisa bangkrut dalam satu kesalahan fatal.&lt;/p&gt;




&lt;h2&gt;
  
  
  4.1 Matematika Risk to Reward (R:R) 1:2
&lt;/h2&gt;

&lt;p&gt;Banyak pemula berasumsi bahwa untuk menghasilkan uang, mereka harus selalu benar di setiap transaksi. Secara statistik, asumsi ini salah besar:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Jumlah Trade&lt;/th&gt;
&lt;th&gt;Win Rate (Akurasi)&lt;/th&gt;
&lt;th&gt;Menang (Rasio 1:2)&lt;/th&gt;
&lt;th&gt;Kalah (Risiko 1R)&lt;/th&gt;
&lt;th&gt;Hasil Bersih&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;10 Trade&lt;/td&gt;
&lt;td&gt;40% (Hanya 4 Menang)&lt;/td&gt;
&lt;td&gt;4 × +2R = &lt;strong&gt;+8R&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;6 × -1R = &lt;strong&gt;-6R&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+2R (PROFIT)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10 Trade&lt;/td&gt;
&lt;td&gt;50% (5 Menang, 5 Kalah)&lt;/td&gt;
&lt;td&gt;5 × +2R = &lt;strong&gt;+10R&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;5 × -1R = &lt;strong&gt;-5R&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+5R (PROFIT)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10 Trade&lt;/td&gt;
&lt;td&gt;60% (6 Menang, 4 Kalah)&lt;/td&gt;
&lt;td&gt;6 × +2R = &lt;strong&gt;+12R&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;4 × -1R = &lt;strong&gt;-4R&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;+8R (PROFIT BESAR)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;Artinya:&lt;/em&gt; Dengan menjaga Risk to Reward minimal 1:2, Anda bisa salah lebih sering daripada benar (misal akurasi hanya 40%), namun akun trading Anda tetap bertumbuh secara konsisten.&lt;/p&gt;




&lt;h2&gt;
  
  
  4.2 Blueprint Compounding Menuju Rp 1.000.000
&lt;/h2&gt;

&lt;p&gt;Bagi pemilik modal Rp 100.000 (620 USC), target Rp 1.000.000 (sekitar &lt;strong&gt;6.250 USC&lt;/strong&gt;) tidak dicapai dalam semalam dengan bertaruh gila-gilaan, melainkan melalui tahapan berlipat ganda secara eksponensial (&lt;em&gt;compound growth&lt;/em&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Target Akhir: 6,250 USC (~Rp 1.000.000)
     ▲
     │  Fase 3: Saldo &amp;gt; 2,500 USC ── Lot 0.04 - 0.05 Cent
     ├── Fase 2: Saldo &amp;gt; 1,250 USC ── Lot 0.02 - 0.03 Cent
     └── Fase 1: Modal Awal 620 USC ── Lot 0.01 Cent (Konsistensi Disiplin)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Tabel Rencana Bertahap (Fase Milestone):
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Fase&lt;/th&gt;
&lt;th&gt;Saldo Modal&lt;/th&gt;
&lt;th&gt;Ukuran Lot Maks&lt;/th&gt;
&lt;th&gt;Risiko per Trade (1R)&lt;/th&gt;
&lt;th&gt;Target Profit (2R)&lt;/th&gt;
&lt;th&gt;Target Milestone&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fase 1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;620 USC (~Rp 100k)&lt;/td&gt;
&lt;td&gt;0.01 Cent&lt;/td&gt;
&lt;td&gt;30 USC (~Rp 5.000)&lt;/td&gt;
&lt;td&gt;60 USC (~Rp 10.000)&lt;/td&gt;
&lt;td&gt;1,250 USC (~Rp 200k)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fase 2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1,250 USC (~Rp 200k)&lt;/td&gt;
&lt;td&gt;0.02 Cent&lt;/td&gt;
&lt;td&gt;60 USC (~Rp 10.000)&lt;/td&gt;
&lt;td&gt;120 USC (~Rp 20.000)&lt;/td&gt;
&lt;td&gt;2,500 USC (~Rp 400k)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fase 3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2,500 USC (~Rp 400k)&lt;/td&gt;
&lt;td&gt;0.04 Cent&lt;/td&gt;
&lt;td&gt;120 USC (~Rp 20.000)&lt;/td&gt;
&lt;td&gt;240 USC (~Rp 40.000)&lt;/td&gt;
&lt;td&gt;5,000 USC (~Rp 800k)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Fase 4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;5,000 USC (~Rp 800k)&lt;/td&gt;
&lt;td&gt;0.08 Cent&lt;/td&gt;
&lt;td&gt;250 USC (~Rp 40.000)&lt;/td&gt;
&lt;td&gt;500 USC (~Rp 80.000)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6,250 USC (Rp 1 Juta)&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Keunggulan Metode Ini:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Anda tidak pernah mempertaruhkan seluruh modal dalam satu momen.&lt;/li&gt;
&lt;li&gt;Ukuran lot dinaikkan secara proporsional hanya ketika saldo modal telah berkembang, bukan karena dorongan emosi atau keserakahan.&lt;/li&gt;
&lt;li&gt;Jika mengalami 3 kali kekalahan berturut-turut, modal Anda hanya berkurang ~15%, jauh dari ancaman Margin Call.&lt;/li&gt;
&lt;/ol&gt;




&lt;h1&gt;
  
  
  Modul 5: Psikologi Trading &amp;amp; Checklist Harian
&lt;/h1&gt;

&lt;p&gt;Faktor penentu yang membedakan 5% trader konsisten dengan 95% trader yang gagal adalah &lt;strong&gt;kontrol emosi dan kepatuhan pada Standard Operating Procedure (SOP)&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  5.1 Tiga Penyakit Psikologis Pembunuh Akun
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;FOMO (Fear of Missing Out):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Gejala:&lt;/em&gt; Melihat lilin besar tiba-tiba melesat naik/turun, lalu panik langsung menekan Buy/Sell di pucuk karena takut ketinggalan momen.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Obat:&lt;/em&gt; Ingat selalu aturan: &lt;em&gt;Pasar forex buka 24 jam sehari, 5 hari seminggu. Melewatkan satu peluang tidak akan membuat Anda miskin, tetapi mengejar harga yang sudah lari hampir pasti membuat Anda rugi.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Revenge Trading (Balas Dendam):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Gejala:&lt;/em&gt; Setelah menyentuh Stop Loss, timbul rasa marah dan ingin segera mengembalikan uang yang hilang dengan membuka lot berlipat ganda tanpa analisa.&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Obat:&lt;/em&gt; Terapkan batas &lt;em&gt;Max Daily Loss&lt;/em&gt; (maksimal 2 kekalahan berturut-turut dalam sehari). Jika tercapai, tutup aplikasi trading dan matikan layar.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Menggeser Stop Loss (Disiplin Longgar):&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;Gejala:&lt;/em&gt; Ketika harga mendekati SL, trader menggeser SL semakin jauh dengan harapan harga akan berbalik (&lt;em&gt;hopium&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Obat:&lt;/em&gt; Sekali SL dipasang, dilarang keras menggesernya ke arah rugi. Anda hanya boleh menggeser SL ke titik impas (&lt;em&gt;Break Even&lt;/em&gt;) ketika harga sudah berjalan menuju target profit.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  5.2 Checklist SOP Sebelum Menekan Tombol Eksekusi
&lt;/h2&gt;

&lt;p&gt;Sebelum Anda mengeksekusi order Buy atau Sell di akun HFM Anda, cetak atau simpan checklist ini dan pastikan semua poin bernilai &lt;strong&gt;YA&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;[ ] &lt;strong&gt;1. Tren Jelas:&lt;/strong&gt; Apakah saya bertransaksi searah dengan tren utama di timeframe H1/M15?&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;2. Level Kunci Terdefinisi:&lt;/strong&gt; Apakah posisi entry saya berada di area Support/Resistance atau SnR Flip yang valid?&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;3. Konfirmasi Candle:&lt;/strong&gt; Apakah ada candle penolakan (&lt;em&gt;wick rejection&lt;/em&gt;) atau konfirmasi momentum sebelum entry?&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;4. Stop Loss Sudah Dihitung:&lt;/strong&gt; Apakah level SL sudah ditentukan di luar swing point logis, bukan sekadar angka acak?&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;5. Rasio R:R Minimal 1:2:&lt;/strong&gt; Apakah jarak potensi Take Profit minimal dua kali lipat jarak risiko Stop Loss?&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;6. Ukuran Lot Sesuai Aturan:&lt;/strong&gt; Apakah ukuran lot tepat 0.01 cent (sesuai saldo saat ini)?&lt;/li&gt;
&lt;li&gt;[ ] &lt;strong&gt;7. Kalender Berita Aman:&lt;/strong&gt; Apakah tidak ada rilis data &lt;em&gt;High Impact&lt;/em&gt; (label merah) dalam kurun waktu 15 menit ke depan?&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  5.3 Kesimpulan &amp;amp; Pesan Penutup
&lt;/h2&gt;

&lt;p&gt;Trading bukanlah skema cepat kaya, melainkan &lt;strong&gt;bisnis probabilitas dan pengelolaan risiko&lt;/strong&gt;. Pelajari chart dengan sabar, hargai setiap proses perolehan cent demi cent di awal, dan jangan tergoda hasil instan rekan tanpa mengetahui risiko di baliknya. Ketika disiplin sistem telah terbentuk di modal kecil, melipatgandakan keuntungan ke angka jutaan rupiah adalah hasil sampingan yang pasti mengikuti.&lt;/p&gt;

</description>
      <category>trading</category>
      <category>finance</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>[Boost]</title>
      <dc:creator>juandisay</dc:creator>
      <pubDate>Wed, 09 Apr 2025 04:56:21 +0000</pubDate>
      <link>https://dev.to/juandisay/-3a8e</link>
      <guid>https://dev.to/juandisay/-3a8e</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/ankush_mahore/fine-tuning-retrieval-augmented-generation-rag-models-with-groq-step-by-step-26ig" class="crayons-story__hidden-navigation-link"&gt;Fine-Tuning Retrieval-Augmented Generation (RAG) Models with Groq: Step by Step&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/ankush_mahore" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1954259%2Fa626cb6a-11a6-45b6-ac74-2b57b9bf9fbd.png" alt="ankush_mahore profile" class="crayons-avatar__image"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/ankush_mahore" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Ankush Mahore
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Ankush Mahore
                
              
              &lt;div id="story-author-preview-content-1978627" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/ankush_mahore" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1954259%2Fa626cb6a-11a6-45b6-ac74-2b57b9bf9fbd.png" class="crayons-avatar__image" alt=""&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Ankush Mahore&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/ankush_mahore/fine-tuning-retrieval-augmented-generation-rag-models-with-groq-step-by-step-26ig" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Aug 29 '24&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/ankush_mahore/fine-tuning-retrieval-augmented-generation-rag-models-with-groq-step-by-step-26ig" id="article-link-1978627"&gt;
          Fine-Tuning Retrieval-Augmented Generation (RAG) Models with Groq: Step by Step
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/ankush_mahore/fine-tuning-retrieval-augmented-generation-rag-models-with-groq-step-by-step-26ig" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="18" height="18"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;34&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/ankush_mahore/fine-tuning-retrieval-augmented-generation-rag-models-with-groq-step-by-step-26ig#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              1&lt;span class="hidden s:inline"&gt;&amp;nbsp;comment&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            4 min read
          &lt;/small&gt;
            
              &lt;span class="bm-initial"&gt;
                

              &lt;/span&gt;
              &lt;span class="bm-success"&gt;
                

              &lt;/span&gt;
            
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>rag</category>
      <category>ai</category>
      <category>tutorial</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Mode God Design Browser</title>
      <dc:creator>juandisay</dc:creator>
      <pubDate>Sat, 19 Sep 2020 21:50:53 +0000</pubDate>
      <link>https://dev.to/juandisay/mode-god-design-browser-10ch</link>
      <guid>https://dev.to/juandisay/mode-god-design-browser-10ch</guid>
      <description>&lt;p&gt;Hoala,&lt;/p&gt;

&lt;p&gt;&lt;code&gt;document.designMode&lt;/code&gt; controls whether the entire document is editable.&lt;/p&gt;

&lt;p&gt;This is mode for live editable on your browser.&lt;/p&gt;

&lt;p&gt;Can you check docs on&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Document/designMode"&gt;https://developer.mozilla.org/en-US/docs/Web/API/Document/designMode&lt;/a&gt;&lt;/p&gt;

</description>
      <category>chrome</category>
      <category>firefox</category>
      <category>brave</category>
    </item>
    <item>
      <title>Introduction About me on Dev!</title>
      <dc:creator>juandisay</dc:creator>
      <pubDate>Mon, 14 Sep 2020 23:01:00 +0000</pubDate>
      <link>https://dev.to/juandisay/introduction-4cnd</link>
      <guid>https://dev.to/juandisay/introduction-4cnd</guid>
      <description>&lt;p&gt;Hi, there;&lt;/p&gt;

&lt;p&gt;My name is juandisay. I'm Fullstack Developer, with Python and NodeJs technology.&lt;/p&gt;

&lt;p&gt;Part time job as DevOps. Saltstack and Visible player.&lt;/p&gt;

&lt;p&gt;Recent Jobs&lt;br&gt;
&lt;a href="https://juandisay.org"&gt;https://juandisay.org&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From me,&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lseFktsO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3waogitsvlt29hbjpsvf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lseFktsO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3waogitsvlt29hbjpsvf.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>webdev</category>
      <category>node</category>
      <category>typescript</category>
    </item>
  </channel>
</rss>
