definire uno stop in base alla chiusura della candela
Forums › ProRealTime forum Italiano › Supporto ProOrder › definire uno stop in base alla chiusura della candela
- This topic has 43 replies, 2 voices, and was last updated 3 years ago by robertogozzi.
Tagged: t
-
-
06/04/2021 at 12:04 PM #171138
ciao Mauro,
non sono esperto in programmazione vorrei ottimizzare un trading system che ho con stop fisso che ho ottimizzato, ma facendolo lavora su 4 ore Weekly ha perdite elevate vorrei agire sulle perdite sto valutando vari modi, sai se è possibile definire uno stop in base alla chiusura della candela oltre supporti o resistenze dinamiche definite dalla piattaforma Prorealtime? Grazie mille.
06/04/2021 at 1:43 PM #171145Per favore NON aggiungere domande estranee ad altri post esistenti.
Crea difficoltà nel reperire informazioni.
Grazie 🙂
Ho creato io un nuovo argomento.
06/04/2021 at 8:13 PM #171164Buonasera Roberto,
è possibile definire uno stop su un trading system che ho in base alla chiusura della candela H4 una decina di pips oltre supporti o resistenze dinamiche maggiori definite dalla piattaforma Prorealtime?
o definire lo Stop in base all’indicatore Supertrend ( chiudendo la posizione alla chiusura candela H4 oltre il limite segnalato da Supertrend).
Inoltre vorrei aggiungere al trading system il DMI plus – minus tarato a 14 periodi come “filtro” per regolare gli ingressi e vorrei rendere operativo il sistema solo in alcuni giorni ed in determinate fasce orarie. Potresti aiutarmi?
Grazie mille.
06/04/2021 at 8:22 PM #171169Le trend lines e gli altri oggetti che sono sul grafico non sono accessibili dal codice.
Si può fare sul ST.
Te lo faccio il prima possibile.
06/04/2021 at 9:27 PM #171171Roberto grazie in anticipo per la disponibilità, oltre allo stop su Supertrend vorrei aggiungere DMI come filtro per regolare ingressi e fare operare il sistema SOLO a determinate ORE o in determinati GIORNI, se potrebbe essere meglio potrei postare il codice del sistema?
06/04/2021 at 9:56 PM #171172Come preferisci, se posti il codice lavoro su quello, altrimenti lo faccio io in modo semplice.
06/05/2021 at 11:11 AM #171191Eccolo:
123456789101112131415161718192021222324252627282930313233343536373839404142DEFPARAM CumulateOrders = FALSETimeOK = time >= 090000 AND time <= 180000DayOK = OpenDayOfWeek = 1 OR OpenDayOfWeek = 2 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 4 OR OpenDayOfWeek = 5Avg = average[200,0](close)MyST = Supertrend[3,10]MyDI = DI[14](close)// condizioni LONGL1 = close CROSSES OVER AvgL2 = MyDI > 0 AND MyDI > MyDI[1]L3 = TimeOK AND DayOKL4 = Not OnMarketL5 = close > MyST// condizioni SHORTS1 = close CROSSES UNDER AvgS2 = MyDI < 0 AND MyDI < MyDI[1]S3 = TimeOK AND DayOKS4 = Not OnMarketS5 = close < MyST// Entrata LONGIF L1 AND L2 AND L3 AND L4 AND L5 THENBUY 1 CONTRACT AT MARKETMySL = MySTTP = abs(close - MyST) * 2SET TARGET PROFIT TPSELL AT MySL STOPENDIF// Entrata SHORTIF S1 AND S2 AND S3 AND S4 AND S5 THENSELLSHORT 1 CONTRACT AT MARKETMySL = MySTTP = abs(close - MyST) * 2SET TARGET PROFIT TPEXITSHORT AT MySL STOPENDIF//aggiornare lo Stop LossIF LongOnMarket THENMySL = max(MySL,MyST)SELL AT MySL STOPELSIF ShortOnMarket THENMySL = min(MySL,MyST)EXITSHORT AT MySL STOPENDIF06/05/2021 at 2:20 PM #171197Roberto, intanto ti ringrazio per la tua disponibilità, temo che ci siano delle cose che vanno in contrasto con alcune condizioni del sistema che ho (che opera solo in BUY) quindi posto il codice in maniera che può essere più semplice lavorarci.
La strategia si basa su questi indicatori:
Supertrend ( 1-56) (3-56)
Chandel Kroll (10,20,3)
Media Mobile Hull (56)
Regressione lineare (40)
Bande di Bollinger (40, 2)
Vorrei aggiungere come “filtro” agli ingressi il DMI (Directional Movement Index) plus & minus a 14 periodi (cioè entrare con valori ADX > 23 o maggiori di 8, 9, 10 in concomitanza dell’incrocio del dmi minus con il plus e viceversa con l’ADX media nera). Facendo operare il sistema SOLO in determinate ORE o in determinati GIORNI.
Come ti dicevo il sistema opera solo in BUY se volessi farlo lavorare anche in SELL sarebbe meglio farne un altro distinto ma opposto oppure integrare le condizioni SELL già in questo?
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni long
indicator1 = ChandeKrollStopUp[10,20,3]
indicator2 = ChandeKrollStopDown[10,20,3]
c1 = (indicator1 CROSSES OVER indicator2)
c2 = (open < close)
c3 = (open > DClose(2))indicator3 = Average[56](high)
c4 = (open > indicator3)
c5 = (open < close)
c6 = (open > DClose(2))indicator4 = SuperTrend[1,56]
c7 = (open > indicator4)
c8 = (open < close)
c9 = (open > DClose(2))indicator5 = Average[50](high)
c10 = (open > indicator5)
c11 = (open < close)
c12 = (open > DClose(2))IF (c1 and c2 and c3)OR(c2 and c3 and c4)OR(c2 OR c3 or c7) or(c2 and c2 and c10) THEN
BUY 1 CONTRACT AT MARKET
ENDIF// Stop e target
SET STOP PLOSS 276 //196(h2passo2) //276(passo3) //260 //529 //398//398
SET TARGET PPROFIT 93 //198(h2passo2) //90 //90 //39506/05/2021 at 2:55 PM #171199Inoltre se volessi rendere operativo il sistema esempio : dalle 00:00 alle 8:00 ( solo il lunedì, mercoledì e venerdi) ; dalle 10:00 alle 17:30 (solo il martedì ed il giovedì) ed eventualmente aggiungere altri intervalli temporali a seconda dei giorni come devo specificarlo nel codice? Grazie ancora.
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni long
indicator1 = ChandeKrollStopUp[10,20,3]
indicator2 = ChandeKrollStopDown[10,20,3]
c1 = (indicator1 CROSSES OVER indicator2)
c2 = (open < close)
c3 = (open > DClose(2))indicator3 = Average[56](high)
c4 = (open > indicator3)
c5 = (open < close)
c6 = (open > DClose(2))indicator4 = SuperTrend[1,56]
c7 = (open > indicator4)
c8 = (open < close)
c9 = (open > DClose(2))indicator5 = Average[50](high)
c10 = (open > indicator5)
c11 = (open < close)
c12 = (open > DClose(2))IF (c1 and c2 and c3)OR(c2 and c3 and c4)OR(c2 OR c3 or c7) or(c2 and c2 and c10) THEN
BUY 1 CONTRACT AT MARKET
ENDIF// Stop e target
SET STOP PLOSS 276 //196(h2passo2) //276(passo3) //260 //529 //398//398
SET TARGET PPROFIT 93 //198(h2passo2) //90 //90 //39506/05/2021 at 3:07 PM #17120106/05/2021 at 3:42 PM #171202Io ho fatto un esempio che può essere modificato a piacimento.
Gli orari sono solo operativi, NON chiudono posizioni. Se vuoi chiuderle occorrono altre istruzioni, devi dirmelo tu.
Sia gli orari che i giorni puoi modificarli, i giorni sono 1=Lun, 2=Mar, ecc… per quelli che NON desideri al posto del loro numero mettici 9.
06/05/2021 at 6:18 PM #171207si Roberto, io intendo ad esempio rendo operativo il sistema alle 00:00 di lunedi e voglio chiudere le posizioni in acquisto prima delle 8:00; il sistema poi voglio renderlo operativo dalle 10 di lunedì e voglio chiudere tutte posizioni in acquisto prima delle 17:30;
il martedì voglio rendere operativo il sistema dalle 10:00 e chiudere tutte le posizioni aperte alle 23:00 e così via…… chiaramente tutto ciò alle condizioni del codice che ti ho inviato in precedenza
cioè a me serve una formula operativa su intervalli temporali di operatività che variano in base ai giorni (cioè rendo il sistema attivo dalle ore tot e voglio chiudere automaticamente tutte le posizioni che sono state aperte prima di una determinata ora ad un determinato giorno lunedi, martedi e così via).
Quindi Lunedì operativo dalle 00:00 chiudo tutto all’apertura delle 8:00; poi di nuovo operativo dalle 10:00 e chiudo tutto alle 17:30
Martedi operativo dalle 9:00 chiudo tutto alle 17:30 : poi di nuovo operativo dalle 19:00 e chiudo tutto alle 23:00 etc.
Ti ringrazio infinitamente.
06/05/2021 at 7:35 PM #171212Roberto ho pensato che sia meglio non definire nel sistema lo Stop basato sul SuperTrend nè su nessun altro indicatore, ma vorrei stabilirlo quindi stabilire la chiusura della posizione in base al numero di candele massimo (esempio 20) H4 in profitto (verdi) ed il numero massimo (esempio 2) di candele H4 senza profitto (rosse), quindi alla seconda chiusura H4 negativa la posizione deve essere chiusa.
Ti invio il codice modificato in base a questa unica modalità di Stop e profitto che voglio applicare, se è possibile se puoi vedere se è scritto correttamente e se è corretto se lo integrari con quelle altre indicazioni del codice che ti ho inviato prima nel codice precedentemente.
Grazie ancora e scusami se non te l’ho detto in precedenza ma è una decisione che ho preso adesso dopo ulteriori backtests.
06/05/2021 at 7:41 PM #171213Ecco questo:
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = False // Posizioni cumulate disattivateTimeOK = time >= 000000 AND time <= 240000
DayOK = OpenDayOfWeek = 1 OR OpenDayOfWeek = 9 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 4 OR OpenDayOfWeek = 9MyST = Supertrend[1,60]
// Condizioni per entrare su posizioni long
L1 = TimeOK AND DayOK
L2 = Not OnMarketindicator1 = ChandeKrollStopUp[10,20,3]
indicator2 = ChandeKrollStopDown[10,20,3]
c1 = (indicator1 CROSSES OVER indicator2)
c2 = (open < close)
c3 = (open > DClose(2))indicator3 = Average[56](high)
c4 = (open > indicator3)
c5 = (open < close)
c6 = (open > DClose(2))indicator4 = SuperTrend[1,60]
c7 = (open > indicator4)
c8 = (open < close)
c9 = (open > DClose(2))indicator5 = Average[50](high)
c10 = (open > indicator5)
c11 = (open < close)
c12 = (open > DClose(2))IF (c1 and c2 and c3)OR(c2 and c3 and c4) OR (c2 OR c3 or c7) OR (c2 and c3 and c10) OR (L1 AND L2) THEN
BUY 1 CONTRACT AT MARKET
ENDIF// NUMERO BARRE OTTIMALI
ONCE maxCandlesLongWithProfit = 20 // profitto longONCE maxCandlesLongWithoutProfit = 2 // Limite long
posProfit = (((close – positionprice) * pointvalue) * countofposition) / pipsize
numberCandles = (BarIndex – TradeIndex)
m1 = posProfit > 0 AND numberCandles >= maxCandlesLongWithProfit
m3 = posProfit < 0 AND numberCandles >= maxCandlesLongWithoutProfitIF LONGONMARKET AND (m1 OR m3) THEN
SELL AT MARKET
ENDIF06/06/2021 at 10:43 AM #171241Eccolo. Con T1, T2, T3, T4 e T5 indichi i giorni e gli orari in cui operare, per escludere uno (o più) giorni basrta cghe al proprio numero metti nove, ad esempio per NON operare di Lunedì:
1t1 = (OpenDayOfWeek = 9) AND (Time >= 080000) AND (Time <= 170000)Per chiudere le operazioni aperte, per ciascun giorno, basta che modifichi gli orari di x1, x2, x3, x4 e x5. Anche in questo caso puoi disabilitare alcuni giorni, lasciano aperte le posizioni, mettendo 9 al numero cel giorno (come fatto sopra).
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivatet1 = (OpenDayOfWeek = 1) AND (Time >= 080000) AND (Time <= 170000)t2 = (OpenDayOfWeek = 2) AND (Time >= 080000) AND (Time <= 170000)t3 = (OpenDayOfWeek = 3) AND (Time >= 080000) AND (Time <= 170000)t4 = (OpenDayOfWeek = 4) AND (Time >= 080000) AND (Time <= 170000)t5 = (OpenDayOfWeek = 5) AND (Time >= 080000) AND (Time <= 170000)x1 = (OpenDayOfWeek = 1) AND (Time = 180000)x2 = (OpenDayOfWeek = 2) AND (Time = 180000)x3 = (OpenDayOfWeek = 3) AND (Time = 180000)x4 = (OpenDayOfWeek = 4) AND (Time = 180000)x5 = (OpenDayOfWeek = 5) AND (Time = 180000)MyST = Supertrend[1,60]//If OnMarket AND (x1 OR x2 OR x3 OR x4 OR x5) THENSELL AT MARKETEXITSHORT AT MARKETENDIF// Condizioni per entrare su posizioni longL1 = t1 OR t2 OR t3 OR t4 OR t5L2 = Not OnMarketindicator1 = ChandeKrollStopUp[10,20,3]indicator2 = ChandeKrollStopDown[10,20,3]c1 = (indicator1 CROSSES OVER indicator2)c2 = (open < close)c3 = (open > DClose(2))indicator3 = Average[56](high)c4 = (open > indicator3)c5 = (open < close)c6 = (open > DClose(2))indicator4 = SuperTrend[1,60]c7 = (open > indicator4)c8 = (open < close)c9 = (open > DClose(2))indicator5 = Average[50](high)c10 = (open > indicator5)c11 = (open < close)c12 = (open > DClose(2))IF (c1 and c2 and c3)OR(c2 and c3 and c4) OR (c2 OR c3 or c7) OR (c2 and c3 and c10) OR (L1 AND L2) THENBUY 1 CONTRACT AT MARKETENDIF// NUMERO BARRE OTTIMALIONCE maxCandlesLongWithProfit = 20 // profitto longONCE maxCandlesLongWithoutProfit = 2 // Limite longposProfit = (((close – positionprice) * pointvalue) * countofposition) / pipsizenumberCandles = (BarIndex – TradeIndex)m1 = posProfit > 0 AND numberCandles >= maxCandlesLongWithProfitm3 = posProfit < 0 AND numberCandles >= maxCandlesLongWithoutProfitIF LONGONMARKET AND (m1 OR m3) THENSELL AT MARKETENDIF -
AuthorPosts
Find exclusive trading pro-tools on