The 10-Month Moving Average Strategy: A Guide to Trading Long or Cash

Video: The Easiest Trading Strategy Ever Built
Creator: Etienne Crete – Desire To TRADE
Original Video: Watch the original video

The Big Idea

The video describes a deliberately slow decision rule: compare an asset’s completed monthly closing price with its 10-month simple moving average. Hold the asset when the close is above the average; move to cash when it closes below.

The mental model is monthly close → trend regime → asset or cash. The strategy reacts to a broad price trend. It does not need to forecast the next month, identify an exact bottom, or make a trading decision every day.

Etienne credits the underlying approach to Meb Faber’s research. He presents it on several assets and emphasizes using a basket rather than relying on one instrument. Our code isolates the single-asset rule first; a basket requires a separate allocation and portfolio-accounting model.

Simple rules reduce decision complexity. They do not eliminate losses, uncertainty, or the patience required to follow a system through repeated false signals.

If You Remember Only One Thing

The moving average is a monthly exposure rule-not a guaranteed loss limit or a prediction of what happens next.

60-Second Summary

  • Use monthly candles and a 10-period simple moving average: ten monthly closes, not ten daily closes.
  • Read the signal after the month completes, not while its candle is still forming.
  • A close above the average supports holding a long position.
  • A close below it calls for moving to cash in the research-style version described.
  • Short selling is mentioned as an alternative, but changes the strategy and its risks.
  • Sideways markets can generate repeated entries and exits, known as whipsaws.
  • A basket can spread exposure across assets, but correlations and allocation rules still matter.
  • The reported results lack enough supplied settings for independent reproduction.
  • Our baseline includes costs and next-available-tick execution; no performance results are claimed.

Why a 10-Month Average Changes the Question

A simple moving average is the arithmetic mean of recent closes. At the end of month t, the 10-month SMA equals (Ct + Ct−1 + … + Ct−9) ÷ 10. This definition includes the current month’s completed close.

Instead of asking whether the asset will rise tomorrow, the rule asks whether its latest month-end price is above or below this recent average. That is a measurable condition, and two people using the same data and settings should obtain the same signal.

The average moves too. An asset can fall below it because price fell, because the average rose as an old low close left the window, or because both changed. The signal is a relationship between two quantities, not a fixed support line.

The transcript briefly mixes daily and monthly chart wording. Its demonstrated rule and low-frequency schedule are monthly, so this guide uses a 10-month SMA. A daily 10-period average would be a different experiment.

An Original Calculation

Suppose nine earlier monthly closes sum to 900 and this month closes at 108. The new ten-month average is (900 + 108) ÷ 10 = 100.8. The close of 108 is above it, so the long-or-cash rule favors long exposure.

Next month, an old close of 95 leaves the window and the new close is 99. The new total is 1,008 − 95 + 99 = 1,012, so the average becomes 101.2. The close of 99 is below it. The rule now calls for cash, despite the previous month’s bullish signal.

Nothing in that arithmetic specifies the eventual sell price. The next available market price can be different from 99.

A Monthly Signal Requires a Completed Month

A price briefly falling below the line midmonth is not the same as a month-end close below it. If you act on unfinished monthly candles, you are testing another strategy.

At the completed monthly closeAlready in cashAlready long
Close above SMASubmit a buy orderRemain long
Close below SMARemain in cashSubmit an exit order
Close equals SMARemain in cashRemain long

The equality rule is ours because the transcript does not specify it. Our baseline also enters if the first eligible month is already above the average; it does not require waiting for a later crossing. That initializes the stated long-or-cash regime consistently.

A practical research checklist is: confirm the month has closed, check the correct timeframe and SMA length, record the relationship, compare it with your existing position, submit only the required change, and record the actual fill. One monthly review does not mean one trade every month.

Long-or-Cash and Long-or-Short Are Different Systems

The presenter discusses short selling but says the research-based approach alternates between long exposure and cash. Our baseline follows that version.

Cash removes the asset exposure, although its purchasing power, interest treatment, and account mechanics remain relevant. A short position instead creates a bearish exposure with borrowing, financing, and potentially much larger loss risks. You cannot take results from one version and attribute them to the other.

For a cash equity or ETF, “buy” also differs from buying a leveraged derivative tied to it. Futures, options, leveraged products, and currencies require their own sizing and cost models. The code below is intended for an unleveraged cash-asset proxy.

What the Rule Gives Up: Whipsaws and Delayed Exits

A trend filter can leave you exposed during extended rises and move you out during sustained declines. It can also sell after a decline and buy back at a higher price. Repeated movement around the average creates a sequence of small or moderate losing trades and transaction costs.

Our hypothetical example: buy at 100, exit at 96, then re-enter at 101. The rule lost $4 per share and restored exposure $1 above the first entry, before fees. A later large trend might offset that sequence; it might not. This is why one successful long hold is not sufficient evidence.

Monthly decisions also tolerate intramonth movement. Suppose an asset bought at 100 falls to 80 before the next signal is evaluated. The moving average does not force an exit at a predefined $5 or 5% loss. A gap after the signal may further worsen the fill.

The transcript acknowledges uncertainty about individual trade losses but also suggests that major assets’ declines are limited. The monthly rule supplies no hard bound on those declines. Asset size, familiar names, and a slow chart do not make a catastrophic loss impossible.

Position sizing therefore concerns exposure, not a known stop-loss amount. Allocating 20% of a portfolio to an asset is different from risking exactly 2% on its next trade.

Why a Basket Needs More Than Several Charts

Etienne recommends multiple assets so the strategy is not dependent on one market. The portfolio idea is distinct from the signal rule. Applying the same indicator to five charts does not produce a fully specified portfolio.

Our illustrative allocation model: create five sleeves, each worth 20% of total portfolio value at the scheduled rebalance. Each sleeve holds its chosen asset above its own SMA and otherwise holds cash. If three sleeves are active, the scheduled allocation is 60% assets and 40% cash. This equal-sleeve model is ours, not a portfolio rule supplied in the transcript.

You must additionally define the investable universe, rebalancing schedule, whether inactive sleeves are redistributed, cash interest, currency conversion, and transaction costs. Without rebalancing, weights drift; with rebalancing, trades and costs increase.

Several equity funds may hold overlapping companies and fall together. Diversification depends on exposures and relationships, not just the number of ticker symbols.

What the Reported Statistics Establish

The presenter reports an IVV return of approximately 47% over the displayed period and a profit factor of 4.594. He also discusses a Japan fund with a profit factor around 2.0 and a win rate near 40%, along with different outcomes for other markets.

The supplied transcript does not identify a reliable end date, complete starting period, position size, benchmark, cost model, cash return, dividend handling, or whether every displayed test uses the same long/cash or long/short rules. These statistics cannot be independently reproduced from the text alone.

Profit factor is gross trading profit divided by the absolute value of gross trading loss. It is not an annual return, and a favorable ratio does not tell you the largest drawdown or how many years the capital was exposed.

Likewise, a 47% cumulative gain is not a 47% annual gain. Our hypothetical calculation: if that cumulative gain occurred over exactly 20 years, its annualized rate would be 1.471/20 − 1 ≈ 1.95%. Twenty years is a teaching assumption, not a confirmed duration of the presenter’s test.

A low win rate can coexist with profitability when a few long trends produce large winners. That also raises a research question: do the results depend on one unusually strong market episode?

The transcript credits Meb Faber’s work but does not supply the paper or its methodology. This guide teaches the version described in the video and does not claim to reproduce the original research.

One Executable Baseline: Does the Monthly Rule Change the Return–Drawdown Tradeoff?

View Pine Script Backtest Code
//@version=6
strategy("Monthly SMA: long or cash research baseline", overlay=true,
     initial_capital=10000, currency=currency.USD,
     default_qty_type=strategy.percent_of_equity, default_qty_value=95,
     pyramiding=0, margin_long=100, margin_short=100,
     commission_type=strategy.commission.percent, commission_value=0.05,
     slippage=1, process_orders_on_close=false,
     calc_on_every_tick=false, calc_on_order_fills=false)

// Use a standard ONE-MONTH chart of an unleveraged cash asset.
// This baseline is not designed for futures, options, or synthetic candles.
if not timeframe.ismonthly or timeframe.multiplier != 1
    runtime.error("Use a standard one-month (1M) chart.")

int length = input.int(10, "SMA length in months", minval=2)
int startTime = input.time(timestamp("01 Jan 2005 00:00 +0000"), "First eligible month")
float average = ta.sma(close, length)
bool ready = not na(average) and time >= startTime

// Complete monthly close only. The current incomplete month cannot signal.
// State rules also seed a position if the first eligible month is already above.
if barstate.isconfirmed and ready
    if close > average and strategy.position_size == 0
        strategy.entry("Long", strategy.long)
    else if close < average and strategy.position_size > 0
        strategy.close("Long", comment="Monthly close below SMA")

// Equality: retain current position. No intramonth stop or fixed target.
// Market orders normally fill on the next month's first available tick.
// Existing exposure is not rebalanced monthly. Cash earns zero in this model.
plot(average, "Monthly SMA", color=color.orange, linewidth=2)
bgcolor(ready ? (close > average ? color.new(color.green, 92) : close < average ? color.new(color.red, 92) : na) : na)

Research question: on a predefined cash asset and period, how does a completed-month SMA long-or-cash rule compare with a matched buy-and-hold allocation after costs?

The script implements the timing-rule side of that comparison. It is intentionally single-asset so the effect of the signal can be examined before adding portfolio allocation.

Source-derived ruleOur definitionImplementation shortcut
Use a 10-period SMA on monthly chartsTen completed monthly closes, including the current closeRequire a standard 1M chart rather than fetching monthly data into a lower timeframe
Long above; cash belowState-based entries and exits; equality preserves current stateMarket orders fill on the next available tick
Use multiple assetsTest the single-asset component firstNo portfolio allocation or cross-asset rebalancing
Monthly trend exitNo fixed stop or target; exit after a below-SMA closeNo intramonth emergency exit
Keep exposure manageableDefault entry allocation is 95% of simulated equity with no leverageCash earns zero; exposure is not rebalanced monthly

The 95% allocation is a research setting, not a recommendation or a fixed loss budget. Its small reserve allows room for costs and price variation; it does not guarantee every simulated or real order can be funded. Adjust allocation, commission, and slippage in Strategy Properties.

Pine Script Research Strategy

This code tests one objective interpretation of the source’s concept. Any mechanical definitions introduced here are ours and are not necessarily the creator’s exact rules.

Use standard monthly candles for an unleveraged asset. Keep the chart session and price-adjustment settings documented. Expand the section to inspect the complete script; the copy button appears when clipboard functionality is available. If copying is blocked, select the code and copy it manually.

What This Code Actually Tests

After the SMA has sufficient history and the selected starting month is reached, the strategy evaluates each completed monthly candle. It submits a long entry when flat and above the average, or closes its long when below. Equality leaves the state unchanged. It never shorts or stacks entries.

The average uses available earlier chart history for warmup, including history before the start setting. The default first eligible month is January 2005, an arbitrary reproducible research starting point. The earliest entry fills after that month’s signal, not at its opening.

No artificial liquidation occurs at the last historical bar. An open position can remain at the end of the sample; record both realized trades and marked-to-market equity when comparing results. The code does not implement the matched buy-and-hold comparison itself.

Execution Assumptions That Matter

  • Signal versus fill: a completed monthly close creates the order. With on-close processing disabled, the normal historical fill is the next month’s first available tick, typically its opening price. That is not a one-month wait until the following close.
  • Gaps: the next fill can differ from the signal close. A month-end sell signal does not guarantee the month-end price.
  • Protection: no stop or profit-target orders exist. Exposure persists between monthly decisions, including while the next month is forming.
  • Sizing: percent-of-equity sizing determines exposure at entry. It is not a fixed dollar or percentage risk model, and a continuing position is not resized every month.
  • Costs: defaults assume 0.05% commission per filled order and one tick of slippage. These are illustrative; variable spreads, taxes, financing, and cash interest are not separately modeled.
  • Data: use ordinary market candles. Different dividend adjustments, sessions, missing history, and instruments can change signals and reported returns. No higher-timeframe requests or future monthly values are used.

TradingView documents the order-timing and sizing settings in its strategy guide (paid link). Those mechanics support the implementation, not its profitability.

Validation status: This script has not been compiled in TradingView or run against historical data here. No performance results are claimed. Its monthly confirmation, warmup, entry initialization, order timing, and exposure assumptions have been reviewed.

What This Code Does Not Test

  • The original research paper, the presenter’s unavailable indicator, or reproduction of his reported statistics.
  • A multi-asset portfolio, sleeve rebalancing, correlations, or allocation changes.
  • Short selling, leverage, derivatives, or a stop-loss variant.
  • Interest on idle cash, explicit dividend cash flows and reinvestment, tax consequences, or account-specific execution.
  • The presenter’s separate daily-chart course or promotional claims.

An adjusted chart may embed distributions into historical prices, but that is not the same as explicitly simulating dividend payments to the account. Use a consistent return basis for both the timing model and its benchmark, and do not add dividends again if the chosen series already incorporates them.

Backtest Lab

Pick the assets and dates before viewing outcomes. Save a baseline, reserve a later evaluation period, and change one major assumption at a time. Compare net annualized return, maximum drawdown, exposure fraction, turnover, trade count, average win/loss, and how much of the outcome comes from the largest few winners.

ExperimentChange onlyQuestion and interpretation
Average length8, 10, 12 monthsDoes the behavior persist across neighboring horizons? Compare return, drawdown, turnover, and missed recovery periods; an isolated historical peak suggests sensitivity.
Execution costsCommission 0.01%, 0.05%, 0.10% per orderDo repeated whipsaws erase the apparent benefit? Keep slippage and all signal rules fixed; then test slippage separately.
Time-period stabilityPredefined non-overlapping periodsDoes the return–drawdown pattern recur? Each fresh run resets capital and may seed an already-bullish position, so also inspect one continuous simulation.
Asset dependenceA predefined list of broad cash-asset proxiesIs performance concentrated in one market? Keep dates, data conventions, allocation, and costs consistent; individual results do not establish portfolio results.

Construct a Fair Buy-and-Hold Comparison

For each run, record the timing strategy’s first eligible execution date and fill convention. Start the benchmark on the same available date, with the same initial capital, 95% asset allocation, 5% cash, instrument, entry costs, and return-data basis. Hold it without monthly resizing. Compare marked-to-market end equity for both, or apply the same terminal liquidation convention to both.

Report the time spent in cash. Lower drawdown alongside lower return can represent a tradeoff rather than an unqualified improvement. A useful additional comparator is a lower-exposure buy-and-hold portfolio, to investigate whether timing adds value beyond merely holding less asset exposure.

A separate cash-yield experiment: replace the zero-return cash assumption with a documented historical cash-return series in a portfolio model. Keep the signal and allocation rules fixed, and compare the change in annualized return and drawdown. This requires additional data and code; it is not implemented here.

For the basket extension, freeze an investable universe in advance, assign explicit sleeve weights, and state when they rebalance. Use a portfolio engine that shares capital across sleeves. Adding the profits of independently funded single-asset tests does not reproduce that portfolio.

Try It Yourself

Review 24 consecutive completed months without looking ahead. Calculate or record the close and SMA, then write down the desired state before revealing the next month’s opening price.

Use this journal: asset | month | close | SMA | desired state | actual prior position | order required | next available fill | costs | month-end equity | cash allocation | data-adjustment setting. Include months with no trade.

Mark every whipsaw pair and each prolonged cash interval. Ask what you would have needed to follow the rule during a recovery that began while you were out. This exercise develops reproducibility and patience; it does not establish an edge.

Check Your Understanding

  1. Is this a ten-day moving average? No. On a monthly chart, ten periods represent ten monthly closes.
  2. Can an unfinished month produce the baseline signal? No. The rule waits for the completed monthly close.
  3. Does below-SMA mean short? Not here. It means cash.
  4. Does the monthly exit cap a loss? No. Intramonth declines and gaps can be substantial before an executable exit.
  5. Why can a 40% win rate still be profitable? A smaller number of large winners can exceed many smaller losses, after costs; the complete payoff distribution is needed.
  6. Why not combine five separate equity curves by simple addition? They may each assume access to capital that a shared portfolio does not have, and their allocation and rebalance rules may differ.
  7. What must match in the benchmark? Dates, capital, exposure, execution convention, costs, and treatment of dividends and cash.

Final Takeaway

The video presents a low-frequency trend rule that replaces frequent decisions with a monthly asset-or-cash choice. Its deeper lesson is that a trading framework can be mechanically simple while its outcomes remain uncertain.

The supplied material does not establish guaranteed profitability or limited losses. The next useful step is a documented comparison against matched buy-and-hold, followed by sensitivity tests and a properly specified portfolio extension.


Risk Disclosure: This material is for educational and research purposes only and is not financial or investment advice. Trading and investing can result in substantial losses. A monthly moving-average signal does not cap losses or guarantee an executable exit price. Backtests are hypothetical and depend on data, transaction costs, cash and dividend treatment, sizing, and execution assumptions. Liquidity, gaps, taxes, market regime changes, and real-world decisions can materially affect outcomes. Historical or hypothetical performance does not guarantee future results.

This article is an independent educational companion to the video and is not affiliated with, sponsored by, endorsed by, or authorized by Etienne Crete – Desire To TRADE.

As an Amazon Associate I earn from qualifying purchases.