PROFIT
SET TARGET PROFIT in ProBacktest and ProOrder places a take profit a fixed number of price units from entry. PROFIT syntax, examples, and common errors.
Syntaks
SET TARGET PROFIT xParametere
| Navn | Type | Standard | Beskrivelse |
|---|---|---|---|
x | tall | ingen | Avstand mellom inngangsprisen og take profit, uttrykt i instrumentets prisenheter. Godtar literaler, variabler og uttrykk. |
Slik fungerer det
SET TARGET PROFIT erklærer en ventende take profit-ordre i forhold til inngangsprisen for posisjonen. For en long posisjon ligger utgangsnivået x prisenheter over inngangen; for en short posisjon ligger det x enheter under. Når prisen når nivået, lukkes posisjonen automatisk.
Deklarasjonen er vedvarende. Når den først er kjørt, forblir den aktiv for den gjeldende posisjonen og for posisjoner som åpnes senere, til en annen SET TARGET kallet erstatter det. Å plassere instruksjonen på sin egen linje på slutten av koden, utenfor alle IF-blokker, er det vanlige mønsteret for et fast mål som gjelder for hver handel. Å pakke den inn i betingelser gjør at målet kan endres underveis i handelen, og da er det siste kallet som definerer det aktive nivået.
Avstanden måles i prisenheter, der én enhet er POINTSIZE for instrumentet. For prosentbaserte eller kontantbaserte mål, bruk %PROFIT og $PROFIT variantene i stedet for å konvertere manuelt.
Eksempler
Eksempel 1, MACD-inngang med et mål på 50 enheter (ProBacktest)
myMACD = MACD[12,26,9](close)
long = myMACD crosses over 0
IF NOT LongOnMarket AND long THEN
BUY 1 CONTRACTS AT MARKET
ENDIF
// Close the position once it gains 50 price units
SET TARGET PROFIT 50En long åpnes når MACD-linjen krysser over null, og take profit lukker den 50 prisenheter over inngangen. Dette er eksempelet fra den offisielle referansen.
Eksempel 2, Fast ramme av mål og stop (ProOrder)
DEFPARAM CumulateOrders = false
IF NOT onmarket AND close CROSSES OVER Average[50](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Fixed exit bracket around the entry price
SET TARGET PROFIT 120
SET STOP LOSS 60Hver posisjon har samme ramme, en take profit 120 enheter over inngangen og en stop 60 enheter under. Begge erklæringene står utenfor inngangsblokken slik at de gjelder for alle handler.
Eksempel 3, Volatilitetsskalert mål (ProOrder)
atr = AverageTrueRange[14](close)
IF NOT onmarket AND RSI[14](close) < 30 THEN
BUY 1 CONTRACT AT MARKET
// Target distance adapts to recent volatility
SET TARGET PROFIT ROUND(2 * atr)
ENDIFMålavstanden beregnes på nytt ved inngang som to ganger gjeldende ATR, så rolige markeder får strammere mål enn volatile.
Vanlige feil og fallgruver
- Prisenheter, ikke punkter eller prosent.
SET TARGET PROFITmåler avstanden i instrumentets prisenheter. For poeng brukSET TARGET PPROFIT, for prosentSET TARGET %PROFIT, for kontovalutaSET TARGET $PROFIT. Å blande enhetene gir mål som er altfor trange eller altfor vide. - PROFIT leser ikke gevinst. Nøkkelordet forekommer bare inne i SET-instruksjonen. For å lese det løpende resultatet til en strategi eller en posisjon, bruk STRATEGYPROFIT eller POSITIONPERF; å skrive
IF profit > 0kompilerer ikke. - Avstand, ikke nivå. Verdien er en forskyvning fra inngangsprisen, ikke en absolutt pris.
SET TARGET PROFIT 12000på en indeks som handles på 12050 skaper et mål 12000 enheter unna, ikke et mål på 12000. - Det siste kallet vinner. Påfølgende
SET TARGET-kall overskriver hverandre, bare den siste deklarasjonen er aktiv. Betingede blokker som utløses på samme bar kan stille erstatte et tiltenkt mål.
Relaterte instruksjoner
PPROFIT, take profit-avstand i punkter.%PROFIT, take profit-avstand i prosent.$PROFIT, take profit-avstand i kontovaluta.SET, prefiks for alle ordrehåndteringsdeklarasjoner.TARGET, take profit-siden av SET-instruksjonen.LOSS, stop loss-avstand i prisenheter.Set Target Loss, målordre plassert i en tapsavstand fra inngangen.STRATEGYPROFIT, realisert gevinst for strategien i kontovaluta.POSITIONPERF, avkastning for den åpne posisjonen.TRADEPRICE, inngangsprisen for den gjeldende posisjonen.