සින්හලුස් I just made a simple trading simulator. Just took me less than an hour! I used Gemini for coding.
trading backtesting simulate කරන්නයි live charts බලන්නයි මේකෙන් පුළුවන්. මේක start එකක් විදිහට බර web apps නැතුව පට්ටම lightweight හොදට optimized simulator එකක් විදිහට හදන්න බැලුවේ. ඒ නිසා මේක fully run වෙන්නේ locally. ඒ නිසා කිසිම server එකක්වත් deployment එකක් ඕන වෙන්නේ නැහැ. අනික charts කීපයක් එක පාර දැම්මත් කිසිම අවුලක් නැතුව smooth වැඩ කරනවා. මේ වැඩේ හෙනම lightweight කරලා මුලින් හදන්න ඕන වෙච්ච නිසා VS use කලේ නැ නිකන් notepad++ එකේ code දැම්මේ.
Backend එකට use කරලා තියෙන්නේ Python and Flask. මේක මම use කළේ නිකන්ම පොඩි bridge එකක් විදිහට විතරයි. ඒ කියන්නේ වැඩි බරක් නැතුව web එකෙන් historical data ඇදලා කෙලින්ම browser එකට pass කරන්න විතරයි මේක වැඩ කරන්නේ.
Frontend UI එක පැත්තෙන් React Angular වගේ බර frameworks කිසිම දෙයක් පාවිච්චි කළේ නැහැ. නිකන්ම Plain HTML, CSS, Vanilla JavaScript විතරයි use කරලා තියෙන්නේ. Screen එක කෑලිවලට බෙදලා Layout එක හදාගන්න CSS Grid use කරලා තියෙනවා. Charting Engine එක විදිහට TradingView එකේ lightweight charts එක ගත්තා. මේක HTML5 canvas එකක render වෙන නිසා chart එක zoom කරද්දී හෝ එහා මෙහා කරද්දී පරණ hardwareවල පවා පට්ට fast විදිහට වැඩ කරනවා.
ඔකේ chart එකේ 1, 2, වගේ panes තෝරන්න පුළුවන්. time frames 5ක් විතර දල තියෙනවා
මේකේ live chart mode එකත් තියනවා. Live data එන්න හැදුවේ Hyperliquid WebSocket API එකෙන්. Live mode එක දැම්මම කෙලින්ම Browser එකේ ඉඳන් Hyperliquid WebSocket API එකට කනෙක්ට් වෙනවා. Backtest mode එක දැම්මම Live WebSocket එක ඩිස්කනෙක්ට් වෙලා date picker එකකකුයි replay බටන් එකකුයි pop up වෙනවා. එතකොට අපිට ඕන දවසක් සිලෙක්ට් කරලා ඒ වෙනකම් විතරක් Data Filter කරගන්න පුළුවන්. ඊට පස්සේ step බටන් එක එබුවම candle by candle ඉස්සරහට forward වෙනවා.
මේකේ දැනට කරන්නේ yfinance use කරලා පරණ Open, High, Low, Close data ඇදගන්න එකයි. Yahoo Finance එකෙන් Free Usersලට 5m 15m වගේ පොපොඩි time frames වල පරණ data දෙන්නේ දවස් 30ත් 60ත් අතර වගේ ගානක් විතරයි.
කොහොම වුණත් මේකේ data logic එක හදල තියෙන්නේ ඕන වෙලාවක broker ව වෙනස් කරන්න පුළුවන් විදිහට නිසා Backend එක කෙලින්ම Binance public API එකට connect කරන්න පුළුවන්
Binance එකෙන් කිසිම API Key එකක් නැතුව ලොකු historical data ගොඩක් free ගන්න දෙන නිසා අවුරුදු 2ක 3ක පරණ deep tick data වුණත් ලේසියෙන්ම ඇදලා ලොකු time එකක backtesting කරන්න පුළුවන් වෙනවා.
මේවගේ පොඩි එකක් උනත් පැයකින් කරන්න පුළුවන් කියන්නේ සුපිරිනේ. මේක තව upgrade කරන්න පුළුවන් හරියට fx replay traderscasa වගේ trading simulators වගේ backtesting කරනකොට demo trading කරනවා වගේ trade execute වෙන්න හදන්න. අලුත් trading sessions open කරන්න වෙන වෙනම trading pairs වලට එතකොට හැම backtesting session එකකම performance statistics ගන්න පුළුවන් විදිහට හදන්න. ඕවගේ වැඩ ගොඩක් කරන්න පුළුවන්.
මොනවා උනත් මේක code උනේ Gemini ගෙන්. හරියට prompt කරන්න තමා දැනගන්න ඕන. නැත්තන් හරියට කරන්න බැ. ගොඩක් ය මම දැකල තිබ්බ එක එක තැන් වල කියල තියනවා gemini coding වලට හරියන්නේ නැ මගදී අනාගන්නව අරකයි මේකයි. නෑ gemini නෙමේ prompt කරගන්නයි කට්ටිය හරියට දන්නේ නැත්තේ
trading backtesting simulate කරන්නයි live charts බලන්නයි මේකෙන් පුළුවන්. මේක start එකක් විදිහට බර web apps නැතුව පට්ටම lightweight හොදට optimized simulator එකක් විදිහට හදන්න බැලුවේ. ඒ නිසා මේක fully run වෙන්නේ locally. ඒ නිසා කිසිම server එකක්වත් deployment එකක් ඕන වෙන්නේ නැහැ. අනික charts කීපයක් එක පාර දැම්මත් කිසිම අවුලක් නැතුව smooth වැඩ කරනවා. මේ වැඩේ හෙනම lightweight කරලා මුලින් හදන්න ඕන වෙච්ච නිසා VS use කලේ නැ නිකන් notepad++ එකේ code දැම්මේ.
Backend එකට use කරලා තියෙන්නේ Python and Flask. මේක මම use කළේ නිකන්ම පොඩි bridge එකක් විදිහට විතරයි. ඒ කියන්නේ වැඩි බරක් නැතුව web එකෙන් historical data ඇදලා කෙලින්ම browser එකට pass කරන්න විතරයි මේක වැඩ කරන්නේ.
Frontend UI එක පැත්තෙන් React Angular වගේ බර frameworks කිසිම දෙයක් පාවිච්චි කළේ නැහැ. නිකන්ම Plain HTML, CSS, Vanilla JavaScript විතරයි use කරලා තියෙන්නේ. Screen එක කෑලිවලට බෙදලා Layout එක හදාගන්න CSS Grid use කරලා තියෙනවා. Charting Engine එක විදිහට TradingView එකේ lightweight charts එක ගත්තා. මේක HTML5 canvas එකක render වෙන නිසා chart එක zoom කරද්දී හෝ එහා මෙහා කරද්දී පරණ hardwareවල පවා පට්ට fast විදිහට වැඩ කරනවා.
ඔකේ chart එකේ 1, 2, වගේ panes තෝරන්න පුළුවන්. time frames 5ක් විතර දල තියෙනවා
මේකේ live chart mode එකත් තියනවා. Live data එන්න හැදුවේ Hyperliquid WebSocket API එකෙන්. Live mode එක දැම්මම කෙලින්ම Browser එකේ ඉඳන් Hyperliquid WebSocket API එකට කනෙක්ට් වෙනවා. Backtest mode එක දැම්මම Live WebSocket එක ඩිස්කනෙක්ට් වෙලා date picker එකකකුයි replay බටන් එකකුයි pop up වෙනවා. එතකොට අපිට ඕන දවසක් සිලෙක්ට් කරලා ඒ වෙනකම් විතරක් Data Filter කරගන්න පුළුවන්. ඊට පස්සේ step බටන් එක එබුවම candle by candle ඉස්සරහට forward වෙනවා.
මේකේ දැනට කරන්නේ yfinance use කරලා පරණ Open, High, Low, Close data ඇදගන්න එකයි. Yahoo Finance එකෙන් Free Usersලට 5m 15m වගේ පොපොඩි time frames වල පරණ data දෙන්නේ දවස් 30ත් 60ත් අතර වගේ ගානක් විතරයි.
කොහොම වුණත් මේකේ data logic එක හදල තියෙන්නේ ඕන වෙලාවක broker ව වෙනස් කරන්න පුළුවන් විදිහට නිසා Backend එක කෙලින්ම Binance public API එකට connect කරන්න පුළුවන්
Binance එකෙන් කිසිම API Key එකක් නැතුව ලොකු historical data ගොඩක් free ගන්න දෙන නිසා අවුරුදු 2ක 3ක පරණ deep tick data වුණත් ලේසියෙන්ම ඇදලා ලොකු time එකක backtesting කරන්න පුළුවන් වෙනවා.
මේවගේ පොඩි එකක් උනත් පැයකින් කරන්න පුළුවන් කියන්නේ සුපිරිනේ. මේක තව upgrade කරන්න පුළුවන් හරියට fx replay traderscasa වගේ trading simulators වගේ backtesting කරනකොට demo trading කරනවා වගේ trade execute වෙන්න හදන්න. අලුත් trading sessions open කරන්න වෙන වෙනම trading pairs වලට එතකොට හැම backtesting session එකකම performance statistics ගන්න පුළුවන් විදිහට හදන්න. ඕවගේ වැඩ ගොඩක් කරන්න පුළුවන්.
මොනවා උනත් මේක code උනේ Gemini ගෙන්. හරියට prompt කරන්න තමා දැනගන්න ඕන. නැත්තන් හරියට කරන්න බැ. ගොඩක් ය මම දැකල තිබ්බ එක එක තැන් වල කියල තියනවා gemini coding වලට හරියන්නේ නැ මගදී අනාගන්නව අරකයි මේකයි. නෑ gemini නෙමේ prompt කරගන්නයි කට්ටිය හරියට දන්නේ නැත්තේ