Trading Backtesting Simulator එකක් හැදුවා සින්හලු

manarrow

Well-known member
  • Jan 31, 2015
    5,072
    5,306
    113
    සින්හලුස් 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 කරගන්නයි කට්ටිය හරියට දන්නේ නැත්තේ
     
    • Love
    • Like
    Reactions: jennt and nooby

    Ldy

    Well-known member
  • Oct 6, 2025
    3,387
    4,823
    113
    36
    සින්හලුස් 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 කරගන්නයි කට්ටිය හරියට දන්නේ නැත්තේ


    ඔව් tools වලින් වැඩ ගන්න දන්නේ නෑ බහුතරය. Creativity එළියට එනවා අඩු නේ අපේ ඉස්කෝලේ වලින්
     
    • Love
    Reactions: nooby

    nooby

    Well-known member
  • Mar 25, 2018
    4,195
    2,395
    113
    Srilanka
    සින්හලුස් 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 කරගන්නයි කට්ටිය හරියට දන්නේ නැත්තේ

    මචං පොඩි ගයිඩ් එකක් දාපන්කො. Example ඇප් එකක් අරන් එහෙම එකක් හදාගන්න prompt කරන්න ඕන විදිහ කියල දීපන්කො.
     

    manarrow

    Well-known member
  • Jan 31, 2015
    5,072
    5,306
    113
    මචං පොඩි ගයිඩ් එකක් දාපන්කො. Example ඇප් එකක් අරන් එහෙම එකක් හදාගන්න prompt කරන්න ඕන විදිහ කියල දීපන්කො.
    okata gahapu eka meka. prompt engineering igenagnna YouTube thiynawa. thawa kohomada hariyata dekata prompt karanne kiyala Gemini genma igenaganna puluwan. tutorial ekak widihata step by step kiyala denna kiyala kiyanna ethakota kiyai.

    Initialize the project and then Build me a web app that displays a configurable number of live trading charts on a responsive split-screen layout using Lightweight Charts. and this chart exclusively for backtesting as a trading simulator. Connect Hyperliquid's websocket for live crypto prices. The pane should have its own dropdown to pick any symbol and any timeframe independently. Make the data source pluggable through a single data_source.py file so I can swap in any other broker later (Alpaca, Binance, Zerodha, Polygon, etc.) by adding one function. Set up a small Flask backend to bridge yfinance into the browser, wire the websocket handler for Hyperliquid, build the responsive grid in plain HTML/CSS (no heavy framework), and add a colour-coded ticker bar on each pane that flashes green or red on every price change. Everything runs locally — no deployment, no servers, no API keys required for the default sources.
    Before start explain me what is the best option to go
     
    • Love
    Reactions: jennt and nooby