problemi con broker IG riguardo l’utilizzo di algo con trailing stop e trailing
Forums › ProRealTime forum Italiano › Supporto ProOrder › problemi con broker IG riguardo l’utilizzo di algo con trailing stop e trailing
- This topic has 18 replies, 3 voices, and was last updated 3 years ago by MauroPro.
-
-
08/10/2021 at 6:25 PM #175043
Buonasera Roberto,
sto avendo problemi con IG Markets in quanto utilizzando il codice formulato da te con trailing step e trailing stop (una volta raggiunti i punti a cui dovrebbe attivarsi il trailing stop ed alzare lo stop) non mi fa entrare gli ordini di vendita stop, li ho anche chiamati e mi hanno detto che deve esserci una distanza minima , ok capisco ma a questo punto l’ordine di vendita stop non entrerà mai visto che il sistema ha avuto rifiutato l’ordine di vendita stop. Tu come fai? utilizzi i trailing ti chiedo un consiglio su come fare a risolvere il problema, grazie.
08/10/2021 at 10:57 PM #175071Non so quale sia il trailing stoip che usi, ma questo è quello di Nicolas, aggiornato con la DISTANZA:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960//*********************************************************************************// https://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/// (righe 17- 56)////trailing stop functionIF (BarIndex - TradeIndex) >= 0 THEN //0trailingstart = 20 //20 trailing will start @trailinstart points profittrailingstep = 5 //5 trailing step to move the "stoploss"distance = 7 //7 pips distance from caurrent price (if required by the broker)//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 THENIF LongOnMarket THENIF (close + distance) > newSL THENSELL AT newSL STOPELSIF (close - distance) < newSL THENSELL AT newSL LIMITELSESELL AT MarketENDIFELSIF ShortOnmarket THENIF (close + distance) < newSL THENEXITSHORT AT newSL STOPELSIF (close - distance) > newSL THENEXITSHORT AT newSL LIMITELSEEXITSHORT AT MarketENDIFENDIFENDIFENDIF//*********************************************************************************08/12/2021 at 5:35 PM #175193ciao Roberto, lo ho provato in reale il trailing stop modificato da Nicolas con la distanza ma mi è successo che per 2 ingressi che doveva entrare non è entrato (mi ha fatto un suono ed è comparsa una linea verde sotto) ed al terzo è entrato, perchè?
08/12/2021 at 6:35 PM #175198Occorre:
- il codice
- lo strumento usato
- il TF
- data ed orario dell’operazione errata.
Devo poter replicare la tua operatività in modo esatto.
08/28/2021 at 5:25 PM #176423Buonasera Roberto scusami ti rispondo solo ora perchè ero fuori per dei giorni e non potevo connettermi. Come ti dicevo (spero ricordi) inserendo il codice di Nicolas fornitomi da te per il problema della distanza minima accettata dal broker IG riguardo lo spostamento del trailing stop ti invio tutte le informazioni che mi hai chiesto, ti posto il codice e ti dico che l’operazione in oggetto è sul Dow Jones Wall Street Cash 1 euro , su timeframe 5 minuti ed è del 12/08/2021 alle ore 18:01 è l’ingresso BUY , come sempre grazie.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182//-------------------------------------------------------------------------// Codice principale : Break in Limit DOW JONES 5 min//-------------------------------------------------------------------------// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// HORAIRESONCE a1 = 1.0startTime = 145000endTime = 235500// Condizioni per entrare su posizioni longc1 = (high >= high[1])IF time >= startTime and time <= endTime and c1 thenBuy 1 contract at high [1] LIMIT //entrata con ordine pendente LIMITEndif// Stop e targetSET STOP PLOSS 317SET TARGET PPROFIT 105 //395//trailing stop functionIF (BarIndex - TradeIndex) >= 0 THEN //0trailingstart = 25 //20 trailing will start @trailinstart points profittrailingstep = 5 //5 trailing step to move the "stoploss"distance = 8 //7 pips distance from caurrent price (if required by the broker)//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 THENIF LongOnMarket THENIF (close + distance) > newSL THENSELL AT newSL STOPELSIF (close - distance) < newSL THENSELL AT newSL LIMITELSESELL AT MarketENDIFELSIF ShortOnmarket THENIF (close + distance) < newSL THENEXITSHORT AT newSL STOPELSIF (close - distance) > newSL THENEXITSHORT AT newSL LIMITELSEEXITSHORT AT MarketENDIFENDIFENDIFENDIF//**********************************************************************08/31/2021 at 9:56 PM #17655109/01/2021 at 9:32 AM #176573Il trailing stop non ha nessun effetto sull’entrate, riguarda le uscite.
Il 12/8 entra sulla candela delle 14:50 (in base alle condizioni rilevate su quella delle 14:45) edil trailing stop entra in funzione alle 22:20 ed alle 23:00 esce (la X di uscita è sulla candela successiva). Dopodiché entra ancora alle 23:10.
Non vedo problemi.
Prova ad aggiungere queste linee alla fine del codice per vedere i due prezzi (entrata e trailing stop) sul grafico:12graphonprice PositionPrice coloured(0,0,255,255)graphonprice newSL coloured(255,0,0,255)09/04/2021 at 4:04 PM #176791Ok Roberto provo a far così su Dowjones, su altri assets va bene comunque. Come sempre ti ringrazio e ti auguro un sereno fine settimana, ciao.
1 user thanked author for this post.
09/07/2021 at 8:56 PM #176958Ciao Roberto, senza aprire un altro topic sui trailingstop, ti volevo chiedere: A) se conosci (hai mai utilizzato e cosa ne pensi) di questi tipo di trailing stop trovato nel forum (riporto solo la parte long per semplicità).
In generale preferisco quello classico che riporti sopra, ma in alcuni Ts questo performa meglio.
B) se riesci a convertirlo in punti.
Grazie
once trailingstop = 1
if trailingstop then
trailingpercentlong = 0.35 // %
once acceleratorlong = 0.055
once steppercentlong = (trailingpercentlong/10)*acceleratorlong
if onmarket then
trailingstartlong = positionprice*(trailingpercentlong/100)
trailingsteplong = positionprice*(steppercentlong/100)
endifIF NOT ONMARKET THEN
newSL=0
ENDIF
IF LONGONMARKET THEN
IF newSL=0 AND high-tradeprice(1)>=trailingstartlong THEN
newSL = tradeprice(1)+trailingsteplong
ENDIF
IF newSL>0 AND high-newSL>trailingsteplong THEN
newSL = newSL+trailingsteplong
ENDIF
ENDIF
IF newSL>0 THEN
SELL AT newSL STOP
ENDIF
endif09/07/2021 at 9:53 PM #176977Adatta il trailing stop all’accumulo o vendita di posizioni seguendone il prezzo, per cui è impossibile convertirlo in pips, il prezzo resta tale, non si può convertire.
Tu cosa vuoi che sia espresso in pips?
09/07/2021 at 10:29 PM #17698409/07/2021 at 10:43 PM #176987Dov’è il codice del tuo esempio?
09/07/2021 at 10:49 PM #17698809/07/2021 at 10:54 PM #176990Non vedo codeste variabili. Quali righe sono?
09/07/2021 at 10:58 PM #176991Il mio era un esempio. La parte con le variabili d trasformare in punti, se possibile. è questa:
trailingpercentlong = 0.35 // %
once acceleratorlong = 0.055
once steppercentlong = (trailingpercentlong/10)*acceleratorlong
if onmarket then
trailingstartlong = positionprice*(trailingpercentlong/100)
trailingsteplong = positionprice*(steppercentlong/100) -
AuthorPosts
Find exclusive trading pro-tools on