MetaTrader 5 · TradingView · No code
Build MT5 Expert Advisors and Pine Script strategies without coding
Describe your strategy to Tactix Studio, review every rule in a structured form, then export MQL5 for MetaTrader 5 or Pine Script for TradingView.
7-day Dual Export trial after email verification · No credit card
EURUSD on the 15-minute chart. Buy when RSI(14) crosses above 30, sell when it crosses below 70. Stop loss 1%, take profit 2%, position size 1% of the account.
Two platforms. Two languages.
MetaTrader 5 runs MQL5; TradingView runs Pine Script. The two don't support the same features, so each has its own Strategy Builder form:
.mq5MQL5 form: an Expert Advisor for MetaTrader 5
.pinePine Script form: a strategy for TradingView
You choose the platform when you start a strategy. The Dual Export plan includes both forms.
Tactix AI · drafts the form
Tactix Studio turns it into a structured draft.
- You describe the strategy once, in your own words.
- Tactix Studio fills the six steps of the Strategy Builder: timeframe, entry signals, filters and risk.
- The AI fills the form. It doesn't write your code: you review every field first.
Tactix Studio is included in the 7-day Dual Export trial and in paid plans. In the no-signup demo, Tactix Guide explains any step.
How Tactix Studio worksStep 1: Strategy info
- Name
- EURUSD RSI 15m
Step 2: Timeframes
- Entry timeframe
- 15m
Step 3: Entry signals
- Buy
- RSI(14) crosses above 30
- Sell
- RSI(14) crosses below 70
Step 4: Market filters
- Filters
- None added
Step 5: Risk management
- Stop loss / take profit
- 1% / 2%
- Position size
- 1% of account
Step 6: Preview & save
- Status
- Ready to review
Strategy Builder
Review every rule. Change anything.
The Strategy Builder opens with every step filled in. Nothing is locked: change a value, add a condition or remove a filter before any code exists. The demo edits RSI Length from 14 to 10.
Describe the whole strategy in plain language.
- Multi-timeframe rules, from higher to lower timeframes
- Separate buy and sell rules, combined with AND / OR
- Market filters for session, time range, ATR and liquidity
- Real-time validation flags missing indicators and incomplete conditions
Step 5 · Risk management
Risk rules travel with the strategy.
Risk is part of the strategy definition, not an afterthought, and buy and sell are configured separately. The MQL5 and the Pine Script forms both offer every option below, and it goes into the code for your platform.
Buy and sell are configured separately in the builder. This example uses the same values on both sides.
These are the options the MQL5 and Pine Script exports both support today. The builder marks anything your plan does not include.
| Option | This strategy |
|---|---|
| Stop loss | 1% of price |
| Take profit | 2% of price |
| Trailing stop | Off in this example |
| Position size | 1% of the account |
| Account protection | 5 open · 10 per day |
Rule-based generators · not AI
Your reviewed rules become readable code for your platform.
The code comes from AlfaTactix's rule-based generators, working from the rules you approved, so the same strategy always produces the same file. Below, this example built in each form. Pick a rule to see the lines it became.
// Input Parameters / Strategy Constantsconst ENUM_TIMEFRAMES InpTimeframe = PERIOD_M15; // Locked Entry Timeframe (from Strategy Builder)input int InpRSIRsi_4ead307840Period = 14; // RSI Periodinput ENUM_APPLIED_PRICE InpRSIRsi_4ead307840Source = PRICE_CLOSE; // RSI Sourceinput int InpRSIRsi_4ead307840Overbought = 70; // RSI Overboughtinput int InpRSIRsi_4ead307840Oversold = 30; // RSI Oversoldinput int InpRSIRsi_4ead307840Offset = 0; // RSI Offset (bars)input int InpRSIRsi_73da52d160Period = 14; // RSI Periodinput ENUM_APPLIED_PRICE InpRSIRsi_73da52d160Source = PRICE_CLOSE; // RSI Sourceinput int InpRSIRsi_73da52d160Overbought = 70; // RSI Overboughtinput int InpRSIRsi_73da52d160Oversold = 30; // RSI Oversoldinput int InpBuyMaxDailyTrades = 10;input double InpBuyLotValue = 1.0;input double InpBuySLValue = 1.0;input double InpBuyTPValue = 2.0;input int InpSellMaxOpenPositions = 5;input int InpSellMaxDailyTrades = 10;input double InpSellLotValue = 1.0;input double InpSellSLValue = 1.0;input double InpSellTPValue = 2.0; // Initialize RSI indicator (using input parameters) rsi_4ead307840_handle = iRSI(_Symbol, InpTimeframe, InpRSIRsi_4ead307840Period, InpRSIRsi_4ead307840Source); if (rsi_4ead307840_handle == INVALID_HANDLE) { Print("Failed to create RSI indicator (period=", InpRSIRsi_4ead307840Period, ", source=", InpRSIRsi_4ead307840Source, ")"); return(INIT_FAILED); // Initialize RSI indicator (using input parameters) rsi_73da52d160_handle = iRSI(_Symbol, InpTimeframe, InpRSIRsi_73da52d160Period, InpRSIRsi_73da52d160Source); if (rsi_73da52d160_handle == INVALID_HANDLE) { Print("Failed to create RSI indicator (period=", InpRSIRsi_73da52d160Period, ", source=", InpRSIRsi_73da52d160Source, ")"); return(INIT_FAILED);bool CheckBuySignal() { if ((rsi_4ead307840_buffer[InpRSIRsi_4ead307840Offset] > InpRSIRsi_4ead307840Oversold && rsi_4ead307840_buffer[InpRSIRsi_4ead307840Offset+1] <= InpRSIRsi_4ead307840Oversold)) {bool CheckSellSignal() { if ((rsi_73da52d160_buffer[InpRSIRsi_73da52d160Offset] < InpRSIRsi_73da52d160Overbought && rsi_73da52d160_buffer[InpRSIRsi_73da52d160Offset+1] >= InpRSIRsi_73da52d160Overbought)) { { return NormalizeLot(InpBuyLotValue / 100.0); } { return AdjustStopPrice(true, true, ask, ask * (1.0 - InpBuySLValue / 100.0)); } { return AdjustStopPrice(true, false, ask, ask * (1.0 + InpBuyTPValue / 100.0)); }//@version=6strategy("EURUSD RSI 15m", overlay=true, margin_long=100, margin_short=100, pyramiding=5, default_qty_type=strategy.percent_of_equity, default_qty_value=1.0)// Description: Buy RSI oversold cross; sell RSI overbought cross on EURUSD 15m.// Chart timeframe should match Builder entry TF -> Pine "15"// Inputsint rsi_4ead3078_length = input.int(14, "RSI Length (rsi_4ead3078)", minval=1)float rsi_4ead3078_overbought = input.float(70.0, "RSI Overbought (rsi_4ead3078)")float rsi_4ead3078_oversold = input.float(30.0, "RSI Oversold (rsi_4ead3078)")int rsi_4ead3078_offset = input.int(0, "RSI Offset (rsi_4ead3078)", minval=-50, maxval=50)int rsi_73da52d1_length = input.int(14, "RSI Length (rsi_73da52d1)", minval=1)float rsi_73da52d1_overbought = input.float(70.0, "RSI Overbought (rsi_73da52d1)")float rsi_73da52d1_oversold = input.float(30.0, "RSI Oversold (rsi_73da52d1)")int rsi_73da52d1_offset = input.int(0, "RSI Offset (rsi_73da52d1)", minval=-50, maxval=50)float riskBuySlVal = input.float(1.0, "Buy SL value", minval=0.0001)float riskBuyTpVal = input.float(2.0, "Buy TP value", minval=0.0001)float riskSellSlVal = input.float(1.0, "Sell SL value", minval=0.0001)bool longCond = (ta.crossover(rsi_4ead3078_series, 30.0))bool shortCond = (ta.crossunder(rsi_73da52d1_series, 70.0))if strategy.position_size > 0 strategy.exit("XL", from_entry="Long", stop=(strategy.position_avg_price * (1.0 - riskBuySlVal / 100.0)), limit=(strategy.position_avg_price * (1.0 + riskBuyTpVal / 100.0)))if strategy.position_size < 0 strategy.exit("XS", from_entry="Short", stop=(strategy.position_avg_price * (1.0 + riskSellSlVal / 100.0)), limit=(strategy.position_avg_price * (1.0 - riskSellTpVal / 100.0)))Each file was generated twice, in separate runs: byte-identical both times (SHA-256 84839de04e2e… and 5af56291f5c1…).
Readable source you can open and change — not a locked binary.
View both complete files
Loading the files…
Export
Then it runs in your platform.
You export the source file and take it to the platform you already use. Testing happens there, in the tester you know.
EURUSD_RSI_15m.mq5
- Export the Expert Advisor source from Code Generator
- Open it in MetaEditor and compile
- Test it in the MetaTrader 5 Strategy Tester
MetaTrader plan · MQL5 export
EURUSD_RSI_15m.pine
- Export the Pine Script v6 strategy from Code Generator
- Paste it into the Pine Editor and add it to the chart
- Test it in the TradingView Strategy Tester
TradingView plan · Pine Script v6 export
Dual Export includes both forms: build each strategy for the platform you choose.
7-day Dual Export trial after email verification · No credit card
Trust & transparency
What you can rely on
Plain facts about how AlfaTactix works today.
- AI fills the form, not the code
- Tactix Studio drafts the builder form. You review it, and the code generator writes the source from those rules.
- Readable source export
- You export MQL5 (.mq5) or Pine Script v6 source files you can open and read, not a locked binary.
- Clear pricing in euros
- Monthly or yearly plans in EUR, with billing and invoices managed from your account settings.
- Encrypted in transit
- Traffic between your browser and AlfaTactix is encrypted.
- Trading risk
- Trading involves substantial risk of loss. AlfaTactix generates code from the rules you define and does not provide financial advice.
At a glance
- Tactix Studio
- Visual Strategy Builder
- Indicators, conditions and filters
- Risk management
- MQL5 export
- Pine Script v6 export
Pricing
Start with a free trial. Pick a plan when you're ready.
Try both engines with the 7-day Dual Export trial, then choose the export you need.
- Starter
Free
Dual Export trial · 7 days
Create up to 2 strategies during the welcome trial
- MetaTrader
€29/ month
MQL5 · MetaTrader 5
10 Expert Advisors per month
- TradingView
€19/ month
Pine Script v6 · TradingView
10 strategies per month
- Dual Export
€49/ month
MQL5 + Pine Script v6
Shared pool: 20 strategies per month (split as you like)
Monthly prices in EUR. Yearly billing gives you 2 months free.
Academy
Learn MQL5 and Pine Script
Free guides for MetaTrader 5 Expert Advisors and TradingView Pine Script, from the basics to no-code export.
Tactix AI
Ask our AI about indicators, EAs, Pine, filters & the Strategy Builder
Get answers grounded in AlfaTactix Academy guides and product docs — with links to the exact pages on this site.
One sentence, reviewed rule by rule.
- EURUSD_RSI_15m.mq5
- EURUSD_RSI_15m.pine
Idea in. .mq5 out.
Start the 7-day Dual Export trial, or try the builder first — no account needed.
7-day Dual Export trial after email verification · No credit card

