impedire al sistema di continuare a comprare sui massimi.
Forums › ProRealTime forum Italiano › Supporto ProOrder › impedire al sistema di continuare a comprare sui massimi.
- This topic has 30 replies, 2 voices, and was last updated 3 years ago by robertogozzi.
-
-
06/15/2021 at 1:41 PM #171803
Buon pomeriggio Roberto, vorrei impedire al sistema di continuare a comprare sui massimi, infatti nelle giornate di ribasso il sistema soffre parecchio entrando in acquisto al minimo rialzo dopo una candela H4 rossa, come potrei rendere il sistema Flat in queste fasi? avevo pensato di porre una condizione da utilizzare esclusivamente a determinati livelli di prezzo come quella di non fare entrare in acquisto il sistema se non ci sono prima almeno 2 candele verdi H4.
Inoltre è possibile impostare delle aree di acquisto? ad esempio porre tra le condizioni compra ai minimi di mese scorso da 13770 ?
Grazie mille.
06/15/2021 at 2:23 PM #171806Per le due candele in H4 ecco (la variabile Cond ti dirà quando ci sono 2 candele H4 rialziste):
123456Timeframe(4 hour,UpdateOnClose)Cond = summation[2](close > open)Timeframe(.....)IF Mie CondizioniLong AND Not Onmarket AND Cond THENBUY 1 CONTRACT AT MARKETENDIFPer l’altro non capisco:
- la relazione che dev’esserci tra il minimo del mese scorso e 13770
- come hai calcolato 13770.
Puoi provare a spiegarlo in un altro modo?
06/15/2021 at 4:01 PM #171813quindi se io nelle condizioni Cond volessi bloccare il sistema e non fargli più fare operazioni in acquisto per un determinato numero di candele ad un certo livello di prezzo (es. 15800) e poi renderlo di nuovo operativo dopo almeno 2 candele H4 verdi (all’apertura della terza candela entra in acquisto) come devo fare?
poi se volessi aggiungere un’altra condizione e cioè fare comprare una volta che il prezzo tocca i minimi di chiusura del mese precedente o i minimi di chiusura della settimana precedente (ma il sistema opera in H4) come devo fare?
quel valore a cui ti riferivi di 13770 è un livello di prezzo a cui vorrei far comprare al sistema una volta che il livello viene toccato (in pratica un ordine pendente in BUY) anche se è un’ennesima condizione indipendente dalle altre, quindi, solo (es. a determinati livelli di prezzo tipo massimi storici o di periodo) in alcuni periodi di mercato voglio applicare queste condizioni di “blocco” del sistema come devo fare?
grazie mille.
06/16/2021 at 9:23 AM #171831Eccolo:
12345678910111213141516Timeframe(4 hour,UpdateOnClose)Cond = summation[2](close > open)Timeframe(.....)ONCE TradeON = 1// riprendere l'operatività se è rimasta sospesa per 20 candeleIF Summation[20](TradeON = 0) = 20 THENTradeON = 1ENDIFIF Mie CondizioniLong AND Not Onmarket AND Cond AND TradeON THENBUY 1 CONTRACT AT MARKETENDIF// se a mercato già da 10 candele ed il prezzo raggiunge 15800, chiudere// le posizioni e sospendere l'operativitàIF LongOnMarket AND ((BarIndex - TradeIndex) >= 10) AND (close >= 15800) THENTradeON = 0ENDIFIn merito alla seconda domanda occorre piazzare un ordine BUY (Stop se uil prezzo d’entrata è peggiorativo, Limit se è migliorativo):
1234567IF close < 13770 THEN //acquista ad un prezzo maggioreBUY 1 CONTRACT AT 13770 STOPELSIF close > 13770 THEN //acquista ad un prezzo miglioreBUY 1 CONTRACT AT 13770 LIMITELSE //acquista a mercatoBUY 1 CONTRACT AT MARKETENDIFT’informo che gli ordini pendenti scadono OGNI barra, per cui se vuoi mantenerli attivi per più barre, devi piazzarli di nuovo alla barra successiva.
T’informo anche che IG (come ogni broker, con limiti più o meno alti) richiede che ci sia una distanza minima da rispettare tra il prezzo attuale e quello d’entrata. Se non si rispetta, la strategia viene interrotta (ovviamente non nel backtest, solo in demo o reale). Devi verificare sul sito o sulla piattaforma di IG qual’è questa distanza, che può variare durante il giorno.06/16/2021 at 4:23 PM #171887Quindi se il prezzo sarà maggiore o uguale a 15800 verrà applicata la condizione di acquisto solo dopo 2 candele H4 verdi…..se invece il prezzo è minore di 15800 verrà applicato sempre la condizione delle 2 Candele verdi prima di entrare in acquisto? oppure verranno applicate le condizioni precedenti?
e poi a che righe del sistema devo applicare il codice delle condizione che hai formulato?
ciao, grazie.
06/16/2021 at 4:31 PM #171888Entra quando ci sono le TueCondizioni + 2 candele H4 rialziste consecutive.
Sospende tutto dopo 10 candele a mercato (se esce prima di 10 non sospende niente).
Dopo una sospensione riprende dopo 20 candele d’inattività.
15800 è un numero che hai indicato tu, non so cosa significhi e come tu l’abbia calcolato.
06/16/2021 at 4:47 PM #171889sospende tutto se il prezzo sarà maggiore o uguale a 15800, 15800 è il massimo storico registrato da Dax30 giorni fa, ma se il prezzo sarà minore di 15800 non dovrebbe sospendere dopo 10 candele o lo fa sempre? inoltre, scusami ma non sono per niente pratico di programmazione, a che riga devo inserire il copia ed incolla del tuo codice nel sistema che voglio integrare?
Grazie mille Roberto.
06/16/2021 at 4:54 PM #171890Sospende se il prezzo è > 15800 E sono passate 10 candele.
Devi aggiungere queste all’inizio del timeframe:
12345ONCE TradeON = 1// riprendere l'operatività se è rimasta sospesa per 20 candeleIF Summation[20](TradeON = 0) = 20 THENTradeON = 1ENDIFpo devi aggiungere, alle tue condizioni d’entrata:
1AND TradeONe queste dopo l’entrata:
12345// se a mercato già da 10 candele ed il prezzo raggiunge 15800, chiudere// le posizioni e sospendere l'operativitàIF LongOnMarket AND ((BarIndex - TradeIndex) >= 10) AND (close >= 15800) THENTradeON = 0ENDIF06/16/2021 at 5:20 PM #17189106/16/2021 at 6:29 PM #171897Basta che gli metti le condizioni ancora valide e gli fai eseguire BUY di nuovo.
06/16/2021 at 6:55 PM #17189806/16/2021 at 8:19 PM #171901Tu metti un ordine pendente per entrare a mercato,
Se è già entrato perché piazzarlo di nuovo?
06/17/2021 at 1:00 PM #171931Buon pomeriggio Roberto ho provato ad integrare i tuoi codici appena formulati con il sistema che avevo, ma mi dà errore alla riga 24 (timeframe…..), per cortesia puoi verificare se l’integrazione che ho fatto è corretta nell’inserimento delle righe, ma dubito che sia così:) infatti ho sbagliato di sicuro qualcosa.
Inoltre se cortesemente puoi correggerlo e testarlo.
Grazie mille.
06/17/2021 at 1:12 PM #171935Se lo pubblichi cerco di aiutarti.
06/17/2021 at 1:45 PM #171936oh scusami sono fuso 🙂 avevo dimenticato di pubblicarlo.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivatet1 = (OpenDayOfWeek = 1) AND (Time >= 010000) AND (Time <= 210000)t2 = (OpenDayOfWeek = 2) AND (Time >= 010000) AND (Time <= 210000)t3 = (OpenDayOfWeek = 3) AND (Time >= 010000) AND (Time <= 210000)t4 = (OpenDayOfWeek = 4) AND (Time >= 010000) AND (Time <= 210000)t5 = (OpenDayOfWeek = 5) AND (Time >= 010000) AND (Time <= 170000)x1 = (OpenDayOfWeek = 1) AND (Time = 240000)x2 = (OpenDayOfWeek = 2) AND (Time = 240000)x3 = (OpenDayOfWeek = 3) AND (Time = 240000)x4 = (OpenDayOfWeek = 4) AND (Time = 240000)x5 = (OpenDayOfWeek = 5) AND (Time = 210000)//If OnMarket AND (x1 OR x2 OR x3 OR x4 OR x5) THENSELL AT MARKETEXITSHORT AT MARKETENDIFTimeframe(4 hour,UpdateOnClose)Cond = summation[2](close > open)Timeframe(…..)ONCE TradeON = 1// riprendere l’operatività se è rimasta sospesa per 20 candeleIF Summation[20](TradeON = 0) = 20 THENTradeON = 1ENDIF// Condizioni per entrare su posizioni longL1 = t1 OR t2 OR t3 OR t4 OR t5L2 = Not OnMarketindicator1 = DonchianChannelDown[20]c1 = (close <= indicator1)indicator2 = Stochastic[50,1](close)c2 = (indicator2 <= 78)c3 = (close <= close[20])IF c1 OR c2 OR c3 OR (L1 AND L2) AND Cond AND TradeON THENBUY 1 CONTRACT AT MARKETENDIF// se a mercato già da 10 candele ed il prezzo raggiunge 15800, chiudere// le posizioni e sospendere l’operativitàIF LongOnMarket AND ((BarIndex – TradeIndex) >= 10) AND (close >= 15800) THENTradeON = 0ENDIFIF close < 13770 THEN //acquista ad un prezzo maggioreBUY 1 CONTRACT AT 13770 STOPELSIF close > 13770 THEN //acquista ad un prezzo miglioreBUY 1 CONTRACT AT 13770 LIMITELSE //acquista a mercatoBUY 1 CONTRACT AT MARKETENDIF// Stop e targetSET STOP PLOSS 141 //529 //398//398SET TARGET PPROFIT 271 //395 -
AuthorPosts
Find exclusive trading pro-tools on