Build your own chart tool
The seven-step path: pick one job, pick blocks, generate a starter, paste/import, verify, customize, publish honestly.
目的を1つ決める→ブロックを選ぶ→ひな形を生成→貼り付け→検証→改造→正直に公開、の7ステップ。
Recipes, blocks and a code generator for indicators, dashboards, scanners, alerts and your own web chart — with minimal coding.
インジケーター・ダッシュボード・スキャナー・アラート、そして自分のWebチャートまで。レシピ・ブロック・コード生成で、最小限のコーディングで作れます。
Everything here is ORIGINAL BSV source under the MIT license. Nothing has been runtime tested by BSV yet — each item says exactly what was checked.
ここにあるものはすべてBSVオリジナルのソース(MITライセンス)です。BSVではまだ実行検証をしていません。各項目に確認した範囲を明記しています。
Summaries are public. Viewing, copying and downloading the source requires free email verification.
解説は登録なしで読めます。コードの閲覧・コピー・ダウンロードには無料のメール確認が必要です。
Overlay, dashboard, scanner, alert, study or your own web chart. Start with one job you can verify — not twenty signals.
重ね表示・ダッシュボード・スキャナー・アラート・オシレーター・自作Webチャートから1つ。最初から20個のシグナルを入れず、検証できる1つから始めます。
A recipe is JSON: each block has an id, a type (for example indicator.ema, signal.cross, visual.table, alert.condition) and params. Later blocks refer to earlier ids.
レシピはJSONです。各ブロックにid・type(indicator.ema、signal.cross、visual.table、alert.conditionなど)・paramsがあり、後のブロックが前のidを参照します。
Run the generator for Pine v6, MQL5, MQL4, cTrader C#, cTrader Python, Bookmap Python, NinjaTrader 8 or Quantower — or take the pre-generated starters on each recipe page. Unsupported blocks remain as visible TODO comments.
ジェネレーターでPine v6・MQL5・MQL4・cTrader(C#/Python)・Bookmap(Python)・NinjaTrader 8・Quantower・Sierra Chart(ACSIL)・ProRealTime・GoCharting(Lipi)・MotiveWave(Java)・Vela(JavaScript)・JForex(Java)・TradeStation(EasyLanguage)・ATAS(C#)・AmiBroker(AFL)・thinkorswim(thinkScript)・Tradovate(JavaScript)・backtrader(Python)・Backtesting.py(Python)・NautilusTrader(Python)向けに出力します。各レシピのページにある生成済みのひな形も使えます。未対応のブロックはTODOコメントとして残ります。
TradingView: new Pine indicator → paste → save → add to chart. MT5 / MT4: MetaEditor custom indicator → compile. cTrader: Algo custom indicator (C# or Python) → build. Bookmap: load the Python add-on. Vela: your own browser chart.
TradingView:新規Pineインジケーターに貼り付けて保存しチャートに追加。MT5・MT4:MetaEditorでカスタムインジケーターとしてコンパイル。cTrader:Algoでカスタムインジケーター(C#またはPython)としてビルド。Bookmap:Pythonアドオンとして読み込み。Vela:自分のブラウザーチャート。
Check source/version, enough history, symbol and timezone assumptions, repainting/lookahead, session handling, alert frequency and edge-case parameters. A compile pass is not proof of trading value.
ソースとバージョン、十分な過去データ、銘柄・タイムゾーンの前提、リペイント・先読み、時間帯の扱い、アラートの頻度、極端なパラメーターを確認します。コンパイルが通っても売買の価値の証明にはなりません。
Swap EMA lengths, add higher-timeframe data, change thresholds, add ATR bands or a session gate, add webhook-ready alerts, split one big tool into an overlay + a scanner.
EMAの期間を変える、上位足のデータを足す、しきい値を変える、ATRバンドや時間帯の条件を足す、Webhookアラートを足す、大きなツールを重ね表示とスキャナーに分ける。
If you list the result on BSV, state original/adapted source, platform/version, prerequisites, what is tested, what is not, limitations — and no unsupported performance claims.
BSVに出品するなら、オリジナルか改変か、プラットフォームとバージョン、前提条件、検証済みの範囲と未検証の範囲、制約を書きます。根拠のない成績は書きません。
New · in your browser新着・ブラウザで動作
Edit blocks in a form and get Pine v6 / MQL5 / MQL4 / cTrader / Bookmap / NinjaTrader / Quantower starters instantly. Free with email verification.
ブロックをフォームで編集すると、Pine v6・MQL5・MQL4・cTrader・Bookmap・NinjaTrader・Quantowerのひな形がすぐ生成されます。無料のメール確認で使えます。
The seven-step path: pick one job, pick blocks, generate a starter, paste/import, verify, customize, publish honestly.
目的を1つ決める→ブロックを選ぶ→ひな形を生成→貼り付け→検証→改造→正直に公開、の7ステップ。
JSON Schema for BSV Trader Recipes: a name, an overlay flag and an ordered list of blocks (id, type, params). Validate a recipe before generating code.
BSV Trader RecipeのJSONスキーマ。名前・チャート重ね表示の指定・ブロック(id・type・params)の並びを定義します。コード生成の前にレシピを検証できます。
Node.js generator that turns one recipe into a Pine Script v6, MQL5, MQL4, cTrader C#, cTrader Python, Bookmap Python, NinjaTrader 8, Quantower, Sierra Chart (ACSIL), ProRealTime, GoCharting (Lipi), MotiveWave (Java), Vela (JavaScript), JForex (Java), TradeStation (EasyLanguage), ATAS (C#), AmiBroker (AFL), thinkorswim (thinkScript), Tradovate (JavaScript), backtrader (Python), Backtesting.py (Python) or NautilusTrader (Python) starter. Unsupported blocks stay visible as TODO comments instead of silently disappearing.
1つのレシピからPine Script v6・MQL5・MQL4・cTrader(C#)・cTrader(Python)・Bookmap(Python)・NinjaTrader 8・Quantower・Sierra Chart(ACSIL)・ProRealTime・GoCharting(Lipi)・MotiveWave(Java)・Vela(JavaScript)・JForex(Java)・TradeStation(EasyLanguage)・ATAS(C#)・AmiBroker(AFL)・thinkorswim(thinkScript)・Tradovate(JavaScript)・backtrader(Python)・Backtesting.py(Python)・NautilusTrader(Python)のひな形を出力するNode.js製ジェネレーター。未対応のブロックは黙って消さず、TODOコメントとして残します。
Tracks the high, low and range of a chosen session (default 08:00–10:00 Europe/London) and shows them in a small status table.
指定した時間帯(初期値はロンドン時間08:00〜10:00)の高値・安値・値幅を追跡し、小さな表に表示します。
Marks bars that trade beyond the last confirmed pivot by at least a set ATR fraction and close back inside. A mechanical candidate marker with alert conditions — not an order-flow claim.
直近の確定ピボットをATR比で一定以上はみ出し、内側に戻って引けた足に印を付けます。アラート条件付きの機械的な候補表示で、注文フローの主張ではありません。
Plots ATR divided by its own moving average and colors low / normal / high volatility regimes against adjustable thresholds.
ATRをその移動平均で割った比率を表示し、しきい値に応じて低・通常・高ボラティリティを色分けします。
EMA basis with ATR-multiple bands for planning stop distance visually. It does not size positions or place orders.
EMAを基準にATR倍率のバンドを描き、損切り幅を目で検討するための補助です。ロット計算や発注は行いません。
Higher-timeframe fast/slow EMA trend and RSI state in a compact panel, using request.security with lookahead off.
上位足の短期・長期EMAのトレンドとRSIの状態を小さなパネルに表示します。request.securityはlookahead無効で使います。
EMA cross alerts that send a structured JSON payload via alert(). Webhook-ready, with no secrets in the script and no order placement.
EMAの交差でJSON形式のメッセージをalert()から送ります。Webhookにつなげられますが、スクリプトに秘密情報は入れず、発注もしません。
MQL5 custom indicator: EMA with ATR upper/lower bands in the chart window. Compile in MetaEditor before use.
MQL5のカスタムインジケーター。チャート上にEMAとATRの上下バンドを表示します。使う前にMetaEditorでコンパイルしてください。
cTrader Automate C# indicator: EMA with ATR bands, AccessRights.None. Build inside cTrader before use.
cTrader Automate用のC#インジケーター。EMAとATRバンドを表示します(AccessRights.None)。使う前にcTrader内でビルドしてください。
cTrader Automate C# RSI study in its own panel — a clean base for regime colouring or thresholds.
cTrader Automate用のC# RSIスタディ(別パネル表示)。局面の色分けやしきい値を足すための土台です。
MQL4 custom indicator for MT4: EMA with ATR upper/lower bands in the chart window. Compile in MetaEditor (MT4) before use.
MT4用のMQL4カスタムインジケーター。チャート上にEMAとATRの上下バンドを表示します。使う前にMT4のMetaEditorでコンパイルしてください。
cTrader Algo Python indicator: a C# attribute file for parameters/outputs plus a _main.py with the EMA + ATR band logic. Build in cTrader before use.
cTrader AlgoのPythonインジケーター。パラメーターと出力を宣言するC#属性ファイルと、EMA+ATRバンドの処理を書いた_main.pyの2ファイル構成です。使う前にcTraderでビルドしてください。
Bookmap Python API add-on (open beta API) that draws an EMA of trade prices on the main heatmap. No order placement.
Bookmap Python API(オープンベータ)のアドオン。約定価格のEMAをメインのヒートマップ上に描きます。注文は出しません。
NinjaScript indicator with EMA and ATR bands using the standard OnStateChange / OnBarUpdate / AddPlot lifecycle.
標準的なOnStateChange・OnBarUpdate・AddPlotの流れで作ったEMA+ATRバンドのNinjaScriptインジケーター。
Deliberately small Quantower Algo indicator (one SMA line series) to alter rather than an opaque clone.
あえて小さく作ったQuantower Algoのインジケーター(SMA 1本)。中身の見えない模倣品ではなく、改造の出発点です。
Sierra Chart ACSIL custom study: one EMA subgraph with a length input. Read-only and visual.
Sierra ChartのACSILカスタムスタディ。期間を入力できるEMAを1本表示します。表示専用です。
Dual EMA (21/89) written in GoCharting's Lipi scripting language. Paste into the Lipi editor and validate there.
GoChartingのLipi言語で書いた2本のEMA(21・89)。Lipiエディターに貼り付けて検証してください。
Five-line ProBuilder personal indicator returning EMA 21 and EMA 89. Separate from ProBackTest / ProOrder.
EMA21とEMA89を返す、数行のProBuilder個人用インジケーター。ProBackTest・ProOrderとは別物です。
MotiveWave Java SDK custom study starter (EMA, overlay). Study only — no order submission.
MotiveWave Java SDK用のカスタムスタディのひな形(EMA・チャート重ね表示)。スタディのみで発注はしません。
Your own browser chart: a minimal Vite + Vela starter that renders OHLCV bars you supply. No network request, no order execution. Vela itself is installed from its official package, not redistributed by BSV.
自分のブラウザーチャートを作る道。用意したOHLCVデータを表示する最小限のVite+Velaスターターです。通信も発注もしません。Vela本体はBSVが再配布せず、公式パッケージから入れます。
OpenMarkets as a market-data / agent integration building block (REST, WebSocket, MCP) — not a chart-scripting language. Start read-only and keep keys out of source.
OpenMarketsは市場データ・エージェント連携の部品(REST・WebSocket・MCP)として扱います。チャート用のスクリプト言語ではありません。読み取り専用から始め、APIキーをコードに入れないでください。
Fast/slow EMA trend state with RSI confirmation and alert.
短期・長期EMAのトレンド状態をRSIで確認し、アラートを出します。
Session filter plus EMA/RSI context. The initial generator emits a TODO where a target cannot express a session filter safely.
時間帯フィルターとEMA・RSIの組み合わせ。時間帯を安全に表現できない出力先ではTODOを残します。
ATR calculation with an EMA context line. Use the generated source as a starting point for stop/risk visualization; no profitability claim.
ATRとEMAの基準線。損切り・リスクを視覚化するひな形です。収益性の主張はしません。
Pivot/sweep concept with ATR context. Advanced blocks intentionally remain TODO until a target renderer supports them honestly.
ピボット・スイープの考え方をATRと組み合わせたアラート。高度なブロックは正直に対応できるまでTODOのままです。
ATR plus moving-average context for a low/normal/high volatility regime tool.
ATRと移動平均で低・通常・高ボラティリティを分けるツール。
Session range, breakout state and dashboard starter.
時間帯の値幅・ブレイク状態・ダッシュボードのひな形。
Higher-timeframe EMA/RSI context with a compact status panel.
上位足のEMA・RSIの状態を小さなパネルで確認します。
Simple RSI threshold alert starter with explicit no-auto-trade behavior.
RSIのしきい値でアラートを出すだけのシンプルなひな形。自動売買はしません。
Fast/slow EMA trend state plus RSI pullback condition.
短期・長期EMAのトレンドとRSIの押し目条件を組み合わせます。
Session-aware range/statistics panel starter; advanced statistics remain target TODOs.
時間帯ごとの値幅・統計パネルのひな形。高度な統計はTODOです。
Pivot + RSI divergence concept for scanner implementation; advanced divergence logic remains explicit until target support is added.
ピボットとRSIのダイバージェンスを複数銘柄で探すスキャナーの構想。高度な判定は対応するまでTODOとして明示します。
Condition plus structured webhook payload starter. Never include secrets in the payload.
条件と構造化Webhookメッセージのひな形。メッセージに秘密情報を入れないでください。
SMA 50 / SMA 200 cross with one alert per closed bar in each direction. A classic context signal, not a trading system; no profitability claim.
SMA50とSMA200のクロスを、確定足ごとに上下それぞれ1回だけ知らせるひな形。定番の相場環境シグナルで、売買システムではありません。収益性の主張はしません。
EMA 9 / EMA 21 cross that only alerts when RSI 14 agrees (above 50 for up-crosses, below 50 for down-crosses). Starter for a filtered momentum alert; no profitability claim.
EMA9とEMA21のクロスのうち、RSI14が同じ向き(上抜けは50超、下抜けは50未満)のときだけ知らせるひな形。フィルター付きモメンタムアラートの出発点で、収益性の主張はしません。
No exact matches. Reset the filters.一致する項目がありません。絞り込みを解除してください。
Status is about the current BSV starter for each platform, not the platform itself. Never read it as Verified.
状態は各プラットフォーム向けのBSVスターターの現状であり、プラットフォーム自体の評価ではありません。検証済みという意味ではありません。
| Platform | Extensibility path | Current BSV asset | Status |
|---|---|---|---|
| TradingView | Pine Script | generator target + 6 copy/paste Pine starters | Source prepared; runtime compile still required |
| MT5 | MQL5 | generator target (`mql5`: computes EMA/SMA/RSI/ATR, cross/threshold/combine, plots, closed-bar alerts) + EMA/ATR overlay source | Source prepared; runtime compile still required |
| cTrader | C# or Python custom indicators in cTrader Algo | C# and Python generator targets (both compute indicators, signals, plots and closed-bar alerts) + EMA/ATR (C# and Python) + RSI source | Source prepared; runtime build still required |
| Vela | JavaScript/TypeScript chart library + optional scripting engines | generator target (`vela`: a small BSV `ScriptingEngine` in plain JS, line series, signal markers, closed-bar alerts) + runnable custom web-chart starter | Generated starters for 7 recipes mounted without errors in headless Chrome against @luxalgo/vela 0.8.1 with synthetic bars (smoke test only); not tested with live data or by users |
| NinjaTrader | NinjaScript/C# | generator target (`ninjatrader`: built-in EMA/SMA/RSI/ATR, cross/threshold/combine, plots, closed-bar `Alert()`) + EMA/ATR overlay source | Source prepared; runtime compile still required |
| Quantower | C# Quantower Algo | generator target (`quantower`: built-in indicators, cross/threshold/combine, line series, closed-bar log alerts) + simple SMA source | Source prepared; runtime compile still required |
| Sierra Chart | ACSIL/C++ | generator target (`sierra-acsil`: ACSIL moving averages/RSI/ATR, cross/threshold/combine, subgraphs, closed-bar `sc.AddAlertLine`) + EMA overlay custom-study source | Source prepared; runtime build still required |
| GoCharting | Lipi scripting | generator target (`gocharting-lipi`: talib indicators, cross/threshold/combine, plots, `alertcondition` + closed-bar `alert()`) + dual-EMA Lipi source | Source prepared; Lipi-editor validation still required |
| MT4 | MQL4 | generator target (`mql4`) + EMA/ATR overlay source | Source prepared; runtime compile still required |
| Bookmap | Python API (open beta) and Java add-ons/API | Python generator target (`bookmap-python`, time bars built from trades) + trade-EMA add-on source; order-flow blocks still planned | Source prepared; runtime test still required |
| MotiveWave | Java SDK | generator target (`motivewave`: `Study` with `DataSeries.ema/sma/atr`, Wilder RSI via `smma`, paths, closed-bar `ctx.signal`) + EMA custom-study source | Compiles with javac 21 against BSV stubs written from the SDK javadoc; real SDK build and MotiveWave load still required |
| JForex (Dukascopy) | JForex API (Java `IStrategy`) | generator target (`jforex`: `IIndicators.ema/sma/rsi/atr` at bar shifts, closed-bar `onBar`, console values and notifications; no `IEngine`/orders) | Compiles with javac 21 against BSV stubs written from the JForex API javadoc; JForex platform compile and demo run still required |
| TradeStation | EasyLanguage | generator target (`easylanguage`: indicator with `XAverage`/`Average`/`RSI`/`AvgTrueRange`, explicit cross comparisons, `PlotN`, `Alert` on `BarStatus(1) = 2`; no orders) | Structural check by BSV only (`check_easylanguage_output.mjs`); TradeStation Verify and chart test still required |
| ProRealTime | ProBuilder | generator target (`prorealtime`: built-in averages/RSI/ATR, `CROSSES OVER/UNDER`, `RETURN` lines, arrow markers on overlays) + dual-EMA copy/paste indicator | Source prepared; runtime validation required |
| ATAS | C# indicator API (`ATAS.Indicators`) | generator target (`atas`: `Indicator` with `OnCalculate`, `GetCandle`, `ValueDataSeries` lines, closed-bar `AddAlert`; EMA/SMA/RSI/ATR computed in the code; no orders) | Compiles with the .NET 8 C# compiler against BSV stubs written from the ATAS API reference; ATAS build and chart test still required |
| AmiBroker | AFL (AmiBroker Formula Language) | generator target (`amibroker`: indicator formula with `MA`/`EMA`/`RSIa`/`ATR`, explicit cross comparisons with `Ref`, `Plot`, completed-bar `AlertIf`; no `Buy`/`Sell`/`Short`/`Cover`) | Checked by a BSV AFL-subset parser/evaluator (`check_amibroker_afl.mjs`); AmiBroker verification still required |
| thinkorswim | thinkScript | generator target (`thinkscript`: study with `ExpAverage`/`Average`/`WildersAverage`/`TrueRange`, explicit cross comparisons, plots, `Alert(cond[1], …, Alert.BAR)`; no `AddOrder`) | Checked by a BSV thinkScript-subset parser/evaluator (`check_thinkscript.mjs`); thinkorswim verification still required |
| Tradovate | Custom indicators (JavaScript) | generator target (`tradovate`: `module.exports` indicator, `Calculator.init`/`map(d, index)`, EMA/SMA/RSI/ATR computed in the generated code, `predef.plotters.singleline`/`dots`, closed-bar alert dots via `shifts`; no orders, no network calls) | Checked by running the output in node:vm against a BSV stub of the documented API (`check_tradovate.mjs`); Tradovate verification still required |
| backtrader | Python library (backtesting / research) | generator target (`backtrader`: `bt.Indicator` with plot and alert lines, `bt.ind.EMA`/`SMA`/`RSI(safediv=True)`/`ATR`, `BsvAlerts` strategy printing ALERT lines on completed bars, `GenericCSVData` loader; no orders, no network calls) | Executed by BSV in the backtrader library (1.9.78.123) on synthetic bars (`check_backtrader.py`); not a broker or live-feed run, runtime verification still required |
| Backtesting.py | Python library (backtesting / research) | generator target (`backtesting-py`: alert-only `Strategy`, indicators and signals computed in `init()` with numpy from bars 0..i only, `next()` prints ALERT lines on completed bars, pandas CSV loader; no orders, no network calls) | Executed by BSV in the Backtesting.py library (0.6.6) on synthetic bars (`check_backtesting_py.py`); not a broker or live-feed run, runtime verification still required |
| NautilusTrader | Python library (backtesting / live framework, 1.x API) | generator target (`nautilus`: alert-only `Strategy` + frozen `StrategyConfig`, pure-Python EMA/SMA/RSI/ATR updated in `on_bar()` from bars 0..i, ALERT lines on completed bars, csv-module CSV loader, `BacktestEngine` on the test EUR/USD instrument; no orders, no network calls) | Executed by BSV in the NautilusTrader library (1.231.0) on synthetic bars (`check_nautilus.py`); not a broker, venue or live-feed run, runtime verification still required |
| OpenMarkets | REST/WebSocket/MCP data APIs, not a chart-script replacement | data/agent integration notes | API surface confirmed; no BSV runtime adapter yet |
| Target | How the panel is shown | What BSV checked | |
| backtrader | `stop()` prints `TABLE <title>` and one line per field for the last bar | executed in backtrader 1.9.78.123 on synthetic bars; values equal the shared Python reference (`check_backtrader.py`) | |
| Backtesting.py | `main()` prints the panels for the last bar from `stats._strategy` | executed in Backtesting.py 0.6.6; values equal the reference (`check_backtesting_py.py`) | |
| NautilusTrader | `run_backtest()` prints the panels after `engine.run()` | executed in NautilusTrader 1.231.0; values equal the reference (`check_nautilus.py`) | |
| thinkorswim | one `AddLabel` per field; `[1]` because labels use the last real (forming) bar | BSV thinkScript-subset evaluator: label text carries the closed bar's value (`check_thinkscript.mjs`); not thinkorswim | |
| AmiBroker | `printf` to the Interpretation window with `LastValue(Ref(x, -1))` and `NumToStr(…, 1.6, False)` | BSV AFL-subset evaluator: printed values for the last completed bar (`check_amibroker_afl.mjs`); not AmiBroker | |
| JForex | one console line per closed bar (shift 1), switch `logPanels` | compiles with javac 21 against the BSV JForex stubs only; not run |