StopandTrailingStop
Forums › ProRealTime Deutsch forum › ProOrder Support › StopandTrailingStop
- This topic has 6 replies, 2 voices, and was last updated 6 years ago by Nicolas.
-
-
09/10/2018 at 2:27 PM #80103
Hallo
Wie programmiere ich folgendes:
Ein Buy order wurde geöffnet
Sobald der aktuelle Preis grösser als der Einstiegspreis plus 10 ist wird ein STOPloss gesetzt bei aktueller Preis minus 8 (vorher keine SL setzen) . Und wenn dann der aktuelle Preis bei Einstiegspreis plus 30 (also bei 40) ist wird der Stop loss jeweils um 30 Punkte nachgezogen, bei 70 wird er auch wieder um 30 nachgezogen (Trailing), bis dann die Order über TP order eben SL geschlossen wird.
Sell ist umgekehrt.
Gruss, RogerIG
09/10/2018 at 4:15 PM #80121Hallo, ich bin mir nicht sicher, ob ich Ihre Anfrage perfekt verstanden habe, aber haben Sie die Trailing-Stop-Codes probiert, die bereits in der Website und in den Foren verfügbar sind?
Complete trailing stop code function
Trailing stop with the Max Favorable Excursion (MFE)
Es gibt auch eine Reihe von Codes in der Code-Snippet-Liste: https://docs.google.com/spreadsheets/d/1rgboqj7sVwsP9ZRhOduOefye48QMWC07jWVXCl-KJPU/edit#gid=0
09/14/2018 at 12:36 PM #80489Hallo Nicolas
Danke,
ich habe beide Links geprüft, würde sie kombinieren und für den SL auf 2 zu setzen sobald ich 20 Punkte im Plus bin würde ich folgenden Code
(leicht angepasst mit trailingdistance) nutzen:1234567891011121314151617181920212223242526272829303132//trailing stoptrailingstop = 20trailingdistance = 18//resetting variables when no trades are on marketif not onmarket thenMAXPRICE = 0MINPRICE = closepriceexit = 0endif//case SHORT orderif shortonmarket thenMINPRICE = MIN(MINPRICE,close) //saving the MFE of the current tradeif tradeprice(1)-MINPRICE>=trailingstop*pointsize then //if the MFE is higher than the trailingstop thenpriceexit = MINPRICE+trailingdistance*pointsize //set the exit price at the MFE + trailing stop price levelendifendif//case LONG orderif longonmarket thenMAXPRICE = MAX(MAXPRICE,close) //saving the MFE of the current tradeif MAXPRICE-tradeprice(1)>=trailingstop*pointsize then //if the MFE is higher than the trailingstop thenpriceexit = MAXPRICE-trailingdistance*pointsize //set the exit price at the MFE - trailing stop price levelendifendif//exit on trailing stop price levelsif onmarket and priceexit>0 thenEXITSHORT AT priceexit STOPSELL AT priceexit STOPendifgeht das so?
bim zweiten Link, siehe nachfolgend habe ich den Eindruck fehlt der Exit Order für Short, was meinst Du?
1234567891011121314151617181920212223242526272829303132333435363738394041//trailing stop functiontrailingstart = 20 //trailing will start @trailinstart points profittrailingstep = 5 //trailing step to move the "stoploss"//reset the stoploss valueIF NOT ONMARKET THENnewSL=0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIF//next movesIF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFENDIF//manage short positionsIF SHORTONMARKET THEN//first move (breakeven)IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THENnewSL = tradeprice(1)-trailingstep*pipsizeENDIF//next movesIF newSL>0 AND newSL-close>=trailingstep*pipsize THENnewSL = newSL-trailingstep*pipsizeENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIF//************************************************************************GRAPH newSL as "trailing"09/14/2018 at 1:03 PM #8049009/14/2018 at 1:11 PM #8049509/14/2018 at 2:43 PM #80506Hallo Nicolas
Ok, evtl. habe ich es nicht richtig verstanden. Aber nun eine Frage kann ich folgenden Code einfach zu meinem Code hinzufügen?
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374//trailing stoptrailingstop = 20trailingdistance = 18//resetting variables when no trades are on marketif not onmarket thenMAXPRICE = 0MINPRICE = closepriceexit = 0endif//case SHORT orderif shortonmarket thenMINPRICE = MIN(MINPRICE,close) //saving the MFE of the current tradeif tradeprice(1)-MINPRICE>=trailingstop*pointsize then //if the MFE is higher than the trailingstop thenpriceexit = MINPRICE+trailingdistance*pointsize //set the exit price at the MFE + trailing stop price levelendifendif//case LONG orderif longonmarket thenMAXPRICE = MAX(MAXPRICE,close) //saving the MFE of the current tradeif MAXPRICE-tradeprice(1)>=trailingstop*pointsize then //if the MFE is higher than the trailingstop thenpriceexit = MAXPRICE-trailingdistance*pointsize //set the exit price at the MFE - trailing stop price levelendifendif//exit on trailing stop price levelsif onmarket and priceexit>0 thenEXITSHORT AT priceexit STOPSELL AT priceexit STOPendif//trailing stop functiontrailingstart = 35 //trailing will start @trailinstart points profittrailingstep = 5 //trailing step to move the "stoploss"//reset the stoploss valueIF NOT ONMARKET THENnewSL=0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIF//next movesIF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFENDIF//manage short positionsIF SHORTONMARKET THEN//first move (breakeven)IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THENnewSL = tradeprice(1)-trailingstep*pipsizeENDIF//next movesIF newSL>0 AND newSL-close>=trailingstep*pipsize THENnewSL = newSL-trailingstep*pipsizeENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIF//************************************************************************GRAPH newSL as "trailing"09/14/2018 at 2:49 PM #80509 -
AuthorPosts