Convert

Your old scripts are welcome here.

AlgoBarsX reads six other trading languages. Paste a script, and it comes back as readable AlgoBarsX with a note on every line: exact, adapted, or your call.

  • $0 a month
  • No card needed
  • Not a trial

Pick your language.

From Pine Script

For scripts written for TradingView. A real example, how each idea translates, and what to check.

Convert from Pine Script

From NinjaScript

For scripts written for NinjaTrader. A real example, how each idea translates, and what to check.

Convert from NinjaScript

From thinkScript

For scripts written for thinkorswim. A real example, how each idea translates, and what to check.

Convert from thinkScript

From Python

For scripts written for pandas and friends. A real example, how each idea translates, and what to check.

Convert from Python

How it works.

  1. Paste or upload

    Paste your code, or pick a file such as .pine, .mq4, .mq5, .cs, .els or .py.

  2. Get a note on every line

    Exact means carried over as is. Adapted means changed, with a note saying how. Your call means a choice is handed back to you.

  3. Read it back, then test

    The compiler describes the result in plain English. Compare that with what your old script did.

See one.

This is a real run of the importer. The result compiles. It read 8 lines: 5 carried over exactly, 2 were adapted, and 2 came back as choices for you.

You paste this · Pine Script
1//@version=5
2strategy("RSI Dip", overlay=true)
3len = input.int(14, "RSI Length")
4r = ta.rsi(close, len)
5if ta.crossover(r, 30)
6strategy.entry("L", strategy.long)
7if ta.crossunder(r, 70)
8strategy.close("L")
9plot(ta.ema(close, 200), color=color.orange)
You get this · AlgoBarsX
1strategy "RSI Dip"
2market: EURUSD
3bars: 1h
4
5input len = 14
6
7r = rsi(close, len)
8
9when crosses_above(r, 30):
10buy size: 1 lot, tag: "L"
11
12when crosses_below(r, 70):
13close_all tag: "L"
14
15plot ema(close, 200), color: orange
StatusYour lineWhat happened
Exactstrategy("RSI Dip", overlay=true)strategy() became the script header
Exactlen = input.int(14, "RSI Length")input() became an input
Exactr = ta.rsi(close, len)a calculation was carried over
Your callstrategy.entry("L", strategy.long)strategy.entry() had no size of its own, so it became one lot: set the size or risk you want
Adaptedif ta.crossover(r, 30)an if that places orders became a rule
Exactstrategy.close("L")strategy.close() became close_all
Adaptedif ta.crossunder(r, 70)an if that places orders became a rule
Exactplot(ta.ema(close, 200), color=color.orange)plot() became plot
Your callstrategy(...)Pine scripts carry no market or bar size, so EURUSD on 1h was filled in: set the ones you want
Always read an import before you run it. No converter is perfect, and some shapes of code import better than others. An import that does not compile says so. Test before you deploy.

Try it with one script.

Pick a small one. Paste it in. Read what comes back.

Create my free account

$0 a month · No card needed · Not a trial

Trading is risky. You can lose money. It is not right for everyone.