Little Bird Trading

Negativ kommission i Pine Script: vad den betyder och hur du rättar den

3 min läsning · Uppdaterad

Om din Strategy Tester i TradingView visar en negativ kommission, eller ett backtest som ser mycket bättre ut än det borde, är kommissionsinställningen det första stället att titta på. Den här sidan förklarar vad en negativ kommission gör i Pine Script, varför den dyker upp av misstag och hur du ställer in kostnader som stämmer med din mäklare.

Var kommissionen ställs in i Pine Script

En strategis handelskostnader kommer från två argument i anropet strategy():

  • commission_type: hur kostnaden mäts. strategy.commission.percent är en procent av orderns värde, strategy.commission.cash_per_contract är ett fast belopp per kontrakt och strategy.commission.cash_per_order är ett fast belopp per order.
  • commission_value: talet som används med den typen. Standardvärdet är 0, så en strategi utan inställd kommission handlar gratis.

Samma två inställningar finns på strategins flik Inställningar > Egenskaper. Ett värde som skrivs där ersätter värdet i koden för din graf, och därför kan två personer köra samma skript och se olika resultat.

Vad en negativ kommission gör

Ett negativt commission_value bokas som en kredit. Varje avslut lägger till pengar på kontot där en kostnad normalt skulle ta bort dem. Vissa börser betalar rabatt till order som tillför likviditet, så ett litet negativt värde kan beskriva en verklig rabattplan. För en privat handlare som betalar en mäklare kommer ett negativt tal nästan alltid från ett skrivfel eller ett kopierat skript, och det får varje affär att se bättre ut än den hade varit.

Effekten växer med antalet affärer. En strategi som handlar 400 gånger per år med en kredit på 2 US$ per kontrakt och avslut tjänar 1600 US$ per kontrakt enbart på inställningen, innan en enda prisrörelse har räknats.

Så upptäcker du det

  • I Strategy Testers Lista över affärer är nettovinsten på små vinnande affärer större än prisrörelsen gånger kontraktets värde.
  • Nollaffärer (köp och försäljning till samma pris) visar vinst.
  • Resultatsammanfattningen visar betald kommission som ett negativt tal.
  • Resultaten blir märkbart bättre när du ökar handelsfrekvensen, utan att ändra ingångslogiken.

Så ställer du in det rätt

  1. Ta reda på din mäklares verkliga totalkostnad per kontrakt och sida: kommission, börsavgift, clearing och tillsynsavgifter tillsammans.
  2. För terminer, använd commission_type=strategy.commission.cash_per_contract med det beloppet per sida. Strategy Tester drar det vid köpet och igen vid försäljningen, så 2,50 US$ per sida blir 5 US$ per tur och retur.
  3. För aktier och ETF:er prissatta per aktie, använd cash_per_order för en fast avgift per order, eller percent om din mäklare tar en procentsats.
  4. Lägg till slippage med argumentet slippage, mätt i ticks. En tick per sida är en rimlig startpunkt för likvida indexterminer som ES och NQ.
  5. Kontrollera fliken Egenskaper efter att skriptet laddats, så att ett kvarlämnat värde där inte ersätter din kod.

Exempel för en ES-strategi med 2,50 US$ i kostnad per sida och en tick slippage:

strategy("ES levels test", overlay=true,
     commission_type=strategy.commission.cash_per_contract,
     commission_value=2.5, slippage=1)

Varför detta spelar roll innan du handlar en strategi live

Kostnaderna avgör om många intradagsstrategier tjänar pengar. En tick i ES är 0.25 punkter, värd 12,50 US$, så en strategi som i snitt tar några ticks per affär kan gå från lönsam till förlustbringande när verklig kommission och slippage räknas in. Om ett backtest bara fungerar med noll eller negativa kostnader håller det inte live. Pine Script-FAQ om backtester och larm går igenom de andra skälen till att backtest och liveresultat glider isär, och hur du upptäcker överanpassade handelssystem går igenom resten av checklistan.

Testa en strategi mot dagliga nivåer

Little Bird Trading publicerar stöd-, motstånds- och pivotnivåerna för nästa handelsdag för 20 marknader, 23 symboler totalt, bland dem ES, NQ, SPY och QQQ. Via MyLinedChart laddas nivåerna in i din graf eller laddas ner som data, så att du kan testa ingångar vid de priserna med realistiska kostnader. Exemplet på en dagsplan visar hur en dags plan ser ut.

Vanliga frågor

Kan commission_value vara negativt i Pine Script?

Ja. Strategy Tester behandlar ett negativt värde som en kredit vid varje avslut. Använd det bara för att modellera en verklig rabatt som du får.

Tar TradingView kommission per sida eller per tur och retur?

Per avslut. Beloppet dras vid köpet och igen vid försäljningen, så ange din kostnad per sida.

Varför visar min strategi andra resultat på någon annans graf?

Inställningarna på fliken Egenskaper, inklusive kommission och slippage, kan skilja sig från värdena i koden. Jämför dem först.

Är det här finansiell rådgivning?

Nej. Den här sidan är utbildning i hur backtester ställs in. Du fattar och äger dina egna affärer.

Endast utbildningsinnehåll. Ingen investeringsrådgivning.