Advertisement
Maurizio-Ciullo

33 Lezione Personale Cancellare Ordini Pendenti Ingresso Limit

Nov 1st, 2022
975
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --------------------------------------------*(33 Lezione Personale Cancellare Ordini Pendenti Ingresso Limit)*-------------------------------------------------
  2.  
  3. Quello che vogliamo fare è piazzare 3 ordini: 1 ingresso limit, 1 take profit ed uno stop bello stesso momento.
  4.  
  5. Se non entriamo in posizione e siamo ancora pendenti e se ci sono o situazioni di un nuovo ingresso oppure di una uscita allora
  6. vogliamo cancellare tutti gli ordini pendenti precedenti rimasti aprendo successivamente dopo circa 15 secondi i nuovi ordini.
  7.  
  8. Se siamo in posizione e abbiamo 1 ordine pendente dopo aver preso o un take profit o uno stop loss, vogliamo cancellare l'ordine pendente
  9. della posizione ormai finita appena c'è un nuovo ingresso oppure di una uscita " che avverranno dopo circa 15 secondi".
  10.  
  11. Se siamo in posizione e abbiamo uno swing market di posizione vogliamo cancellare gli ordini pendenti della vecchia posizione e piazzare i nuovi
  12. ordini.
  13.  
  14. Se siamo in posizione e abbiamo un uscita market vogliamo cancellare gli ordini pendenti rimasti prima di entrare in una nuova posizione
  15. "circa 15 secondi dopo".
  16.  
  17.  
  18. Per fare ciò dobbiamo impostare un cancell_all() ad inizio codice che cancella i pendenti subito e impostare gli alert
  19. di ingresso e chiusura posizione ritardati di 15 secondi.
  20.  
  21.  
  22.        -------  Nel pezzo di strategia esempio sotto avremo: Condizioni di ingresso, Condizioni di limit, Condizioni di market.  ------
  23.  
  24. //@version=5
  25. strategy(title="Study Test Alert/Ingre Limit/Canc Ord Pend", ETC...
  26.  
  27. Immaginiamo di aver calcolato MyEntryCountBar per market ad una determinata barra.
  28.  
  29. buy_command = 'buy_command RITARDATO 15 SECONDI'
  30. sell_command = 'sell_command RITARDATO 15 SECONDI'
  31. close_command = 'close_command RITARDATO 15 SECONDI'
  32. // Se si riscontrano problemi con la cancellazione di ordini togliere il delay sul close command
  33. cancel_command = 'cancel_command NON RITARDATO'
  34.  
  35.  
  36. // strategy.cancel_all() VA MESSO A INIZIO CODICE SOPRA A TUTTO LA LOGICA E': PRIMA CANCELLO POI ENTRO O ESCO RITARDATO
  37. // NELLA STRINGA cancel_command NON RITARDO L'ORDINE
  38. // LA STRINGA cancel_command VA INSERITA DIRETTAMENTE IN: alert(message='{"ETC...  
  39. if condEntryLong and strategy.position_size <0 or condEntryLong and strategy.position_size ==0 //or strategy.position_size >0 and MyEntryCountBar > input_MyExitCountBarL
  40.     strategy.cancel_all()
  41.     alert(message='{"pair":"BTC-PERP","unitsPercent":10,"exchange":"Ftx","apiKey":"FTX","token":"e6d67d6e-1a5f-4e53-a9fd-6276dfa2a34b","isLimit":true,"price":19144,"limitPriceType":"bestPrice","stopLossPercent":"-0.1","stopLossType":"percent","leverage":1,"marginType":"ISOLATED","targets":[{"idx":1,"amount":"100","takeProfitPercent":"0.1"}],"targetType":"percent","targetAmountInPercent":true,"closeCurrentPosition":true,"preventPyramiding":true,"cancelAll":true}', freq=alert.freq_once_per_bar_close)
  42. // plotshape(MyEntryCountBar == input_cancel_pending_limit_long, title="cancel_pending_limit_long")
  43.  
  44.  
  45. // Ingresso ritardato di 15 secondi direttamente nella striga buy_command
  46. if condEntryLong //and strategy.opentrades == 0 FORSE AGGIUNGERE RITARDI INGRESSO PER VIA DELL'ANNULLAMENTO ORDINITK E SL
  47.     strategy.entry('operazioneLong', strategy.long, limit = close, alert_message = "Open Long Position", comment = buy_command)
  48.  
  49. Uscita limit ritardato di 15 secondi direttamente nella striga close_command
  50. if strategy.opentrades == 1
  51.     strategy.exit('SL e TP', from_entry='operazioneLong', loss=stop_loss_long, profit=take_profit_long, alert_message = "Your Long SL-TP Has Been Triggered.", comment = close_command) //limit=take_profit_short_price    
  52.  
  53. Uscita market ritardato di 15 secondi direttamente nella striga close_command
  54. if strategy.opentrades ==1 and MyEntryCountBar > input_MyExitCountBarL
  55.     strategy.close(id='operazioneLong', alert_message = "Close Long Position", comment = close_command)
  56.  
  57. --------- IMPOSTAZIONI TV HUB GUARDA VIDEO SONO DIVERSE DALLE IMPOSTAZIONI CLASSICHE ---------
  58.  
  59. Dopo aver settato tutte le impostazioni classiche tk stop etc... in basso spuntiamo solo le caselle: PREVENT PYRAMIDING E CLOSE CURRENT POSITION.
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement