Salve a tutti volevo creare un mio sistema ma a quanto pare ancora non ci riesco potete darmi una mano? praticamente le condizioni per acquistare long dovevano essere se la regressione è verde acquista un contratto quando il supertrend diventa verde a chiusura di candela che fa cambiare il colore al supertrend . invece per gli short il contrario cioè se la regressione è rossa vendi un contratto quando il supertrend cambia colore e quindi diventa rosso a chisura di candela. Avevo ipotizzato questo codice ma non mi prende ciò che volevo.Ho messo uno stop loss fisso perchè non sapevo mettere lo stop loss sotto il minimo/massimo relativo o per lo meno sotto il minimo/massimo del supertrend se sapete spiegarmelo sarebbe un ottima cosa per i futuri sistemi. Ho anche messo un range temporale da rispettare giusto per non andare in overnight. Spero in un vostro aiuto
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = false // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1 = LinearRegression[131](close)
c1 = (close[1] < indicator1[1] and close > indicator1)
indicator3 = SuperTrend[3,10]
c2 = (close[1] < indicator3[1] and close > indicator3)
IF c1 AND c2 AND time > 090000 and time <170000 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
indicator4 = LinearRegression[131](close)
c3 = (close[1] > indicator4[1] and close < indicator4)
indicator6 = SuperTrend[3,10]
c4 = (close[1] > indicator6[1] and close < indicator6)
IF c3 AND c4 AND time > 090000 and time <170000 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Stop e target
SET STOP pLOSS 20
SET TARGET pPROFIT 10
Inserire il segno di spunta all’interno della casella sul tuo profilo, per aggiornare il paese.
Grazie.
Per chiarezza dei messaggi sul Forum di Prorealcode, separate le parti del vostro codice usando il pulsante per l’inserimento del testo del codice “insert PRT code”.
Grazie.
grazie per avermi segnalato l’errore ho messo anche la spunta per la mia nazione.
I colori negli indicatori NON esistono, è solo il programmatore che li ha fatti che ha cercato di facilitare l’utente colorando in verde quando è maggiore rispetto alla candela precedente e rosso quando è inferiore (i colori si possono cambiare con le proprietà).
Per cui se vuoi verificare che la regressione sia verde è sufficiente che sia > della candela precedente.
Per verificare un cambio di colore, invece, da rosso a verde, occorre verificare che adesso sia verde (cioè > della candela precedente), poi verificare che quella precedente fosse rossa (cioè < a quella ancora precedente), quindi il tuo codice sarà:
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = false // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1 = LinearRegression[131](close)
c1 = indicator1 > indicator1[1] //è VERDE adesso
indicator3 = SuperTrend[3,10]
c2 = indicator3 > indicator3[1] AND indicator3[1] < indicator3[2] //da ROSSO diventa VERDE
IF c1 AND c2 AND time > 090000 and time <170000 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
// Condizioni per entrare su posizioni short
c3 = indicator1 < indicator1[1] //è ROSSO adesso
c2 = indicator3 < indicator3[1] AND indicator3[1] > indicator3[2] //da VERDE diventa ROSSO
IF c3 AND c4 AND time > 090000 and time <170000 THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
// Stop e target
SET STOP pLOSS 20
SET TARGET pPROFIT 10
Non l’ho provato.
ah ecco come teoria c’ero arrivato ma mi mancava la pratica grazie mille molto gentile, invece per mettere lo stop loss sotto il min/max del supertrend come posso fare ? non ho trovato niente su internet che mi aiutasse in questo caso
E’ sufficiente che tu faccia la differenza tra il prezzo di chiusura (che sarà il prezzo di entrata a mercato) e convertirlo in PIPS:
// Definizione dei parametri del codice
DEFPARAM CumulateOrders = false // Posizioni cumulate disattivate
// Condizioni per entrare su posizioni long
indicator1 = LinearRegression[131](close)
c1 = indicator1 > indicator1[1] //è VERDE adesso
indicator3 = SuperTrend[3,10]
c2 = indicator3 > indicator3[1] AND indicator3[1] < indicator3[2] //da ROSSO diventa VERDE
IF c1 AND c2 AND time > 090000 and time <170000 THEN
BUY 1 CONTRACT AT MARKET
SL = abs(indicator3 - close) / pipsize
ENDIF
// Condizioni per entrare su posizioni short
c3 = indicator1 < indicator1[1] //è ROSSO adesso
c2 = indicator3 < indicator3[1] AND indicator3[1] > indicator3[2] //da VERDE diventa ROSSO
IF c3 AND c4 AND time > 090000 and time <170000 THEN
SELLSHORT 1 CONTRACT AT MARKET
SL = abs(indicator3 - close) / pipsize
ENDIF
// Stop e target
SET STOP pLOSS SL
SET TARGET pPROFIT SL * 2 //TP = doppio dello SL
Per convertire in Pips si usa PIPSIZE, da prezzo a Pips (come in questo caso):
NumeroPips = prezzo / pipsize //Converte un prezzo (può essere una differenza tra prezzi) in Pips
Per convertire da Pips a prezzo, invece:
Prezzo = 20 * pipsize //converte 20 pips in prezzo
grazie mille molto gentile mi avete insegnato parecchie cose oggi !!!