Risposta

Il B127 supporterà il metodo Trailing Stop personalizzato nel CodeEditor?

1 risposte

eastpeace

Cliente, bbp_partecipante, comunità, sq-ultimate, 305 risposte.

Visita il profilo

4 anni fa #257678

Non so se B127 supporterà un metodo di uscita personalizzato nell'editor di codifica. Voglio implementare alcuni metodi personalizzati per l'uscita, ma non sono sicuro che SQ possa convertire bene il linguaggio MC / TS.

La B127 è stata rimandata per troppo tempo e finora non abbiamo visto alcuna versione di sviluppo o beta.

Ma non sono affatto soddisfatto di alcuni metodi di uscita all'interno di SQ.

Amici che usano TS o MC, lo pensate anche voi?

ad esempio, questo è un trailing stop con attivazione, utilizzando l'ATR.

Rispetto al trailing stop con pip/size fisso, l'implementazione con ATR non è molto accurata.

...
LongSLPlaced = false;

	Se BarsSinceEntry = 0 allora iniziare
		IntLongSL = 0;
		IntLongTS = 0;
	fine;

	// StopLoss
	IntLongSL = EntryPrice - EnterRvrAtMrkStpLss * tickSize;
	IntLongSL = SQ_CorrectMinMaxSLPT(IntLongSL, MinimumSL, MaximumSL, true);

	Vendere("LongSL") la prossima barra allo stop IntLongSL;
	LongSLPlaced = true;

	// ProfitTarget init
	IntPT = 0;
	
         
	// Trailing Stop
	IntPriceLevel = EnterRvrAtMrkTrlStpCef * SQ_ATR(20)[1];
	Se IntPriceLevel > 0 e Close - EntryPrice >= Round2Fraction(EnterRvrAtMrkTrlActCef * SQ_ATR(20)[1]) e (IntLongTS = 0 o Round2Fraction(Close - IntPriceLevel) > IntLongTS) allora iniziare
		IntLongTS = Round2Fraction(Close - IntPriceLevel); // ricordate anche il trailing stop
	fine;
	Se IntLongTS > 0 e IntLongTS > IntLongSL allora iniziare
		Vendi("LongTrailingStop") la prossima barra a IntLongTS stop;
		LongSLPlaced = true;
	fine;

...

Non so come funzioni internamente SQ e come funzioni con il motore di backtest di TS o MC.

Ecco il mio suggerimento in base a questo pezzo di codice EL.

1,IntLongsl.

Se si utilizza l'ATR per lo stop loss iniziale. Utilizziamo il valore fisso, l'ATR prima dell'entrata.


preatr = SQ_ATR(20);

//------------------------------------------------------------------
// ingresso
//------------------------------------------------------------------
//.....parte

//------------------------
// Ordini di uscita (SL, PT, Trailing) per la regola: Ingresso lungo
//------------------------

if(MarketPosition > 0) then begin

	LongSLPlaced = false;

	Se BarsSinceEntry = 0 allora iniziare
		IntLongSL = 0;
		IntLongTS = 0;
		AtrbeforeEntry = preatr[1];
	fine;
//...

Quindi impostiamo lo stop loss iniziale e l'obiettivo di profitto. SL e PT rimarranno a livelli fissi, assicurandosi che siano coerenti con il rapporto RR.

* Si raccomanda vivamente di anteporre tutti i calcoli degli indicatori tecnici ai codici di entrata e uscita, per garantire che non vi siano deviazioni al momento della chiamata.

2. Trailing stop

C'è un errore evidente nell'attivazione. dovremmo utilizzare il prezzo più alto nella posizione lunga. Ed è molto semplice.

se(MarketPosition > 0) allora iniziare

	LongSLPlaced = false;

	Se BarsSinceEntry = 0 allora iniziare
		IntLongSL = 0;
		IntLongTS = 0;
		HighestInLong = close;
	fine;
	Se BarsSinceEntry >0 allora
		HighestInLong = max(HighestInLong, close);

Come per lo SL e il PT iniziali, è meglio utilizzare il valore ATR fisso.

IntPriceLevel > 0 e Close - EntryPrice >= Round2Fraction(AtrbeforeEntry)

3. prezzo di trailing stop

Esistono alcuni tipi, come,
1)IntLongTS = Round2Fraction(Close - IntPriceLevel) Questo è il metodo presente in SQ.

2)

IntLongTS = Round2Fraction(Close - IntPriceLevel)
IntLongTS = MAX( Round2Fraction(Close - IntPriceLevel), [IntLongTS] )

3)
IntLongTS = Round2Fraction(HighestInLong - IntPriceLevel)

Gli ultimi due metodi per evitare l'uscita ritardata a causa del rallentamento.

Se non è possibile codificare nel codeditor, spero che SQ possa migliorare questi metodi di uscita. L'ho richiesto molte volte. Credo che questo aiuterà anche altri trader.

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

4 anni fa #257699

Salve,

rilasceremo il prossimo aggiornamento SQ 127 entro la fine di questa settimana, probabilmente se non verranno riscontrati bug importanti.

In questa versione è possibile costruire i propri "blocchi" che possono essere utilizzati per ingresso o uscita  ma non per l'attivazione del trailing stop, come suggerisci tu.

Vedo che si è già discusso dell'implementazione di SL e TSL nel codice di MC e EL, ma farò sapere agli sviluppatori di questo argomento

0

Stai visualizzando 1 risposte (di 1 totali)