Guide · Swing trading

Swing trading strategy: the written specification

The short answer

A swing trading strategy is not a setup and not a pattern. It is a written specification that answers five questions before any trade exists: what qualifies, what triggers the entry, where the idea is proven wrong, how the position ends, and how you know the edge is there at all. Almost everyone who says they have a strategy has answered the second question and left the other four blank. That is the whole problem. An incomplete specification is not a strategy, it is a hope with a chart attached, and the reason it cannot be fixed is that the missing answers are not merely inconvenient. They make the rest of the plan arithmetically impossible to state.

The word strategy does a lot of quiet damage in retail trading. It usually points at a picture: a flag, a pullback to a moving average, a break of a range. But a picture is one line of a specification, and a specification is a document that a second person could pick up, apply to the same chart, and reach the same conclusion you did. That is a harsh test and almost nothing survives it. This page works through the five questions in order, on one drawn multi-week series, and every level, count, quantity and holding period printed on the figures is computed from that series by the same code, so the argument and the pictures cannot drift apart. Where the honest answer is inconvenient, the honest answer is what is printed.

An entry is not a strategy

Ask a hundred swing traders to describe their strategy and most will describe an entry. They will tell you about the shape of the pullback, the moving average they wait for, the way the volume dries up before the move. Ask the same hundred where the trade is wrong, in advance, as a number, and the answers thin out immediately. Ask how the position ends when it neither works nor fails, and the answers stop. Ask what evidence they have that the whole thing does anything at all, and you will usually be shown a chart. One chart. The one the idea came from.

This is not a failure of discipline, and it is not laziness. It is a category error. An entry feels like the hard part because it is the part that requires a decision under uncertainty, and it is the part that reading and screen time actually improve. The other four questions feel like paperwork. They are not paperwork. They are the parts of the strategy that make the entry mean anything, and without them the entry is a guess that arrived with a justification attached.

Consider what a specification actually has to do. It has to be precise enough that it produces the same answer twice. It has to define its own failure, because a claim that cannot fail cannot be tested. It has to fix the size of the bet, because a trade without a size is not a trade. It has to end, in both directions, including the direction where nothing happens. And it has to have been counted, over a record rather than over a memory. Those five requirements are not a checklist bolted onto a setup. They are what turns a setup into a strategy.

The most useful way to see the dependency is to draw the five as a chain rather than a list. A list suggests the items are independent and that having three out of five is sixty per cent of a strategy. They are not independent. Question three, the stop, defines the risk unit. Question four, the exit, is stated in that unit. Question five, the evidence, counts results in that unit. Leave question three blank and the last two do not get harder, they become unanswerable, because there is no unit left to state them in.

A swing trading specification drawn as a gated chainTwo horizontal chains of five linked stages. The upper chain, labelled a complete specification, carries a written clause and a computed output at every stage: what qualifies, the trigger, the stop, the exit and the evidence. All four gates between its stages are open. The lower chain, labelled the note most people actually keep, has a vague clause at stages one and two, an empty stage three where the stop should be written, and stages four and five drawn as empty dashed frames because they cannot be computed without a risk unit. The gates after stage three are closed and crossed.THE SPECIFICATION IS THE STRATEGYfive questions, answered in writing, before the trade existsA COMPLETE SPECIFICATIONevery gate answers, so every number after it exists1WHAT QUALIFIESThe highest close of the last 20sessions came in the last 10;price has pulled back for 3 to 8sessions since; no close in thatpullback is below the 20-sessionEMA.PRODUCES6 sessions qualifyin 643 drawn2THE TRIGGERA daily close above the previoussession's high. Not a touch, not anintraday print, and not ajudgement about how the barlooks.PRODUCESprior high 496.88close 497.57 fires3THE STOPOne tick below the lowest low ofthose pullback sessions, decidedand written before the order issent.PRODUCESstop 489.48R = 8.09, size 6184THE EXITOut at 2.5R. And out at 10sessions if the trade has notreached 1R by then, whatever thechart looks like at the time.PRODUCEStarget 517.79time stop day 105THE EVIDENCECounted over the whole recordrather than the chart it wasfound on, costs deducted, the lastthird of the data never looked at.PRODUCES6 signals counted2 of them held outTHE NOTE MOST PEOPLE ACTUALLY KEEPan entry, and then nothing that can be computed1WHAT QUALIFIES“A pullback in an uptrend on astrong stock.”WHY IT IS NOT A CLAUSEStrong how? Pullback of whatdepth? Two readers mark twodifferent bars.?2THE TRIGGER“Buy when it starts moving upagain.”WHY IT IS NOT A CLAUSEAn impression, not an event. Itcannot be back-tested and it cannotbe repeated.?3THE STOP( left blank )WHY IT IS NOT A CLAUSENothing is written. The invalidationpoint will be chosen later, while theposition is open and moving.4THE EXITUNREACHABLENot reachable. A target in R needsan R, and R needs the stop above.5THE EVIDENCEUNREACHABLENot reachable. Nothing here isdefined precisely enough to count.The chain does not get weaker when a link is left out. It stops.Questions 4 and 5 are not harder without a written stop. They are arithmetically impossible: a target in R and a count of results both need a risk unit, and the risk unit is what question 3 defines.
Five questions in series, not five items on a list. The upper chain carries a written clause at every stage and a computed output beneath it, so each stage hands the next one a number. The lower chain is close to what a swing trading note usually contains: two impressions where clauses should be, an empty third slot, and two stages that are not merely weaker but unreachable, because a target quoted in risk units and a count of results both need a risk unit, and that is what the blank stage defines. Illustrative levels throughout.

The lower rail of that figure is not a caricature. It is close to a verbatim transcription of what a swing trading note usually contains, and the two clauses it does carry are both impressions rather than events. The third slot is empty, and everything after it is a dashed frame. Notice that the failure is silent. Nothing announces itself. A trader working from that note can place trades all year, feel busy and disciplined, and never once encounter the gap, because the gap only shows up when you try to compute something, and nothing in that workflow ever tries.

A strategy you cannot hand to somebody else is not a strategy. It is a habit you have not written down, and habits cannot be tested, taught, improved or trusted.

Question one: what qualifies

The first question is the definition of the setup, and the standard it has to meet is unusual: two competent people given the same chart and the same sentence should mark the same bar. Not similar bars. The same bar. If the sentence needs judgement in the moment to resolve, then it is neither testable nor repeatable, and those two failures are the same failure wearing different clothes. A rule that cannot be applied mechanically cannot be run over history to see what it does, and a rule that cannot be run over history is a rule you are trusting on the strength of how it feels.

Most setup descriptions fail this test on the first word. Consider the sentence a large fraction of swing traders would recognise as their own: buy the pullback in an uptrend when it looks ready to go again. Every clause in it is a judgement call. Uptrend by what measure and over what window. Pullback of what depth, and how do you know it is a pullback rather than the start of a decline. Ready to go again is not a condition at all, it is a feeling with a verb in it.

The consequences are not academic, and they are much larger than most people expect. Here is the same sentence and one precise clause applied to identical bars.

One vague sentence and one precise clause read against identical barsTwo candlestick panels side by side showing the same twenty one daily sessions. The left panel is headed with a vague sentence and carries three entry markers labelled A, B and C at three different sessions, each with a vertical bracket down to its own stop level, and the three brackets are visibly different lengths. The right panel is headed with a precise three part clause, shades the four pullback sessions, draws the trigger level across from the previous session's high, and marks a single qualifying session with one bracket. A ledger strip under each panel prints the computed risk unit, share quantity and capital committed for each reading.AS MOST NOTES ARE WRITTENthree readers, three trades“Buy the pullback in an uptrend when it looks ready to go again.”46348250152053821 sessions, identical in both panelsABCTHE SAME SENTENCE, PRICED THREE WAYSREADERENTRYSTOPRSHARESCAPITALA “it turned”494.08490.243.841,302₹6.43 LB “it cleared yesterday”497.57489.488.09618₹3.07 LC “it confirmed”505.10489.9315.17329₹1.66 LOne risk budget of ₹5,000. Four times the capital between the widest reading and the narrowest.Untestable: there is no rule here to run over history.AS A SPECIFICATION IS WRITTENone reading, one trade“20-session high within the last 10; then 3 to 8 pullback sessions, none closing below the20-session EMA; enter on the first close above the previous session's high.”46348250152053821 sessions, identical in both panelsPULLBACKtrigger 496.881stop 489.48WHAT THE CLAUSE RETURNS ON THESE BARSsessions tested21sessions that qualifyexactly 1 (session 12 of 21)entry, on the close497.57stop, one tick below the pullback low489.48risk unit R8.09 a sharesize at a ₹5,000 risk budget618 shares, capital ₹3.07 LTestable: the same clause returns the same session every time.
The same twenty one sessions, read by a sentence and by a clause. Only the wording changes between the panels; the bars, the window and the five thousand rupee risk budget are identical. Three honest readings of the vague sentence produce entries at 494.08, 497.57 and 505.10 and therefore risk units of 3.84, 8.09 and 15.17 a share, which is 1,302, 618 and 329 shares against the same budget, a spread of 3.87 times in capital committed. The precise clause qualifies exactly one session out of the twenty one. Every figure shown is computed from the drawn series; rupee amounts are illustrative.

Three readers, all applying the same sentence honestly, entered at 494.08, 497.57 and 505.10. That is a spread of eleven rupees on a share trading near five hundred, which sounds tolerable until you follow it through. Each reader also placed a stop under a low they considered recent, and because they entered at different heights above roughly the same floor, the risk unit ranged from 3.84 to 15.17 rupees a share. At a fixed risk budget of five thousand rupees, that is 1,302 shares for one reader and 329 for another, which is 3.87 times the capital committed to what everybody involved would describe as the same trade.

That number is the real cost of a vague setup definition, and notice where it lands. It does not land on the entry, which is the part everyone worries about. It lands on the size, which is the part that decides how much the outcome matters. Two people can follow identical rules, be right at the same time, and have wildly different accounts at the end of the year purely because one sentence in the specification was written in English rather than in conditions.

The precise clause on the right of that figure is not more sophisticated than the vague one. It is not better analysis. It is the same idea, written so that it resolves: a twenty session high made within the last ten sessions, then three to eight pullback sessions, none of which closes below the twenty session exponential moving average. Run that over the twenty one sessions in the panel and exactly one qualifies. Run it over the whole drawn record and six qualify. Give it to a second person and they get six too, because there is nothing in the sentence for them to disagree with.

The test to apply. Write your setup down, hand it to somebody who trades but has never seen your screen, and ask them to mark every qualifying bar on a chart you have not discussed. If their marks and yours differ anywhere, the difference is not a difference of skill. It is a hole in the specification, and it is located exactly at the word you both interpreted differently. Fix that word, not the chart.

There is a cost to precision and it should be stated plainly, because a page that pretends otherwise is selling something. A clause tight enough to resolve mechanically will refuse trades that look obvious afterwards. On the drawn record, the clause above sits out several advances that any experienced eye would call clean, because the pullback ran nine sessions instead of eight, or because one close slipped under the moving average. That is not a defect being tolerated. It is the price of having a rule at all, and the alternative, loosening the clause until it catches everything, returns you immediately to a sentence that two people read differently.

Question two: the trigger

The setup says a chart is interesting. The trigger says you are in. They are different questions and collapsing them is one of the more common structural errors in a retail plan, because a setup can persist for many sessions while a trigger is a single event with a timestamp. If your specification does not separate them, you will find yourself entering somewhere inside a multi-session window at a price determined by when you happened to look at the screen.

A trigger has to be an event that the market either produces or does not. A close beyond a level is an event. A print through a level is an event. A limit order resting at a price is an event. Looks ready, is coiling, feels like it wants to go, and appears to be holding are not events, they are descriptions of a state, and a state cannot be timestamped.

Which trigger you choose is a real decision with real trade-offs, and the specification should record not just the choice but the reason, because the reason is what you will interrogate later when you want to know whether the trigger or the setup is the weak part.

Table 1. Four trigger forms that all pass the event test, and what each one costs you. There is no best row here; there is a row that matches the rest of your specification.
Trigger formWhat it buysWhat it costsFits a specification that
Close beyond the level Fewest false starts. An intraday poke that is sold back into the range never triggers, because only the closing print counts. You enter at the worst price of the qualifying session, and you decide in the last minutes of the session under time pressure. is judged on closing data, has a wide structural stop, and holds for weeks rather than days.
Stop order above the level You are filled the moment the market proves the point, without watching. The order does the waiting. Every failed poke fills you. On a quiet session the level is touched and abandoned and you are long anyway. can absorb a higher count of small losses, and whose stop is tight enough that a failed poke costs little.
Retest after the break A better price and a natural stop location, because the retest low is itself a level. The strongest moves never retest, so the trigger systematically declines the fastest cases. values entry price over participation rate, and is applied to a large universe so missed cases are replaceable.
Limit inside the pullback The best entry price of the four, and the smallest risk unit, so the largest size at a fixed risk budget. You are filled precisely when the pullback keeps going. The trigger has no confirmation in it at all. has an unusually well defined invalidation level, and accepts being wrong often in exchange for cheap entries.

Two things follow from that table. First, the trigger and the stop are a matched pair. A trigger that fills you early demands a stop placed where early entries are still wrong, and a trigger that waits for the close demands a stop far enough back to survive the session it entered on. Choosing them independently produces a specification whose two halves disagree. Second, whichever row you pick, the specification must name the level numerically and the event exactly. A close above the previous session's high is a specification. A close above resistance is not, because resistance is a drawing, and two people draw it differently.

Question three: the stop, and why it has to come first

The third question is where the idea is proven wrong, and the answer has to exist before the order is sent. Not because deciding in advance is emotionally safer, though it is, but because the answer is load-bearing. The distance from entry to invalidation is the risk unit. Once you have it, the position size follows from your risk budget, the target follows in multiples of it, and every result you ever count is expressed in it. Leave it undefined and you have not deferred a decision, you have removed the unit that four other numbers are quoted in.

The failure mode here is specific and extremely common: the stop gets written as a rupee tolerance rather than as a level. I will cut it if I am down five thousand rupees sounds like discipline. It is the opposite, and the reason is worth seeing rather than asserting.

The stop as a level on the chart against the stop as a rupee toleranceTwo candlestick panels showing the same fourteen sessions and the same entry. The left panel marks one stop level below the pullback low and runs a four step derivation beneath it: invalidation level, risk unit, share quantity and the two exit levels. The right panel draws three different stop levels produced by the same rupee tolerance at three different position sizes, with the highest of them lying inside the shaded band the pullback had already traded through, and beneath it a circular diagram in which size determines the stop level and the stop level determines size.THE STOP IS A PROPERTY OF THE CHART“One tick below the lowest low of the pullback sessions.”47648749850851914 sessions around one entryentry 497.57stop 489.48R = 8.09 a shareONE WRITTEN LEVEL, FOUR NUMBERS THAT FOLLOW FROM IT1the levelone tick under the lowest low of the four pullback sessions489.482the risk unitentry minus stop, fixed before the order goes inR = ₹8.09 a share3the size₹5,000 risk budget divided by R, rounded down618 shares4the exits2.5R target; time stop if 505.66 is not reached517.79 and day 10Size is an output. The chart decided it.THE STOP IS A PROPERTY OF YOUR ACCOUNT“I will cut it if I am down ₹5,000.”476487498508519shaded: the range those pullback sessions already traded throughentry 497.57300 sh → 480.90618 sh → 489.481,000 sh → 492.57THE SENTENCE HAS NO LEVEL IN ITsizestop levelrisk unit Rcircularby construction300 sharesstop 480.90−8.63 under the pullback low, at a price the chart has noopinion about618 sharesstop 489.48coincides with the structural level, and only by accident1,000 sharesstop 492.57inside the range the pullback itself already traded throughSize is an input. Nothing decided it.
A level is a property of the chart. A rupee tolerance is a property of your account. Left, one written level yields the risk unit, the size and both exits in sequence, and none of them changes if your account does. Right, the same rupee sentence produces a different stop price at every position size: 480.90 at 300 shares, 489.48 at 618 and 492.57 at 1,000, the last of which lies inside the range the pullback sessions had already traded through. The loop beneath is the actual defect, since the size fixes the level and the level is meant to fix the size. Illustrative levels.

On the left, the clause names a level on the chart, one tick below the lowest low of the pullback sessions. That single sentence produces four numbers in sequence and none of them is an opinion. The level is 489.48. The risk unit is 8.09 rupees a share. At a five thousand rupee risk budget the size is 618 shares. The exits are 517.79 and a session count. Change nothing about your account and every one of those numbers stays where it is, because they are properties of the chart.

On the right, the same sentence in rupee form produces a different stop level for every position size. At 300 shares the five thousand rupee tolerance is 16.67 a share and puts the stop at 480.90, roughly eight and a half rupees below the pullback low, at a price nothing on the chart has an opinion about. At 1,000 shares the tolerance is five rupees a share and puts the stop at 492.57, which sits inside the range those same pullback sessions had already traded through days earlier. That stop is not tight. It is placed at a price the market demonstrably visits while the setup is still intact.

The deeper problem is circularity. The rupee stop's level depends on the size, and the size is supposed to depend on the risk unit, which is the distance to the stop. Written that way the specification defines each quantity in terms of the other and settles on whatever number you happened to type into the quantity box. Nothing decided it. The chart certainly did not.

The tell. If your position size is a round number, one hundred shares, five hundred shares, one lot, then your stop is almost certainly downstream of the size rather than the other way round. A size derived from a risk unit is almost never round. On the worked example it is 618 shares, because 618 is what five thousand divided by 8.09 comes to after rounding down. Roundness in the quantity field is the signature of a specification with question three left blank.

Where the level should sit structurally, which of the several defensible reference points to use, and how to handle instruments whose ordinary daily range is wider than your intended risk are a separate and substantial subject, and this page deliberately does not re-open it. Our guide to where to place a stop loss works through the structural options and the four common misplacements. What matters for the specification is narrower and prior to all of it: whatever placement rule you adopt, it has to be written as a rule that produces a price, it has to be written before entry, and it has to be the thing your size is computed from rather than the thing your size implies.

Question four: the exit, including the one nobody writes

Most specifications that get this far have half an exit. They have a target, usually a multiple of the risk unit or a level on the chart, and they have the stop from question three. Between them those two cover the case where the idea works and the case where it fails. What they do not cover is the case that actually happens most often, which is neither.

A swing thesis is a claim about the next few weeks. If those weeks pass and the claim has produced nothing, the claim has failed. It has just failed quietly, without touching the stop and without giving you the clean signal that a stop-out provides. Almost no retail specification has a rule for this, which means the position stays open by default, and default is not a decision.

A trade that went nowhere, and the clause that ends itA wide candlestick panel of eighteen daily sessions with the entry marked on session five. Three horizontal levels are drawn: the entry, the stop below it, and the one R progress gate above it which price never reaches. A vertical marker on the tenth session after entry shows where the written time stop closes the position. Beneath the panel a step chart tracks the best progress made in units of R, flat at 0.57 from the third session onward and far below the one R line, and a ledger lists what the ten sessions consumed alongside an honest counter column stating what the clause gives up.QUESTION FOUR, SECOND HALF: THE EXIT YOU DO NOT HAVE“out at 10 sessions if the trade has not reached 1R by then”4704744794834874921R gate 489.77entry 481.45stop 473.13never reachedETIME STOP, day 10grey bars are the pullback that qualified; the entry session is the first lit bar2.5R target 502.25off the top of this scaleBEST PROGRESS MADE, IN UNITS OF R00.5R1Rpeak 0.57Ron day 3session 1session 10WHAT THE TEN SESSIONS CONSUMEDcapital committed₹2,88,870600 shares at 481.45capital occupancy28.9 lakh rupee-sessionsexposure multiplied by sessions heldrisk budget heldone ₹5,000 slot, 10 sessionsunavailable to anything elsestatutory round tripabout ₹643STT, stamp, exchange, SEBI fee and GSTthat cost, in R0.13Rpaid whether the idea works or notThe clause costs something in both directions, which is why it has to be writtenIllustrative; no result is scored.WHAT IT BUYSAcross the whole drawn record this rule spent 40 sessions in a position, and 19 of those, roughly half, werespent in trades that had not yet reached 1R. That is the pool a time stop is drawn from.WHAT IT GIVES UPIt will sometimes close a position days before the move it was waiting for. A specification that says no timestop is still a specification. Only the blank is indefensible.
Ten sessions, and the thesis never got started. Best progress reached 0.57 of the risk unit on the third session and never improved, the stop was never threatened and the target sat sixteen rupees above the top of the scale. The ledger prices what the position consumed while doing nothing. The honest footnote matters: on this occasion the position would have hit the hard stop two sessions later anyway, and across the whole drawn record the clause changed total time in positions from forty two sessions to forty. The case for writing the clause is not that exiting early wins, it is that a horizon needs a rule. Illustrative; no result is scored.

That position was entered on a session that qualified under the clause, and then nothing happened. Best progress over the following ten sessions was 0.57 of the risk unit, reached on the third session and never improved on. The stop was never threatened. The target was never approached; it sat sixteen rupees above, off the top of the scale the chart is drawn on. On the eleventh session the written time stop closed it, with the idea neither proved nor disproved.

What those ten sessions cost is worth pricing, because it is invisible in a profit and loss statement that only records closed trades. Six hundred shares at 481.45 is 2,88,870 rupees of exposure, held for ten sessions. One five thousand rupee risk slot was occupied for the same period and was therefore unavailable to anything else. The statutory round trip on that notional comes to roughly 643 rupees, which is about an eighth of the risk budget the trade was sized against, paid regardless of what happened. That is the real shape of dead money: not a loss, but capital and attention consumed by a position that was never going to tell you anything.

Now the honest part, because the convenient version of this argument is not the true one. On this particular occasion the time stop was worth very little. Without it, the same position would have run two more sessions and been stopped out at the level anyway, so the clause bought back two sessions and part of a loss. Across all six qualifying trades on the drawn record, the rule spent forty sessions holding positions with the time stop and forty two without it. That is a marginal difference, and anyone telling you that time stops transform a strategy is not reading their own numbers.

The point of the time stop is not that exiting early is better. It is that a thesis with a horizon needs a rule for the end of that horizon, and a specification which says explicitly that there is no time stop is complete. Only the blank is indefensible.

What the clause reliably does is bound the dead-money problem. Nineteen of the forty sessions this rule spent in positions, roughly half, were spent in trades that had not yet reached one risk unit of progress. That is the pool the question addresses, and it is large enough to be worth a written answer in either direction. Whether you set the horizon at eight sessions or fifteen, whether you require one risk unit of progress or merely a higher low, whether you exit fully or halve the position, are all defensible answers. Having no answer is not one of them.

Everything that happens between the trigger and the exit, trailing, scaling, moving the stop to break-even, and the far harder question of when to do nothing at all, is the subject of our guide to what happens between entry and exit. The specification's job is narrower: it must state in advance which of those actions are permitted and on what condition, so that the middle of the trade is executed rather than improvised. A management action that is not in the specification is a new strategy authored while a position is open, and it is authored by somebody who currently has money on the outcome.

Question five: how you know

The last question is the one that separates a specification from a well-written wish. You have four clauses that resolve mechanically. Why do you believe the combination does anything at all?

The usual answer is a chart. Somebody shows you the instance the idea came from, marked up, with the entry and the run that followed. That is not evidence, and the reason is structural rather than statistical: the chart that produced the rule cannot also test it. The rule was fitted to that chart. Of course it works there.

Honest evidence requires three things that the marked-up chart does not have. It requires the whole record rather than the memorable part of it, which means counting the times the rule fired and went nowhere as carefully as the times it fired and ran. It requires costs deducted, because a per-trade edge smaller than the toll is not an edge. And it requires some part of the data to have been held back and never looked at while the rule was being written, because a rule adjusted until it fits the data it was adjusted on has learnt the data rather than the market.

Six qualifying sessions in 643, and two of them held backA wide line chart of 643 daily closing prices with a filled area beneath it. The left two thirds is labelled the part you looked at and the right third, shaded differently and separated by a vertical divider, is labelled held back. Six numbered markers stand on the sessions that qualify, four in the left region and two in the right. Below the chart a full width ribbon marks in gold the 40 sessions on which a position was open against the 603 on which nothing was held, and three counting cards state the totals.QUESTION FIVE: HOW DO YOU KNOWthe same clause, run over the record instead of over one chart419538656775893THE PART YOU LOOKED ATHELD BACK, NEVER LOOKED AT123456session 1session 428session 643SESSIONS WITH A POSITION OPEN40 of 643, about six sessions in every hundred6sessions qualifiedin 643 drawn sessions, under the clause exactly as written4in the part you looked atthe observations that shaped the rule, and so cannot alsotest it2left as honest evidenceeverything the held back third has to say about whether thisworksTwo observations is not evidence. It is the honest size of what you have.Which is the real answer to question five for most written specifications, and the reason the answer has to be written down rather than felt. Illustrative series; no outcome is scored anywhere on this figure.
Six qualifying sessions in 643, and two of them untouched. The clause run across the whole drawn record rather than across the chart it was found on. Four signals fall in the two thirds that shaped the rule and therefore cannot also test it, which leaves two observations in the third that was held back. The ribbon underneath shows a position open on forty of the 643 sessions, about six in every hundred, so the strategy is mostly waiting. Nothing here is scored: the figure counts opportunities and occupancy, never outcomes. Illustrative series.

Run the clause over the whole drawn record and this is what an honest evidence base looks like. Six hundred and forty three sessions, six qualifying signals, and a position open on forty of those sessions. Split the record two thirds to one third and four of the six signals sit in the part that was looked at, which leaves two observations in the part that was not. Two. That is the entire quantity of untainted evidence behind a rule that a trader would describe, without any dishonesty, as tested.

This is the ordinary situation, not a pathological one, and it follows directly from the arithmetic of the horizon. A selective swing rule on a single instrument fires a handful of times a year. To accumulate a hundred untainted observations you need either many years or many instruments, and both have costs: many years means the market regime has changed underneath you, many instruments means the rule has to survive being applied to things it was not designed on. There is no version of this where the evidence is cheap.

What the count is for. Notice that nothing above scores an outcome. The figure counts opportunities and occupancy, not results, and that is deliberate. Before you can ask whether a rule pays, you have to know how many times it speaks, because the answer to the first question bounds what the second one can possibly tell you. A rule with six observations behind it cannot be distinguished from luck by any method, however careful, and knowing that is more useful than any number you could compute from those six.

How to run the count so it does not lie to you, what a held-out sample actually protects against, why the cost line has to go in before you look at the result rather than after, and how a strategy can pass every test and still have been fitted, are the subject of our guide to back-testing integrity. The specification's obligation is smaller and comes first: question five has to be written as a claim you could be wrong about. Tested on three years of data with costs at the observed statutory rates and the final year held back is a claim. It has worked well for me is not, because there is nothing in it that could turn out to be false.

It is worth stating the population you are joining, once, plainly, and with its limits attached. About 93 percent of individual traders in equity derivatives made net losses over FY22 to FY24, aggregate net losses exceeding ₹1.8 lakh crore (SEBI, September 2024). That study examined the equity derivatives segment specifically, which is the fast, leveraged end of the market, and it does not describe cash-equity swing trading or predict any individual's outcome. It is quoted here for one narrow reason: the gap between people who believe they have a strategy and people who have a specification is very wide, and the aggregate numbers in adjacent segments are consistent with that gap being expensive.

What the specification has to survive in India

The five questions are not country-specific, but the numbers you put into question five are. A swing trade in Indian cash equity is a delivery trade, and delivery carries a statutory bill that is fixed by law rather than negotiated, so it belongs in the specification as a constant rather than as an afterthought.

Table 2. The statutory round trip on one delivery swing trade, worked at the notional from the figures above, 2,88,870 rupees. Brokerage is excluded because it varies; everything below does not. Rates verified against the instruments named, current as at July 2026.
ChargeRate and sideOn this tradeInstrument and date
Securities Transaction Tax 0.1% on the buy and 0.1% on the sell about ₹578 Section 98, Finance (No. 2) Act 2004, at the rate set by the Finance Act 2012 from 1 July 2012. Untouched by the Finance Acts of 2024, 2025 and 2026, which amended only the derivatives entries.
Stamp duty 0.015%, buy side only about ₹43 Indian Stamp Act 1899, Schedule I, Article 56A(b), inserted by the Finance Act 2019, effective 1 July 2020. Collected centrally, so the rate does not vary by state.
Exchange transaction charge ₹307 per crore each side on NSE cash; ₹375 per crore on BSE for group A and B about ₹18 NSE circular NSE/FA/73061, effective 1 March 2026. BSE notice 20221109-7, effective 1 December 2022.
SEBI turnover fee ₹10 per crore, both sides under ₹1 Regulation 41(1), SEBI (Stock Brokers) Regulations 2026, gazetted 7 January 2026, which repeal the 1992 Regulations.
GST 18% on brokerage, exchange charges, the SEBI fee and depository charges; not on STT or stamp duty about ₹3 on the items above, plus 18% of whatever brokerage you pay Notification 11/2017-Central Tax (Rate), Serial 15, Heading 9971. The exclusion of STT and stamp duty runs through the pure agent route in Rule 33 of the CGST Rules, which is why a contract note itemises them separately.
Statutory total about 0.22% of turnover about ₹643 Roughly an eighth of a five thousand rupee risk budget, paid on every completed round trip whatever the outcome. Depository charges on the sell leg and your brokerage sit on top.

Two consequences for the specification. First, the cost line goes into question five before you look at the result, not after. A per-trade edge quoted gross is not a number about your account. Second, the toll scales with turnover rather than with holding period, which is the structural reason a swing horizon is cheaper per unit of opportunity than a shorter one; the trade-off you accept in exchange is overnight gap risk and a much slower feedback loop. That comparison, holding period against cost against the hours your life actually has, is worked out in our guide to swing trading versus intraday trading, and the case for stretching the horizon further still is in our guide to positional trading.

There is one more Indian specific that belongs in the specification rather than in the risk section of your imagination. A swing position is held overnight, so the price at which your stop level is tested may not be a price that ever traded. A gap through the level fills you below it, and on an instrument with a daily price band the position can be locked at a limit with no exit available at all. The specification cannot prevent that. What it can do is state the assumption explicitly, so that when it happens you are executing a plan that anticipated it rather than discovering a hole.

Writing it down: the one page specification

The output of all of this is not a folder of notes. It is one page, and it should be short enough that a stranger can read it in two minutes and long enough that they could execute it without asking you anything. Below is the specification used throughout this guide, written out in full, with each clause in the form that makes it resolve.

1

What qualifies

The highest close of the last twenty sessions occurred within the last ten sessions; price has since pulled back for three to eight sessions; no close within that pullback is below the twenty session exponential moving average.

Every term resolves to a number a script could evaluate. There is no adjective in it. The window lengths are choices and could defensibly be different; what is not optional is that they are stated.

2

The trigger

Enter on the close of the first session that closes above the previous session's high.

An event with a timestamp, referencing a level the chart supplies rather than one you draw. On the worked session the previous high was 496.88 and the close was 497.57, so the trigger fired and the entry price is that close.

3

The stop

One tick below the lowest low of the pullback sessions, placed as a resting order at the time of entry, never widened.

A level, not a rupee figure. On the worked session it is 489.48, which makes the risk unit 8.09 a share and the size 618 shares against a five thousand rupee budget. Never widened is part of the clause, because a stop that can be moved away is not a stop.

4

The exit

Exit at 2.5 risk units. Exit in full at the close of the tenth session after entry if the position has not reached one risk unit of progress by then.

Both halves are required. The first covers success, the stop covers failure, and the second half covers the case that occurs most often, which is neither. On the worked session the target is 517.79 and the progress gate is 505.66.

5

The evidence

Counted over the full record with statutory costs deducted at the rates in Table 2, with the final third of the data held back and not examined while the rules were being set.

On the drawn record the honest position is six signals, of which two lie in the held-back third. That is a claim about the size of the evidence rather than about the size of the edge, and it is the correct first thing to know.

Notice what the page does not contain. It contains no market view, no forecast and no discretion. It also contains no promise, because a specification is a description of what you will do rather than a prediction of what will happen. That distinction is the reason a written strategy survives a bad run: nothing in it was contingent on the run being good.

Table 3. The diagnostic. Each blank has a distinctive signature in how the trading actually feels, which is usually easier to recognise in yourself than the missing clause is.
Question left blankWhat it feels like from the insideWhat it makes impossible
1. What qualifiesEvery chart looks like a setup on a good day and none does on a bad one. Your trade count swings with your mood.Testing anything. There is no rule to run, so there is nothing to count and nothing to improve.
2. The triggerYou enter somewhere inside a multi-day window, at a price set by when you looked at the screen rather than by the market.Attributing results. A bad outcome cannot be traced to the setup or the timing, because the timing was never specified.
3. The stopPosition sizes are round numbers. The exit level gets decided while the position is open and moving.Everything downstream. No risk unit means no size, no target in R, and no countable result.
4. The exitWinners are cut early because the gain feels fragile; positions that go nowhere are held for months because nothing has told you to stop.Knowing your holding period, and therefore knowing how much capital the strategy actually needs.
5. The evidenceConfidence tracks the last three trades. A losing streak feels like proof the method broke rather than like normal variance.Distinguishing a bad run from a dead strategy, which is the single most expensive judgement in the whole activity.

The four ways a specification quietly decays

A complete specification is not a permanent achievement. It decays, and it decays in recognisable ways, all of which look like reasonable adjustments at the time. These are worth naming because you will not catch them by reading the document; you catch them by comparing the document to what you actually did.

The clause that grew an exception

A trade you skipped ran without you, so the clause acquires a proviso: unless the sector is strong, unless the gap was on results. Each exception is individually defensible and collectively fatal, because a rule with four exceptions is four rules with no evidence behind any of them. The fix: an exception is a new specification and needs its own count before it is used.

The stop that became a suggestion

The level was hit intraday, the close recovered, and the lesson recorded was that the stop was too tight. Two more of those and the stop is a level you watch rather than an order that rests. The fix: judge the placement rule over many trades, in advance, and never on the trade currently open.

The size that drifted

Sizing stayed formally correct while the risk budget quietly rose after good weeks and fell after bad ones. The specification is intact and the account is now running a different strategy, because size is where the outcome lives. The fix: the risk budget is a number reviewed on a schedule, not a feeling reviewed after trades.

The evidence that was never revisited

The count was done once, at the start, on data that is now three years stale, and nothing since has been added to it. The specification is complete on paper and unsupported in fact. The fix: every closed trade is one more observation; log it in the same fields the original count used.

The common thread is that all four preserve the appearance of a system while removing the property that made it one. What made it a system was that it was fixed in advance and that its results were countable in a stable unit. An exception, a moved stop, a drifting risk budget and a stale count each break exactly one of those two properties, which is why none of them announces itself as a departure.

This is also the honest reason a trading journal exists, and why it is a component of the strategy rather than an accessory to it. The journal is the instrument that detects the drift, because it records what you did in the same fields the specification predicted, and the gap between the two columns is the whole diagnosis.

Where this leaves you

If you take one thing from this page, take the inversion. The setup is not the strategy and the pattern is not the edge. They are one line of a document, and the document is the thing that has value, because the document is what can be tested, taught, executed by somebody who is not you, and defended after a losing month.

It follows that the productive work is usually not looking for a better setup. It is finishing the specification you already have. Most traders reading this could write question one properly in an afternoon, question three in ten minutes, and question four in one sentence, and would come out the other side with something that is genuinely testable for the first time. Question five will take longer and will probably return an uncomfortable answer about how thin the evidence is. That discomfort is the point, and it is not a reason to stop; it is the first accurate piece of information you will have had about your own trading.

This weekWrite the five clauses on one page. Do not improve them yet. Just make each one resolve to a number or an event, and mark honestly which are still adjectives.
This monthApply clause one by hand to a year of history on a small set of instruments and simply count the qualifying sessions. No outcomes, no results, just how often it speaks.
Before sizeAdd the statutory cost line from Table 2 to the count, and hold back the most recent third of the data before you form any view at all.
OngoingLog every trade in the same fields the specification uses, so that the drift described above shows up as a mismatch rather than as a feeling.

The five questions are the spine of the method we teach in our structured curriculum, where the specification is built before any chart is read, and where every later stage, sizing, execution, review and the psychology of holding through the middle, is defined against it rather than bolted on afterwards. The order matters more than any individual answer. A trader with a mediocre setup and a complete specification can find out what is wrong and fix it. A trader with an excellent setup and four blanks cannot, because there is nothing in their process capable of producing that information.

Common Questions

Frequently Asked Questions

A swing trading strategy is a written specification, not a chart pattern. It answers five questions before any position exists: what qualifies as a setup, what event triggers the entry, where the idea is proven wrong, how the position ends including the case where nothing happens, and what evidence there is that the combination does anything at all. The pattern you trade is one line of that document. Most people who say they have a strategy have answered the trigger question and left the other four blank, which is why their results cannot be attributed, repeated or improved. The test of whether you have one is simple: hand the page to somebody who has never seen your screen and see whether they can execute it without asking you a question.

A setup is a description of a chart condition. A strategy is the complete specification that surrounds it: the setup plus the trigger, the invalidation level, the exit logic on both the success and the nothing-happened branch, and the evidence. The distinction matters because the setup is the only one of those that improves with screen time, which is why it gets almost all the attention, and because the other four are the parts that make the setup measurable. A good setup inside an incomplete specification cannot be evaluated, since there is no fixed risk unit to express any result in and no rule that produced the same answer twice.

Precise enough that two competent people given the same chart mark the same bar. Not similar bars, the same bar. If a term needs judgement in the moment to resolve, the rule is both untestable and unrepeatable, and those are the same defect. The cost of vagueness is larger than most people expect and it lands on position size rather than on entry price. In the worked example on this page, three readers applying one honest sentence entered at three prices and ended with risk units of 3.84, 8.09 and 15.17 rupees a share, which at the same fixed risk budget is 1,302, 618 and 329 shares. That is 3.87 times the capital committed to what all three would describe as the same trade.

A price level, decided before the order is sent. A rupee tolerance sounds disciplined but it is circular: the price at which it sits depends on how many shares you hold, and how many shares you hold is supposed to be derived from the distance to the stop. In the worked example, the same sentence about cutting at five thousand rupees puts the stop at 480.90 with 300 shares and at 492.57 with 1,000 shares, and the second of those sits inside the range those pullback sessions had already traded through. One reliable tell is roundness: a size derived from a risk unit is almost never a round number, so a position of exactly 100 or 500 shares usually means the stop was chosen after the size rather than before it.

A time stop closes a position after a fixed number of sessions if it has not made a specified amount of progress. It exists because a swing thesis is a claim about a horizon, and if the horizon passes without the claim producing anything, the claim has failed quietly rather than loudly. Whether you should use one is genuinely open. On the drawn record used here the rule spent forty sessions in positions with a time stop and forty two without it, which is a marginal difference, and a time stop will sometimes close a position days before the move it was waiting for. What is not open is leaving the question blank. A specification that states explicitly that there is no time stop is complete; one that has simply never considered the case is not.

More than a marked-up chart, and almost certainly more than you have. The chart the rule came from cannot also test it, because the rule was fitted to that chart. Honest evidence needs the whole record rather than the memorable part, costs deducted before you look at the result, and some portion of the data held back and never examined while the rules were being set. The uncomfortable arithmetic is that a selective swing rule on one instrument fires only a handful of times a year. On the 643 drawn sessions used here the clause qualified six sessions, and holding back the final third leaves two untainted observations. Two observations cannot be distinguished from luck by any method, and knowing that is more useful than any statistic computed from them.

Far fewer than most people assume, and the count is itself a design decision rather than an accident. On the illustrative record used throughout this page, the rule qualified six sessions out of 643 and had a position open on forty of them, which is about six sessions in every hundred. The rest is waiting. That has two consequences worth building into the plan: the evidence accumulates slowly, so patience is a structural requirement rather than a virtue, and capital sits idle most of the time, so the strategy has to be judged on what it does with the sessions it uses rather than on how busy it keeps you. A rule that fires constantly is usually a rule whose qualifying clause has been loosened until it stopped resolving.

They set a floor the edge has to clear, and they belong in the specification as a constant rather than as an afterthought. A delivery round trip carries Securities Transaction Tax at 0.1 percent on each leg, stamp duty at 0.015 percent on the buy, exchange transaction charges of about 307 rupees per crore each side on NSE cash, a SEBI turnover fee of 10 rupees per crore, and GST at 18 percent on the charges though not on STT or stamp duty. On the 2,88,870 rupee notional used in the figures, that is roughly 643 rupees, about 0.22 percent of turnover, before any brokerage. Against a five thousand rupee risk budget it is close to an eighth of one risk unit, paid whatever the outcome, which is why the cost line goes into the count before you look at the result rather than after.

You can use somebody else's specification, and that is precisely what a real specification makes possible, since a document a stranger can execute without asking questions is the definition of one. What you cannot usefully borrow is a setup description without the other four clauses, which is what most published strategies actually are. Two further conditions apply before it means anything. The evidence has to be recounted on your own data rather than accepted on the author's word, since a rule tuned on somebody else's sample is fitted to it. And the risk budget has to be yours, because the same clauses at a size you cannot sit through will be abandoned in the first difficult stretch, which returns you to having no specification at all.

Where the facts come from

Sources

  • SEBI study of individual traders in the equity derivatives segment, September 2024. The source of the aggregate loss finding quoted once in the section on evidence above. Two limits travel with it and are stated there. The study examined the equity derivatives segment, which is the leveraged, high frequency end of the market, so it does not describe cash equity swing trading. And it is an aggregate across a population, so it does not predict the outcome of any individual account. sebi.gov.in
  • Securities Transaction Tax on delivery equity. 0.1 percent on the purchase and 0.1 percent on the sale, computed on the volume weighted average price. The charging provision is Section 98 of the Finance (No. 2) Act 2004; the current rate was set by the Finance Act 2012 with effect from 1 July 2012. The Finance Acts of 2024, 2025 and 2026 amended only the derivatives entries of that table, so delivery equity is unchanged.
  • Stamp duty on securities transfer. 0.015 percent on a delivery transfer, payable by the buyer only for an exchange trade, under Schedule I Article 56A(b) of the Indian Stamp Act 1899 as inserted by the Finance Act 2019 and effective 1 July 2020. It is levied at the central rate and collected by the clearing corporation, which is why it does not vary between states.
  • Exchange transaction charges, cash segment. NSE charges ₹307 per crore of turnover each side, all in, with effect from 1 March 2026 under circular NSE/FA/73061; the split between the transaction charge and the investor protection fund contribution changed on that date while the total did not. BSE charges ₹375 per crore for group A and B scrips on a flat rate basis with effect from 1 December 2022, under notice 20221109-7.
  • SEBI turnover fee. ₹10 per crore of turnover, 0.0001 percent, on both purchase and sale in the cash segment, under Regulation 41(1) of the SEBI (Stock Brokers) Regulations 2026, gazetted 7 January 2026. Those regulations repeal and replace the 1992 regulations, so citations to Schedule III of the 1992 rules are out of date.
  • GST on trading charges. 18 percent on brokerage, exchange transaction charges, the SEBI turnover fee and depository charges, under Notification 11/2017-Central Tax (Rate), Serial 15, Heading 9971. STT and stamp duty are outside it because the broker recovers them as a pure agent under Rule 33 of the CGST Rules, which is also the reason a contract note has to itemise them on separate lines.
  • The figures on this page. Every price series here is synthetic, generated for this guide, and is not any real instrument. The specification is applied to it mechanically by code, so every level, count, quantity, session number and holding period printed on a figure is an output of that code rather than a drawing made to fit the argument. No outcome is scored anywhere, no success rate is stated or implied, and the risk unit and rupee figures are illustrative throughout.
Educational note. This guide explains how a trading plan is specified and why an incomplete one cannot be tested. It is not a recommendation to trade or invest, it is not investment advice, and it is not a claim that the illustrative rules used here work. Every price, level and rupee figure on this page is illustrative. Bharath Shiksha is an educational publisher, not a SEBI-registered investment adviser or research analyst.

Related guides

Swing trading vs intraday trading

Read →

The setup is one line of the document. Learn to write the other four.