Chỉ báo và chiến lược
Trend Core Strategy v1.0 - GUMROADLog Regression Channel Pro Strategy
This is a trend-following pullback strategy built for TradingView (Pine Script v6).
It uses logarithmic regression channels to define the market’s primary trend, and looks for low-risk pullback entries within strong trending conditions.
Momentum and trend strength filters are applied to avoid ranging or weak markets.
This strategy is designed to be used when the market is clearly trending, not during choppy or sideways price action.
Best Used When
Strong uptrend or downtrend is present
Price is pulling back toward the regression channel
Volatility is sufficient (ADX confirms trend strength)
Suitable for 1H / 4H timeframes
Commonly used on BTC, ETH, and major crypto pairs
Key Characteristics
Non-repainting logic
Volatility-based risk management (ATR)
Designed for realistic backtesting
No martingale, no grid, no over-optimization
Gumroad Disclaimer (3 Lines)
This strategy is provided for educational purposes only and is not financial advice.
Trading involves risk, and losses may occur.
You are fully responsible for your own trading decisions.
Deviation Burn + Pivots + Advanced stop + Midpoint CancelA session-based range strategy that places buy and sell orders at the session high and low, expecting price reactions from these levels.
Additional filters help avoid low-probability trades.
MNO_2Step_Strategy_MOU_KAKU (Publish-Clear)//@version=5
strategy("MNO_2Step_Strategy_MOU_KAKU (Publish-Clear)", overlay=true, pyramiding=0,
max_labels_count=500, max_lines_count=500,
initial_capital=100000,
default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// =========================
// Inputs
// =========================
emaSLen = input.int(5, "EMA Short (5)")
emaMLen = input.int(13, "EMA Mid (13)")
emaLLen = input.int(26, "EMA Long (26)")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
macdZeroTh = input.float(0.2, "MOU: MACD near-zero threshold", step=0.05)
volLookback = input.int(5, "Volume MA days", minval=1)
volMinRatio = input.float(1.3, "MOU: Volume ratio min", step=0.1)
volStrong = input.float(1.5, "Strong volume ratio (Breakout/KAKU)", step=0.1)
volMaxRatio = input.float(3.0, "Volume ratio max (filter)", step=0.1)
wickBodyMult = input.float(2.0, "Pinbar: lowerWick >= body*x", step=0.1)
pivotLen = input.int(20, "Resistance lookback", minval=5)
pullMinPct = input.float(5.0, "Pullback min (%)", step=0.1)
pullMaxPct = input.float(15.0, "Pullback max (%)", step=0.1)
breakLookbackBars = input.int(5, "Pullback route: valid bars after break", minval=1)
// --- Breakout route (押し目なし初動ブレイク) ---
useBreakoutRoute = input.bool(true, "Enable MOU Breakout Route (no pullback)")
breakConfirmPct = input.float(0.3, "Break confirm: close > R*(1+%)", step=0.1)
bigBodyLookback = input.int(20, "Break candle body MA length", minval=5)
bigBodyMult = input.float(1.2, "Break candle: body >= MA*mult", step=0.1)
requireCloseNearHigh = input.bool(true, "Break candle: close near high")
closeNearHighPct = input.float(25.0, "Close near high threshold (% of range)", step=1.0)
allowMACDAboveZeroInstead = input.bool(true, "Breakout route: allow MACD GC above zero instead")
// 表示
showEMA = input.bool(true, "Plot EMAs")
showMouLabels = input.bool(true, "Show MOU/MOU-B labels")
showKakuLabels = input.bool(true, "Show KAKU labels")
showDebugTbl = input.bool(true, "Show debug table (last bar)")
showStatusLbl = input.bool(true, "Show status label (last bar always)")
locChoice = input.string("Below Bar", "Label location", options= )
lblLoc = locChoice == "Below Bar" ? location.belowbar : location.abovebar
// =========================
// 必ず決済が起きる設定(投稿クリア用)
// =========================
enableTPSL = input.bool(true, "Enable TP/SL")
tpPct = input.float(2.0, "Take Profit (%)", step=0.1, minval=0.1) // ←投稿クリア向けに近め
slPct = input.float(1.0, "Stop Loss (%)", step=0.1, minval=0.1) // ←投稿クリア向けに近め
maxHoldBars = input.int(30, "Max bars in trade (force close)", minval=1)
entryMode = input.string("MOU or KAKU", "Entry trigger", options= )
// ✅ 保険:トレード0件を避ける(投稿クリア用)
// 1回でもクローズトレードができたら自動で沈黙
publishAssist = input.bool(true, "Publish Assist (safety entry if 0 trades)")
// =========================
// EMA
// =========================
emaS = ta.ema(close, emaSLen)
emaM = ta.ema(close, emaMLen)
emaL = ta.ema(close, emaLLen)
plot(showEMA ? emaS : na, color=color.new(color.yellow, 0), title="EMA 5")
plot(showEMA ? emaM : na, color=color.new(color.blue, 0), title="EMA 13")
plot(showEMA ? emaL : na, color=color.new(color.orange, 0), title="EMA 26")
emaUpS = emaS > emaS
emaUpM = emaM > emaM
emaUpL = emaL > emaL
goldenOrder = emaS > emaM and emaM > emaL
above26_2days = close > emaL and close > emaL
baseTrendOK = (emaUpS and emaUpM and emaUpL) and goldenOrder and above26_2days
// =========================
// MACD
// =========================
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdGC = ta.crossover(macdLine, macdSig)
macdUp = macdLine > macdLine
macdNearZero = math.abs(macdLine) <= macdZeroTh
macdGCAboveZero = macdGC and macdLine > 0 and macdSig > 0
macdMouOK = macdGC and macdNearZero and macdUp
macdBreakOK = allowMACDAboveZeroInstead ? (macdMouOK or macdGCAboveZero) : macdMouOK
// =========================
// Volume
// =========================
volMA = ta.sma(volume, volLookback)
volRatio = volMA > 0 ? (volume / volMA) : na
volumeMouOK = volRatio >= volMinRatio and volRatio <= volMaxRatio
volumeStrongOK = volRatio >= volStrong and volRatio <= volMaxRatio
// =========================
// Candle patterns
// =========================
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
pinbar = (lowerWick >= wickBodyMult * body) and (lowerWick > upperWick) and (close >= open)
bullEngulf = close > open and close < open and close >= open and open <= close
bigBull = close > open and open < emaM and close > emaS and (body > ta.sma(body, 20))
candleOK = pinbar or bullEngulf or bigBull
// =========================
// Resistance / Pullback route
// =========================
res = ta.highest(high, pivotLen)
pullbackPct = res > 0 ? (res - close) / res * 100.0 : na
pullbackOK = pullbackPct >= pullMinPct and pullbackPct <= pullMaxPct
brokeRes = ta.crossover(close, res )
barsSinceBreak = ta.barssince(brokeRes)
afterBreakZone = (barsSinceBreak >= 0) and (barsSinceBreak <= breakLookbackBars)
pullbackRouteOK = afterBreakZone and pullbackOK
// =========================
// Breakout route (押し目なし初動ブレイク)
// =========================
breakConfirm = close > res * (1.0 + breakConfirmPct / 100.0)
bullBreak = close > open
bodyMA = ta.sma(body, bigBodyLookback)
bigBodyOK = bodyMA > 0 ? (body >= bodyMA * bigBodyMult) : false
rng = math.max(high - low, syminfo.mintick)
closeNearHighOK = not requireCloseNearHigh ? true : ((high - close) / rng * 100.0 <= closeNearHighPct)
mou_breakout = useBreakoutRoute and baseTrendOK and breakConfirm and bullBreak and bigBodyOK and closeNearHighOK and volumeStrongOK and macdBreakOK
mou_pullback = baseTrendOK and volumeMouOK and candleOK and macdMouOK and pullbackRouteOK
mou = mou_pullback or mou_breakout
// =========================
// KAKU (Strict): 8条件 + 最終三点
// =========================
cond1 = emaUpS and emaUpM and emaUpL
cond2 = goldenOrder
cond3 = above26_2days
cond4 = macdGCAboveZero
cond5 = volumeMouOK
cond6 = candleOK
cond7 = pullbackOK
cond8 = pullbackRouteOK
all8_strict = cond1 and cond2 and cond3 and cond4 and cond5 and cond6 and cond7 and cond8
final3 = pinbar and macdGCAboveZero and volumeStrongOK
kaku = all8_strict and final3
// =========================
// Entry (strategy)
// =========================
entrySignal = entryMode == "KAKU only" ? kaku : (mou or kaku)
canEnter = strategy.position_size == 0
newEntryKaku = canEnter and kaku and entrySignal
newEntryMouB = canEnter and (not kaku) and mou_breakout and entrySignal
newEntryMou = canEnter and (not kaku) and mou_pullback and entrySignal
// --- Publish Assist(保険エントリー) ---
// 条件が厳しすぎて「トレード0件」だと投稿時に警告が出る。
// closedtradesが0の間だけ、軽いEMAクロスで1回だけ拾う(その後は沈黙)。
assistFast = ta.ema(close, 5)
assistSlow = ta.ema(close, 20)
assistEntry = publishAssist and strategy.closedtrades == 0 and canEnter and ta.crossover(assistFast, assistSlow)
// 実エントリー
if newEntryKaku or newEntryMouB or newEntryMou or assistEntry
strategy.entry("LONG", strategy.long)
// ラベル(視認)
if showMouLabels and newEntryMou
label.new(bar_index, low, "猛(IN)", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showMouLabels and newEntryMouB
label.new(bar_index, low, "猛B(IN)", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showKakuLabels and newEntryKaku
label.new(bar_index, low, "確(IN)", style=label.style_label_up, color=color.new(color.yellow, 0), textcolor=color.black)
if assistEntry
label.new(bar_index, low, "ASSIST(IN)", style=label.style_label_up, color=color.new(color.aqua, 0), textcolor=color.black)
// =========================
// Exit (TP/SL + 強制クローズ)
// =========================
inPos = strategy.position_size > 0
tpPx = inPos ? strategy.position_avg_price * (1.0 + tpPct/100.0) : na
slPx = inPos ? strategy.position_avg_price * (1.0 - slPct/100.0) : na
if enableTPSL
strategy.exit("TP/SL", from_entry="LONG", limit=tpPx, stop=slPx)
// 最大保有バーで強制決済(これが「レポート無し」回避の最後の保険)
var int entryBar = na
if strategy.position_size > 0 and strategy.position_size == 0
entryBar := bar_index
if strategy.position_size == 0
entryBar := na
forceClose = inPos and not na(entryBar) and (bar_index - entryBar >= maxHoldBars)
if forceClose
strategy.close("LONG")
// =========================
// 利確/損切/強制クローズのラベル
// =========================
closedThisBar = (strategy.position_size > 0) and (strategy.position_size == 0)
avgPrev = strategy.position_avg_price
tpPrev = avgPrev * (1.0 + tpPct/100.0)
slPrev = avgPrev * (1.0 - slPct/100.0)
hitTP = closedThisBar and high >= tpPrev
hitSL = closedThisBar and low <= slPrev
// 同一足TP/SL両方は厳密に判断できないので、表示は「TP優先」で簡略(投稿ギリギリ版)
if hitTP
label.new(bar_index, high, "利確", style=label.style_label_down, color=color.new(color.lime, 0), textcolor=color.black)
else if hitSL
label.new(bar_index, low, "損切", style=label.style_label_up, color=color.new(color.red, 0), textcolor=color.white)
else if closedThisBar and forceClose
label.new(bar_index, close, "時間決済", style=label.style_label_left, color=color.new(color.gray, 0), textcolor=color.white)
// =========================
// Signals (猛/猛B/確)
// =========================
plotshape(showMouLabels and mou_pullback and not kaku, title="MOU_PULLBACK", style=shape.labelup, text="猛",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showMouLabels and mou_breakout and not kaku, title="MOU_BREAKOUT", style=shape.labelup, text="猛B",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showKakuLabels and kaku, title="KAKU", style=shape.labelup, text="確",
color=color.new(color.yellow, 0), textcolor=color.black, location=lblLoc, size=size.small)
// =========================
// Alerts
// =========================
alertcondition(mou, title="MNO_MOU", message="MNO: MOU triggered")
alertcondition(mou_breakout, title="MNO_MOU_BREAKOUT", message="MNO: MOU Breakout triggered")
alertcondition(mou_pullback, title="MNO_MOU_PULLBACK", message="MNO: MOU Pullback triggered")
alertcondition(kaku, title="MNO_KAKU", message="MNO: KAKU triggered")
alertcondition(assistEntry, title="MNO_ASSIST_ENTRY", message="MNO: ASSIST ENTRY (publish safety)")
// =========================
// Status label(最終足に必ず表示)
// =========================
var label status = na
if showStatusLbl and barstate.islast
label.delete(status)
statusTxt =
"MNO RUNNING " +
"ClosedTrades: " + str.tostring(strategy.closedtrades) + " " +
"BaseTrend: " + (baseTrendOK ? "OK" : "NO") + " " +
"MOU: " + (mou ? "YES" : "no") + " (猛=" + (mou_pullback ? "Y" : "n") + " / 猛B=" + (mou_breakout ? "Y" : "n") + ") " +
"KAKU: " + (kaku ? "YES" : "no") + " " +
"VolRatio: " + (na(volRatio) ? "na" : str.tostring(volRatio, format.mintick)) + " " +
"Pull%: " + (na(pullbackPct) ? "na" : str.tostring(pullbackPct, format.mintick)) + " " +
"Pos: " + (inPos ? "IN" : "OUT")
status := label.new(bar_index, high, statusTxt, style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 0))
// =========================
// Debug table(最終足のみ)
// =========================
var table t = table.new(position.top_right, 2, 14, border_width=1, border_color=color.new(color.white, 60))
fRow(_name, _cond, _r) =>
bg = _cond ? color.new(color.lime, 70) : color.new(color.red, 80)
tx = _cond ? "OK" : "NO"
table.cell(t, 0, _r, _name, text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, _r, tx, text_color=color.white, bgcolor=bg)
if showDebugTbl and barstate.islast
table.cell(t, 0, 0, "MNO Debug", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, 0, "", text_color=color.white, bgcolor=color.new(color.black, 0))
fRow("BaseTrend", baseTrendOK, 1)
fRow("MOU Pullback", mou_pullback, 2)
fRow("MOU Breakout", mou_breakout, 3)
fRow("Break confirm", breakConfirm, 4)
fRow("Break big body", bigBodyOK, 5)
fRow("Break close high", closeNearHighOK, 6)
fRow("Break vol strong", volumeStrongOK, 7)
fRow("Break MACD", macdBreakOK, 8)
fRow("KAKU all8", all8_strict, 9)
fRow("KAKU final3", final3, 10)
fRow("AssistEntry", assistEntry, 11)
fRow("ClosedTrades>0", strategy.closedtrades > 0, 12)
Ace Algo [Anson5129]🏆 Exclusive Indicator: Ace Algo
📈 Works for stocks, forex, crypto, indices
📈 Easy to use, real-time alerts, no repaint
📈 No grid, no martingale, no hedging
📈 One position at a time
----------------------------------------------------------------------------------------
Ace Algo
A trend-following TradingView strategy using a confluence of technical indicators and time-based rules for structured long/short entries and exits:
----------------------------------------------------------------------------------------
Parameters Explanation
Moving Average Length
Indicates the number of historical data points used for the average price calculation.
Shorter = volatile (short-term trends); longer = smoother (long-term trends, less noise).
Default: 20
Entry delay in bars
After a trade is closed, delay the next entry in bars. The lower the number, the more trades you will get.
Default: 4
Take Profit delay in bars
After a trade is opened, delay the take profit in bars. The lower the number, the more trades you will get.
Default: 3
Enable ADX Filter
No order will be placed when ADX < 20
Default: Uncheck
Block Period
Set a block period during which no trading will take place.
----------------------------------------------------------------------------------------
Entry Condition:
Only Long when the price is above the moving average (Orange line).
Only Short when the price is below the moving average (Orange line).
* Also, with some hidden parameter that I set in the backend.
Exit Condition:
When getting profit:
Trailing Stop Activates after a position has been open for a set number of bars (to avoid premature exits).
When losing money:
In a long position, when the price falls below the moving average, and the conditions for a short position are met, the long position will be closed, and the short position will be opened.
In a short position, when the price rises above the moving average, and the conditions for a long position are met, the short position will be closed, and the long position will be opened.
----------------------------------------------------------------------------------------
How to get access to the strategy
Read the author's instructions on the right to learn how to get access to the strategy.
UK Public OnesideRSI + Stochastic V1 (Moderate) Strategy
This strategy combines RSI, Stochastic Oscillator, and a 50 EMA trend filter to identify moderate-risk trading opportunities in trending markets.
How it works:
Long entries occur when RSI and Stochastic are in oversold conditions while price is above the 50 EMA.
Short entries occur when RSI and Stochastic are in overbought conditions while price is below the 50 EMA.
Trades are confirmed on the previous candle, avoiding premature entries and exits.
Risk management is handled using fixed percentage stop-loss with configurable risk-to-reward targets.
Optional RSI-based exits close positions early during overbought or oversold conditions.
Key Features:
Trend-filtered entries using EMA 50
Non-repainting logic (confirmed candle signals)
Configurable stop-loss and reward ratio
Works well for scalping and intraday trading
Suitable for crypto, forex, and indices
Recommended Timeframes:
5m, 15m, 30m
Note:
This strategy is designed for educational and research purposes. Always forward-test and apply proper risk management before using in live trading.
Follow the "Smart Money" to Capture Altcoin Super-Trends這不是一套普通的趨勢策略。大多數山寨幣 (Altcoins) 的突破策略之所以失效,是因為它們忽略了市場的真實驅動力——比特幣的機構資金流向。 ITAS (Institutional Triggered Alpha System) 是一套結合了「跨市場分析」與「波動率自適應」的量化系統。
核心運作邏輯:
機構資金濾網 (Institutional Filter): 我們監控比特幣 (BTC) 在頂級合規交易所(如 Coinbase)與全球流動性池之間的資金溢價 (Premium)。這是一個領先指標,用來判斷華爾街機構是在「吸籌」還是「派發」。
精準狙擊 (Precision Trigger): 只有當監測到**「機構資金正在買入 BTC」**的時刻,系統才會解鎖山寨幣的交易權限。
拒絕假突破 (False Breakout Rejection): 透過這個濾網,我們能過濾掉市場中 80% 由散戶情緒引起的「假突破」。如果比特幣沒有機構支撐,就算山寨幣漲得再兇,本策略也會判定為雜訊而拒絕進場。
波動率適配 (Volatility Adaptation): 針對高波動資產 (High Beta Assets) 優化的動態通道,確保在劇烈洗盤中能拿住單子,吃到完整的波段利潤。
This is not an ordinary trend-following strategy. Most Altcoin breakout strategies fail because they ignore the true driver of the market—Institutional Money Flow in Bitcoin. ITAS (Institutional Triggered Alpha System) is a quantitative system that combines "Inter-market Analysis" with "Volatility Adaptation."
How It Works:
Institutional Filter: We monitor the Premium Gap of Bitcoin (BTC) between top-tier regulated exchanges (like Coinbase) and global liquidity pools. This serves as a leading indicator to determine whether Wall Street institutions are "Accumulating" or "Distributing."
Precision Trigger: The system only unlocks trading permissions for Altcoins when it detects "Institutional Buying in BTC."
False Breakout Rejection: Through this filter, we effectively filter out 80% of "False Breakouts" driven solely by retail sentiment. If there is no institutional support behind Bitcoin, the strategy will identify any Altcoin pump as noise and refuse to enter.
Volatility Adaptation: Features a dynamic channel optimized for High Beta Assets, ensuring positions are held through aggressive shakeouts to capture the full trend.
免責聲明 (Disclaimer)
補充說明: 以上策略績效源自歷史數據回測,不代表對未來獲利的保證。加密貨幣市場風險極高,本策略僅供量化研究與邏輯分享,使用者應自行評估風險並自負盈虧,本人不承擔任何交易損失。
Disclaimer: The performance above is based on historical backtesting and does not guarantee future results. Cryptocurrency trading involves high risk. This strategy is shared for quantitative research and educational purposes only. Users are solely responsible for their own risk assessment and PnL. I assume no liability for any trading losses incurred.
TDZZ ETH 15min Vault: No-Loss Martin Gale StrategyStrategy Overview
The ETH 15min Vault is an enhanced, high-frequency Martin Gale strategy designed specifically for Ethereum on the 15-minute chart. Its core innovation lies in integrating pre-calculated margin management with a multi-layer exit system, transforming the traditional high-risk Martingale approach into a controlled, calculated growth engine. The strategy aims for sustainable compound growth of small capitals (e.g., 1000U) in ranging markets while systematically eliminating the risk of account blow-up.
Core Concept: The "No-Loss" Guarantee
Unlike conventional Martingale systems that risk infinite losses, this strategy pre-calculates and logically reserves the total margin required for all potential layers (configurable, e.g., up to 30) at the initial entry. This ensures sufficient capital is always available for the next averaging order, preventing liquidation due to margin shortage. Combined with intelligent, proactive take-profit and safety-net closures, it creates a theoretically "No-Loss" framework for the Martin Gale method.
Key Mechanisms
1、Smart Position Averaging:
Averaging distances expand geometrically (configurable multiplier), preventing rapid layer depletion during sharp drops.
Averaging order size increases progressively (configurable multiplier) to effectively lower the break-even point.
2、Dynamic Multi-Stage Exit Logic:
Rebound TP: Partially closes a position when price rebounds a certain percentage from its entry, locking in profits early during oscillations.
Cycle TP: Closes the remaining position upon reaching the primary profit target, which is dynamically recalculated after each average to reflect the new aggregate cost.
Safety-Net Close (Defense Mode): Activates after a defined number of averages. Triggers a full exit if price: a) rallies significantly from the lowest point, b) retraces from a recent high, or c) fails to make a new low within a set time. This forms the final protective layer for capital preservation.
Main Advantages
✅ True Risk Isolation: Transforms Martingale's "unlimited risk" into a "defined and manageable drawdown" via pre-calculated margins and safety-net exits.
✅ Active Profit Capture: The "Rebound TP" mechanism increases win rate and capital efficiency in ranging markets.
✅ Adaptive to Volatility: Adjustable parameters for averaging distance and size allow tuning for different market conditions.
✅ High-Frequency Compounding Potential: Operates on the 15-min timeframe, offering numerous opportunities to complete profit cycles in consolidating phases.
Configuration & Parameters
Key adjustable inputs include: Initial Capital %, Averaging Distance % and Multiplier, Order Size Multiplier, Max Layers, Take-Profit %, Rebound Close %, and all Defense Mode thresholds.
This strategy significantly reduces liquidation risk through its design but does not eliminate trading risk. Substantial drawdowns can occur during strong, sustained trends. "No-Loss" refers to prevention of margin-call liquidation, not guaranteed profitability. Always conduct thorough backtesting and forward testing in a simulated environment before committing real capital. Past performance is not indicative of future results. Trade responsibly.
just takesi TimeMNO_2Step_Strategy_MOU_KAKU (Publish-Clear)//@version=5
strategy("MNO_2Step_Strategy_MOU_KAKU (Publish-Clear)", overlay=true, pyramiding=0,
max_labels_count=500, max_lines_count=500,
initial_capital=100000,
default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// =========================
// Inputs
// =========================
emaSLen = input.int(5, "EMA Short (5)")
emaMLen = input.int(13, "EMA Mid (13)")
emaLLen = input.int(26, "EMA Long (26)")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
macdZeroTh = input.float(0.2, "MOU: MACD near-zero threshold", step=0.05)
volLookback = input.int(5, "Volume MA days", minval=1)
volMinRatio = input.float(1.3, "MOU: Volume ratio min", step=0.1)
volStrong = input.float(1.5, "Strong volume ratio (Breakout/KAKU)", step=0.1)
volMaxRatio = input.float(3.0, "Volume ratio max (filter)", step=0.1)
wickBodyMult = input.float(2.0, "Pinbar: lowerWick >= body*x", step=0.1)
pivotLen = input.int(20, "Resistance lookback", minval=5)
pullMinPct = input.float(5.0, "Pullback min (%)", step=0.1)
pullMaxPct = input.float(15.0, "Pullback max (%)", step=0.1)
breakLookbackBars = input.int(5, "Pullback route: valid bars after break", minval=1)
// --- Breakout route (押し目なし初動ブレイク) ---
useBreakoutRoute = input.bool(true, "Enable MOU Breakout Route (no pullback)")
breakConfirmPct = input.float(0.3, "Break confirm: close > R*(1+%)", step=0.1)
bigBodyLookback = input.int(20, "Break candle body MA length", minval=5)
bigBodyMult = input.float(1.2, "Break candle: body >= MA*mult", step=0.1)
requireCloseNearHigh = input.bool(true, "Break candle: close near high")
closeNearHighPct = input.float(25.0, "Close near high threshold (% of range)", step=1.0)
allowMACDAboveZeroInstead = input.bool(true, "Breakout route: allow MACD GC above zero instead")
// 表示
showEMA = input.bool(true, "Plot EMAs")
showMouLabels = input.bool(true, "Show MOU/MOU-B labels")
showKakuLabels = input.bool(true, "Show KAKU labels")
showDebugTbl = input.bool(true, "Show debug table (last bar)")
showStatusLbl = input.bool(true, "Show status label (last bar always)")
locChoice = input.string("Below Bar", "Label location", options= )
lblLoc = locChoice == "Below Bar" ? location.belowbar : location.abovebar
// =========================
// 必ず決済が起きる設定(投稿クリア用)
// =========================
enableTPSL = input.bool(true, "Enable TP/SL")
tpPct = input.float(2.0, "Take Profit (%)", step=0.1, minval=0.1) // ←投稿クリア向けに近め
slPct = input.float(1.0, "Stop Loss (%)", step=0.1, minval=0.1) // ←投稿クリア向けに近め
maxHoldBars = input.int(30, "Max bars in trade (force close)", minval=1)
entryMode = input.string("MOU or KAKU", "Entry trigger", options= )
// ✅ 保険:トレード0件を避ける(投稿クリア用)
// 1回でもクローズトレードができたら自動で沈黙
publishAssist = input.bool(true, "Publish Assist (safety entry if 0 trades)")
// =========================
// EMA
// =========================
emaS = ta.ema(close, emaSLen)
emaM = ta.ema(close, emaMLen)
emaL = ta.ema(close, emaLLen)
plot(showEMA ? emaS : na, color=color.new(color.yellow, 0), title="EMA 5")
plot(showEMA ? emaM : na, color=color.new(color.blue, 0), title="EMA 13")
plot(showEMA ? emaL : na, color=color.new(color.orange, 0), title="EMA 26")
emaUpS = emaS > emaS
emaUpM = emaM > emaM
emaUpL = emaL > emaL
goldenOrder = emaS > emaM and emaM > emaL
above26_2days = close > emaL and close > emaL
baseTrendOK = (emaUpS and emaUpM and emaUpL) and goldenOrder and above26_2days
// =========================
// MACD
// =========================
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdGC = ta.crossover(macdLine, macdSig)
macdUp = macdLine > macdLine
macdNearZero = math.abs(macdLine) <= macdZeroTh
macdGCAboveZero = macdGC and macdLine > 0 and macdSig > 0
macdMouOK = macdGC and macdNearZero and macdUp
macdBreakOK = allowMACDAboveZeroInstead ? (macdMouOK or macdGCAboveZero) : macdMouOK
// =========================
// Volume
// =========================
volMA = ta.sma(volume, volLookback)
volRatio = volMA > 0 ? (volume / volMA) : na
volumeMouOK = volRatio >= volMinRatio and volRatio <= volMaxRatio
volumeStrongOK = volRatio >= volStrong and volRatio <= volMaxRatio
// =========================
// Candle patterns
// =========================
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
pinbar = (lowerWick >= wickBodyMult * body) and (lowerWick > upperWick) and (close >= open)
bullEngulf = close > open and close < open and close >= open and open <= close
bigBull = close > open and open < emaM and close > emaS and (body > ta.sma(body, 20))
candleOK = pinbar or bullEngulf or bigBull
// =========================
// Resistance / Pullback route
// =========================
res = ta.highest(high, pivotLen)
pullbackPct = res > 0 ? (res - close) / res * 100.0 : na
pullbackOK = pullbackPct >= pullMinPct and pullbackPct <= pullMaxPct
brokeRes = ta.crossover(close, res )
barsSinceBreak = ta.barssince(brokeRes)
afterBreakZone = (barsSinceBreak >= 0) and (barsSinceBreak <= breakLookbackBars)
pullbackRouteOK = afterBreakZone and pullbackOK
// =========================
// Breakout route (押し目なし初動ブレイク)
// =========================
breakConfirm = close > res * (1.0 + breakConfirmPct / 100.0)
bullBreak = close > open
bodyMA = ta.sma(body, bigBodyLookback)
bigBodyOK = bodyMA > 0 ? (body >= bodyMA * bigBodyMult) : false
rng = math.max(high - low, syminfo.mintick)
closeNearHighOK = not requireCloseNearHigh ? true : ((high - close) / rng * 100.0 <= closeNearHighPct)
mou_breakout = useBreakoutRoute and baseTrendOK and breakConfirm and bullBreak and bigBodyOK and closeNearHighOK and volumeStrongOK and macdBreakOK
mou_pullback = baseTrendOK and volumeMouOK and candleOK and macdMouOK and pullbackRouteOK
mou = mou_pullback or mou_breakout
// =========================
// KAKU (Strict): 8条件 + 最終三点
// =========================
cond1 = emaUpS and emaUpM and emaUpL
cond2 = goldenOrder
cond3 = above26_2days
cond4 = macdGCAboveZero
cond5 = volumeMouOK
cond6 = candleOK
cond7 = pullbackOK
cond8 = pullbackRouteOK
all8_strict = cond1 and cond2 and cond3 and cond4 and cond5 and cond6 and cond7 and cond8
final3 = pinbar and macdGCAboveZero and volumeStrongOK
kaku = all8_strict and final3
// =========================
// Entry (strategy)
// =========================
entrySignal = entryMode == "KAKU only" ? kaku : (mou or kaku)
canEnter = strategy.position_size == 0
newEntryKaku = canEnter and kaku and entrySignal
newEntryMouB = canEnter and (not kaku) and mou_breakout and entrySignal
newEntryMou = canEnter and (not kaku) and mou_pullback and entrySignal
// --- Publish Assist(保険エントリー) ---
// 条件が厳しすぎて「トレード0件」だと投稿時に警告が出る。
// closedtradesが0の間だけ、軽いEMAクロスで1回だけ拾う(その後は沈黙)。
assistFast = ta.ema(close, 5)
assistSlow = ta.ema(close, 20)
assistEntry = publishAssist and strategy.closedtrades == 0 and canEnter and ta.crossover(assistFast, assistSlow)
// 実エントリー
if newEntryKaku or newEntryMouB or newEntryMou or assistEntry
strategy.entry("LONG", strategy.long)
// ラベル(視認)
if showMouLabels and newEntryMou
label.new(bar_index, low, "猛(IN)", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showMouLabels and newEntryMouB
label.new(bar_index, low, "猛B(IN)", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showKakuLabels and newEntryKaku
label.new(bar_index, low, "確(IN)", style=label.style_label_up, color=color.new(color.yellow, 0), textcolor=color.black)
if assistEntry
label.new(bar_index, low, "ASSIST(IN)", style=label.style_label_up, color=color.new(color.aqua, 0), textcolor=color.black)
// =========================
// Exit (TP/SL + 強制クローズ)
// =========================
inPos = strategy.position_size > 0
tpPx = inPos ? strategy.position_avg_price * (1.0 + tpPct/100.0) : na
slPx = inPos ? strategy.position_avg_price * (1.0 - slPct/100.0) : na
if enableTPSL
strategy.exit("TP/SL", from_entry="LONG", limit=tpPx, stop=slPx)
// 最大保有バーで強制決済(これが「レポート無し」回避の最後の保険)
var int entryBar = na
if strategy.position_size > 0 and strategy.position_size == 0
entryBar := bar_index
if strategy.position_size == 0
entryBar := na
forceClose = inPos and not na(entryBar) and (bar_index - entryBar >= maxHoldBars)
if forceClose
strategy.close("LONG")
// =========================
// 利確/損切/強制クローズのラベル
// =========================
closedThisBar = (strategy.position_size > 0) and (strategy.position_size == 0)
avgPrev = strategy.position_avg_price
tpPrev = avgPrev * (1.0 + tpPct/100.0)
slPrev = avgPrev * (1.0 - slPct/100.0)
hitTP = closedThisBar and high >= tpPrev
hitSL = closedThisBar and low <= slPrev
// 同一足TP/SL両方は厳密に判断できないので、表示は「TP優先」で簡略(投稿ギリギリ版)
if hitTP
label.new(bar_index, high, "利確", style=label.style_label_down, color=color.new(color.lime, 0), textcolor=color.black)
else if hitSL
label.new(bar_index, low, "損切", style=label.style_label_up, color=color.new(color.red, 0), textcolor=color.white)
else if closedThisBar and forceClose
label.new(bar_index, close, "時間決済", style=label.style_label_left, color=color.new(color.gray, 0), textcolor=color.white)
// =========================
// Signals (猛/猛B/確)
// =========================
plotshape(showMouLabels and mou_pullback and not kaku, title="MOU_PULLBACK", style=shape.labelup, text="猛",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showMouLabels and mou_breakout and not kaku, title="MOU_BREAKOUT", style=shape.labelup, text="猛B",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showKakuLabels and kaku, title="KAKU", style=shape.labelup, text="確",
color=color.new(color.yellow, 0), textcolor=color.black, location=lblLoc, size=size.small)
// =========================
// Alerts
// =========================
alertcondition(mou, title="MNO_MOU", message="MNO: MOU triggered")
alertcondition(mou_breakout, title="MNO_MOU_BREAKOUT", message="MNO: MOU Breakout triggered")
alertcondition(mou_pullback, title="MNO_MOU_PULLBACK", message="MNO: MOU Pullback triggered")
alertcondition(kaku, title="MNO_KAKU", message="MNO: KAKU triggered")
alertcondition(assistEntry, title="MNO_ASSIST_ENTRY", message="MNO: ASSIST ENTRY (publish safety)")
// =========================
// Status label(最終足に必ず表示)
// =========================
var label status = na
if showStatusLbl and barstate.islast
label.delete(status)
statusTxt =
"MNO RUNNING " +
"ClosedTrades: " + str.tostring(strategy.closedtrades) + " " +
"BaseTrend: " + (baseTrendOK ? "OK" : "NO") + " " +
"MOU: " + (mou ? "YES" : "no") + " (猛=" + (mou_pullback ? "Y" : "n") + " / 猛B=" + (mou_breakout ? "Y" : "n") + ") " +
"KAKU: " + (kaku ? "YES" : "no") + " " +
"VolRatio: " + (na(volRatio) ? "na" : str.tostring(volRatio, format.mintick)) + " " +
"Pull%: " + (na(pullbackPct) ? "na" : str.tostring(pullbackPct, format.mintick)) + " " +
"Pos: " + (inPos ? "IN" : "OUT")
status := label.new(bar_index, high, statusTxt, style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 0))
// =========================
// Debug table(最終足のみ)
// =========================
var table t = table.new(position.top_right, 2, 14, border_width=1, border_color=color.new(color.white, 60))
fRow(_name, _cond, _r) =>
bg = _cond ? color.new(color.lime, 70) : color.new(color.red, 80)
tx = _cond ? "OK" : "NO"
table.cell(t, 0, _r, _name, text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, _r, tx, text_color=color.white, bgcolor=bg)
if showDebugTbl and barstate.islast
table.cell(t, 0, 0, "MNO Debug", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, 0, "", text_color=color.white, bgcolor=color.new(color.black, 0))
fRow("BaseTrend", baseTrendOK, 1)
fRow("MOU Pullback", mou_pullback, 2)
fRow("MOU Breakout", mou_breakout, 3)
fRow("Break confirm", breakConfirm, 4)
fRow("Break big body", bigBodyOK, 5)
fRow("Break close high", closeNearHighOK, 6)
fRow("Break vol strong", volumeStrongOK, 7)
fRow("Break MACD", macdBreakOK, 8)
fRow("KAKU all8", all8_strict, 9)
fRow("KAKU final3", final3, 10)
fRow("AssistEntry", assistEntry, 11)
fRow("ClosedTrades>0", strategy.closedtrades > 0, 12)
Coinbase Institutional Flow Alpha1. 核心概念 (The Core Concept)
這不是一套傳統看圖形(如 RSI 或 MACD)的技術指標策略,而是一套基於**「籌碼面」與「市場微結構」的量化系統。 比特幣市場存在兩個平行世界:美國機構投資者(主要使用 Coinbase 美元對)與全球散戶**(主要使用 Binance USDT 對)。這套策略的核心邏輯在於捕捉這兩者之間的**「定價效率落差」**。
This is not a traditional technical analysis strategy based on lagging indicators like RSI or MACD. Instead, it is a quantitative system based on Order Flow and Market Microstructure. The Bitcoin market consists of two parallel worlds: US Institutional Investors (trading on Coinbase USD pairs) and Global Retail Investors (trading on Binance USDT pairs). The core logic of this strategy is to capture the pricing inefficiency gap between these two liquidity pools.
2. 運作原理 (How It Works)
Smart Money 追蹤: 當機構開始大舉買入時,Coinbase 的價格往往會比 Binance 出現短暫且顯著的「溢價(Premium)」。這通常是行情的領先指標。
統計套利模型: 我們開發了一套獨家的演算法,24 小時監控這個溢價缺口的變化。只有當溢價偏離程度達到特定的**統計學異常值(Statistical Anomaly)**時,系統才會判定為「機構進場信號」並執行交易。
過濾雜訊: 我們只抓取真正由資金推動的大趨勢,過濾掉市場上 80% 的無效波動。
Smart Money Tracking: When institutions accumulate heavily, the price on Coinbase often trades at a significant "Premium" compared to Binance. This serves as a powerful leading indicator for price trends.
Statistical Arbitrage Model: We utilize a proprietary algorithm that monitors this premium gap 24/7. Only when the gap deviation hits a specific Statistical Anomaly, does the system identify it as an "Institutional Entry Signal" and execute the trade.
Noise Filtering: The strategy is designed to capture significant trends driven by real capital flow, effectively filtering out 80% of random market noise.
免責聲明 (Disclaimer)
補充說明: 以上策略不保證獲利,僅提供量化交易的想法與實驗數據參考。請注意,市場沒有聖杯,交易結果盈虧自負,本人不承擔任何因使用此策略而產生的資金損失。
Disclaimer: The above strategy does not guarantee profits and is provided solely for sharing quantitative ideas and experimental data. Please note that there is no "Holy Grail" in trading. You are solely responsible for your own PnL, and I assume no liability for any financial losses incurred.
Session Sweep Strategy V3Johannes Spezial FVG Indikator :-) zur erkennung von FVG zu definierbaren Sessionzeiten.
Wavelet Candlestick Slope Follower-Master Edition Here is a short description of this script:
This is a **Trend Following strategy** that utilizes advanced mathematics—the **Wavelet Transform**—to filter out market noise.
**Key Features:**
1. **Synthetic Candles:** The script does not analyze raw prices. Instead, it constructs "Wavelet Candles"—smoothed candles created through mathematical convolution of prices with a specific wavelet "kernel" (e.g., Mexican Hat, Morlet, Haar).
2. **Auto-Correction (Normalization):** This is the most critical technical feature of this code. The script automatically normalizes the weights. This ensures that even when using complex mathematical shapes (like the Mexican Hat), the output price remains accurate to the real chart scale and is not distorted.
3. **Strategy Logic:** The logic is very straightforward—the system enters a **Long** position when the smoothed closing price (`w_close`) is rising, and closes the position when it starts to fall.
4. **Visualization:** It draws new, cleaner candles (green/red) on the chart, revealing the "true" trend structure after filtering out temporary fluctuations.
This is a example of use idea of wavelet candle
Daily Dynamic Grid StrategyHi everyone,
This strategy is built around a dynamic daily grid concept, using an upper and lower daily range that is automatically divided into multiple grid levels.
The idea is to take advantage of daily volatility by executing DCA entries on specific grid levels, based on predefined conditions.
Key points of the strategy & feature:
I recommend using 1H or 2H timeframe for this strategy
Take profit by grid
When DCA is active (>1 entry), the exit condition switches to close above the average price
A hard stop loss is applied
Includes an optional Trailing TP / SL to help maximize profit during strong moves
Like most DCA-based strategies, it tends to have a high win rate, but during strong market dumps, losses can become relatively large
Can also be used for backtest on Forex markets such as Gold, where using the trailing option is generally more effective
And still trial for the webhook, may continue to improve and update this strategy in future versions.
8/20 Pyramid. Adjustable Hard stopsEnters a trade on flip down or flip up of the EMAS, closes below the slow ema. Adds on tag of the fast ema.
Kairos Bands [v1.1]Overview
The Kairos Bands Strategy is a highly modular trading system designed to identify high probability entry points based on volatility exhaustion and momentum shifts... It is built with a proprietary core algorithm that detects when price has extended too far from its mean, but it is wrapped in a Confluence Cloud that allows the user to filter these signals through nine different secondary indicators...
This is not just a static strategy... It is a framework that allows you to build your own edge by toggling specific filters on and off to match current market conditions...
1... The Chameleon Feature (Trend or Reversal)
One of the most powerful features of Kairos Bands is the Inverse Trades logic...
Reversal Mode (Default): By default, the strategy looks for price exhaustion... It buys when the market is oversold and sells when the market is overbought... This is ideal for ranging markets or catching tops and bottoms...
Trend Following Mode (Inversed): By checking the Inverse Trades box in the settings, the logic flips completely... A Buy signal becomes a Sell and vice versa... This transforms the strategy into a breakout or trend following system, entering trades in the direction of the momentum rather than against it...
2... The Confluence Cloud
While the core trigger is based on proprietary volatility calculations, the user has full control over how strictly those trades are filtered... You can toggle any of the following 9 momentum filters independently for both Long and Short setups...
RSI (Relative Strength Index)
Stochastic Oscillator
CCI (Commodity Channel Index)
Williams %R
MFI (Money Flow Index)
CMO (Chande Momentum Oscillator)
Fisher Transform
Ultimate Oscillator
ROC (Rate of Change)
For example, you can require RSI and MFI to agree with the main signal for Longs, but only require Stochastic for Shorts... This allows for granular tuning...
3... Trend Bias & Time Management
To further refine entries, the strategy includes:
EMA Trend Filter: An optional dual EMA system (Fast vs Slow) that forces the strategy to only trade in the direction of the dominant trend...
Precision Time Filtering: You can define exact start and end times (down to the minute) for entries...
No Trade Zone (NTZ): A specific time window where the strategy is forbidden from holding positions... If a trade is open when the NTZ begins, it is immediately force closed to avoid volatility events or market closes...
4... Risk Management
The strategy moves away from vague percentage based stops and uses precision point based targeting...
Fixed Points: Set your Take Profit and Stop Loss in exact price points...
Signal Skipping: An optional feature to cool down the strategy after a trade closes, forcing it to skip a set number of subsequent signals to avoid over trading...
5... Professional Analytics Dashboard
The visual overlay provides a detailed Heads Up Display (HUD) containing institutional grade metrics...
Strategy Grade: An automatic A through F grading system based on the Win Rate Differential (how much better the strategy performs compared to a breakeven coin flip)...
Streak Analysis: Tracks the maximum and average consecutive wins and losses to help you understand the psychological drawdown risk...
Rolling PnL: A secondary dashboard tracks your hypothetical Net PnL over the last 7 trading days and the last 12 months, giving you a clear view of short term and long term performance...
Daily High/Low Breakout Strategy v2Long and Short trade signal strategy, connects via API key to any exchange, can be used as an indicator. Based on the break of maximum and minimum levels. preferred timeframe 5 minutes.
CRYPTO HELPERThis works on most large crypto currencies and beats a buy a hold strategy for the most part
it can work for some volatile stocks as well.
Try it out and adjust but 1 day seems to work best for time frames
S&P 500: 300-Day Trend FollowerSIMPLE STRAT FOR MACRO ETFs
The 300-day Moving Average is a very slow, long-term filter.
Pros: It keeps you in the market during massive bull runs (like 2013-2019) without shaking you out on minor dips.
Cons: It is slow to react. If the market crashes fast (like COVID in 2020), price might drop 15-20% before it crosses the line and tells you to sell.
POWER STRATEGY - Perfect for Meme Coins by OeZkAN📈 POWER STRATEGY - PRO EXTENDED FILTER (NO FIB ATR, TUNABLE)
This is a comprehensive, multi-layered trend-following strategy designed for Pine Script v5. It is built around a core EMA Re-Test entry logic, significantly enhanced by multiple, optional filters for Conviction, Volatility, Multi-Timeframe (MTF) Alignment, and Price Action Context (like FVAG, Divergence, Mobility, and LSOB), making it highly customizable and robust.
🌟 Core Logic & Trend Filtering
The strategy aims to trade pullbacks/re-tests toward a primary Exponential Moving Average (EMA).
Primary Trend Filter (EMA): An adjustable EMA (default 50) determines the dominant trend.
Long Condition: Price is above the EMA.
Short Condition: Price is below the EMA.
Re-Test Entry: An entry signal is generated when the price briefly touches or crosses the EMA (the "Re-Test") but immediately rejects it and closes back on the trend side (e.g., a candle's low hits the EMA, but it closes bullishly above it).
Confirmation (Optional): The useConfirmation setting enforces a waiting period (confirmationBars) after the initial re-test to ensure the price moves a minimum distance (confirmationThreshold, measured in multiples of ATR) away from the re-test low/high, confirming the bounce strength.
🎯 Advanced Filter Stack (The 'Extended Filter')
This strategy integrates multiple optional filters, providing a high degree of control over trade quality. All filters use the ATR (Average True Range) for dynamic, volatility-adjusted calculations.
Volatility Filter: Ensures the market is neither too calm (minVolatility) nor too excessively volatile (maxVolatility) by comparing the current ATR to a long-term SMA of the ATR.
Conviction Score & MTF Alignment:
Conviction Score: A weighted score (max 6 points) combining the primary EMA trend (2 points) and alignment across three user-defined Multi-Timeframes (MTF TF1, TF2, TF3, 1 point each).
MTF Agreement: Requires a minimum number of timeframes (minTFAgreement) to agree with the entry direction. The Entry Conviction Level (minConvictionEntry) then acts as the final quality gate.
FVAG Filter (Fair Value Area Gap): Uses an SMA and ATR-based bands to identify when the price is pulling back into a 'Fair Value Area' (similar to Mean Reversion context) to align entries with high-probability reversal zones.
Pro Mobility Score (Optional): Measures the size of the current bar range relative to the average bar range over a mobilityLength period. Used to ensure sufficient current market movement for an effective trade.
LSOB Filter (Last Stagnant Order Block - simplified): Tries to detect if the price is near a recent low-volatility consolidation zone, filtering for potential breakout/continuation trades from these areas.
Divergence Filter (Optional): Uses RSI to check for Bullish or Bearish Divergence, aiming to align entries with underlying momentum shifts.
🛡️ Risk Management & Controllers
Dynamic TP/SL: Take Profit (TP1, TP2, TP3) and Stop Loss (SL) levels are dynamically calculated as multiples of the current ATR value.
Minimum R:R Ratio: The strategy blocks entries where the calculated Risk-to-Reward ratio (based on SL to TP1) is below a user-defined threshold (minRiskReward).
Trailing Stop: When activated (useTrailing), the stop-loss is moved to Breakeven after TP1 is hit, with an additional buffer (beBuffer x ATR). The stop then trails the price by a defined trailingDistance x ATR.
Auto-Fix Controllers: A unique feature designed to increase stability. The controllers monitor for core anomalies (errorMonitor) and calculation issues (calcIntegrity). In auto_fix mode, they apply non-intrusive fixes (e.g., temporarily relaxing the minConvictionEntry or disabling trailing stop if errors are detected) and can block entries for severe issues (safetyBlock).
🛠️ Customization and Use
This strategy is highly tunable. Users can selectively enable/disable filters to adapt the logic to different market conditions or assets.
Grouped Inputs: Inputs are logically grouped for easy adjustment of Trend, Volatility, Confirmation, Entry, TP/SL, Trailing, and various Filter settings.
Debug Mode: Enables detailed on-chart labels for internal variables (Conviction Score, Volatility, etc.) to aid in backtesting and optimization.
📢 Check Out My Other Work!
If you find this strategy valuable, please take a moment to explore my profile on TradingView. I have developed several other unique and robust Pine Script strategies and indicators focused on combining multiple data layers (price action, volume, volatility, and order flow concepts) into high-probability trading models.
They are definitely worth a look for any serious trader!
Disclaimer
This script is for educational and testing purposes only. Trading involves significant risk, and past performance is not indicative of future results.
BRT Support MA [STRATEGY] v2BRT Support MA Strategy v2 - Dynamic Support Line Strategy
📊 Strategy Description
BRT Support MA Strategy v2 is an automated trading strategy based on the analysis of dynamic support and resistance levels using volatility calculations on higher timeframes. The strategy is designed to identify key trend reversal moments and enter positions with optimal risk-to-reward ratios.
🎯 Key Features
Unique strategy characteristics:
1. Multi-Timeframe Volatility Analysis - indicators are calculated on a user-selected timeframe, which allows filtering market noise and obtaining more reliable signals
2. Adaptive Hedging System - a unique algorithm for dynamic position volume calculation during reversals, which accounts for current drawdown and automatically adjusts order size for optimal risk management
3. Visual Trend Indication - dynamic color change of the main line (green = uptrend, red = downtrend) for quick assessment of current market conditions
4. Automatic Signal Markers - the strategy marks trend change moments on the chart with arrows for convenient analysis
5. Limit Orders - entries into positions occur via limit orders at key levels, ensuring better price execution
⚙️ Strategy Settings
Support MA Length - calculation period for the main support/resistance line
Support MA Timeframe - timeframe for indicator calculations (can be set higher than current for noise filtering)
TP (%) - take profit percentage from entry point
SL (%) - stop loss percentage from entry point
Hedge Multiplier - volume multiplier for hedging positions during reversals
📈 Operating Logic
The strategy analyzes the relationship between two dynamic levels calculated based on market volatility. When price breaks through the main support level in the direction of the trend:
Long positions are opened when the main indicator is in an uptrend and price breaks above it
Short positions are opened when the main indicator is in a downtrend and price breaks below it
When there is an open position and an opposite signal forms, the strategy automatically calculates the optimal volume for a hedging position based on the percentage price movement and the set take profit.
🎨 Visual Elements
Blue/Green/Red line - main dynamic support/resistance level (color changes depending on current trend)
Green arrows down ▼ - uptrend reversal signals
Red arrows up ▲ - downtrend reversal signals
TP and SL - displayed in data window for current open position
💡 Usage Recommendations
Test the strategy on historical data of different instruments before use
Optimize parameters for the specific trading instrument and timeframe
Configure TP/SL parameters according to your trading system and risk tolerance
Hedge Multiplier controls hedging system aggressiveness - start with conservative values
⚠️ DISCLAIMER
IMPORTANT! PLEASE READ BEFORE USE:
This script is provided for educational and research purposes only . It is intended for testing on historical data and studying algorithmic trading approaches.
The author is NOT responsible for:
Any financial losses incurred as a result of using this strategy
Trading results in real-time or on demo accounts
Losses arising from incorrect parameter configuration
Technical failures, slippage, and other market conditions
Trading involves a high level of risk and is not suitable for all investors. You can lose all of your invested capital. Do not invest money you cannot afford to lose.
Before starting real trading:
Conduct thorough testing on historical data
Ensure you fully understand the strategy's operating logic
Consult with a financial advisor
Consider broker commissions and slippage
Start with minimum volumes
Past performance does not guarantee future profitability. Use of the strategy is at your own risk.
© MaxBRFZCO | Version 2.0 | Pine Script v5
For questions and suggestions, please use comments under the publication
Daily High Breakout Strategy v2Long trade signal strategy, connects via API key to any exchange, can be used as an indicator. Based on breakout, rebound from daily highs.
[Backtest Crypto] Cross MAThis script is designed for testing the moving average crossover strategy.
Script settings:
Select testing range
Indicator settings: Select moving average type (EMA, SMA, WMA, SMMA, HMA) and period
Trade management: Select risk-to-reward ratio, stop-loss defined as min/max for a certain number of candles (you can set a desired number), option to partially lock in a position by moving the stop-loss to breakeven, trailing stop, or close a position on an opposite signal.
Option to limit the stop-loss by ATR to prevent it from becoming too large during volatile movements.
===============================================================
Скрипт предназначен для тестирования стратегии пересечение скользящих средних.
Настройки скрипта:
Выбор диапазона тестирования
Настройки индикатора: выбор типа скользящей (EMA, SMA, WMA, SMMA, HMA) и периода
Сопровождение сделки: выбор соотношения риска к прибыли, стоп-лосс определяется как мин/мах за определенное количество свечей (можно устанавливать желаемое количество), возможность частичной фиксации позиции с переносом стоп-лосса в безубыток, трейлинг-стоп, или закрытие позиции по противоположному сигналу.
Возможность ограничения стоп-лосса по ATR, чтобы при волатильных движениях он не был слишком большим.






















