Répondre

Est-ce que B127 supportera la méthode Trailing Stop personnalisée dans CodeEditor ?

1 réponses

paix à l'est

Client, bbp_participant, community, sq-ultimate, 305 réponses.

Visiter le profil

Il y a 4 ans #257678

Je ne sais pas si B127 supportera les méthodes de sortie personnalisées dans l'éditeur de codage. Je veux implémenter quelques méthodes personnalisées pour la sortie, mais je ne suis pas sûr que le SQ puisse convertir le langage MC / TS correctement.

Le B127 a été reporté depuis trop longtemps, et nous n'avons pas vu de développement ou de version bêta jusqu'à présent.

Mais je ne suis vraiment pas satisfait de certaines méthodes de sortie dans SQ.

Amis qui utilisent TS ou MC, pensez-vous que c'est le cas ?

par exemple, il s'agit d'un stop suiveur avec activation, utilisant l'ATR.

Par rapport au stop suiveur utilisant un pip/taille fixe, la mise en œuvre utilisant l'ATR n'est pas très précise.

...
LongSLPlaced = false ;

	Si BarsSinceEntry = 0 alors begin
		IntLongSL = 0 ;
		IntLongTS = 0 ;
	fin ;

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

	Sell("LongSL") next bar at IntLongSL stop ;
	LongSLPlaced = true ;

	// ProfitTarget init
	IntPT = 0 ;
	
         
	// Trailing Stop
	IntPriceLevel = EnterRvrAtMrkTrlStpCef * SQ_ATR(20)[1] ;
	Si IntPriceLevel > 0 et Close - EntryPrice >= Round2Fraction(EnterRvrAtMrkTrlActCef * SQ_ATR(20)[1]) et (IntLongTS = 0 ou Round2Fraction(Close - IntPriceLevel) > IntLongTS) then begin
		IntLongTS = Round2Fraction(Close - IntPriceLevel) ; // n'oubliez pas le trailing stop
	end ;
	Si IntLongTS > 0 et IntLongTS > IntLongSL alors begin
		Sell("LongTrailingStop") next bar at IntLongTS stop ;
		LongSLPlaced = true ;
	end ;

...

Je ne sais pas comment SQ fonctionne en interne, ni comment il fonctionne avec TS ou le moteur de backtest de MC.

Voici ma suggestion en fonction de ce morceau de code EL.

1,IntLongsl.

Si l'on utilise l'ATR pour le stop loss initial. Utilisons la valeur fixe, l'ATR avant l'entrée.


preatr = SQ_ATR(20) ;

//------------------------------------------------------------------
// entry
//------------------------------------------------------------------
//.....entry part

//------------------------
// Ordres Exits (SL, PT, Trailing) pour la Règle : Entrée longue
//------------------------

if(MarketPosition > 0) then begin

	LongSLPlaced = false ;

	Si BarsSinceEntry = 0 alors begin
		IntLongSL = 0 ;
		IntLongTS = 0 ;
		AtrbeforeEntry = preatr[1] ;
	end ;
//...

Ensuite, nous fixons le stop loss initial et l'objectif de profit. SL et PT resteront à des niveaux fixes et s'assureront qu'ils sont cohérents avec le ratio RR.

* Il est fortement recommandé de placer tous les calculs des indicateurs techniques avant les codes d'entrée et de sortie, afin de s'assurer qu'il n'y aura pas de déviation lors de l'appel.

2. Trailing stop

Il y a une erreur évidente dans l'activation. Nous devrions utiliser le prix le plus élevé dans le maintien de la position longue. Et c'est très facile.

if(MarketPosition > 0) then begin

	LongSLPlaced = false ;

	Si BarsSinceEntry = 0 alors begin
		IntLongSL = 0 ;
		IntLongTS = 0 ;
		HighestInLong = close ;
	end ;
	Si BarsSinceEntry >0 alors
		HighestInLong = max(HighestInLong, close) ;

Comme pour les SL et PT initiaux, il est préférable d'utiliser la valeur ATR fixe.

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

3. le prix du stop suiveur

Il en existe plusieurs types, comme par exemple
1)IntLongTS = Round2Fraction(Close - IntPriceLevel) C'est la méthode utilisée actuellement par SQ.

2)

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

3)
IntLongTS = Round2Fraction(HighestInLong - IntPriceLevel)

Les deux dernières méthodes permettent d'éviter une sortie tardive due à un ralentissement.

S'il n'est pas possible de coder dans le codeditor, j'espère que SQ pourra améliorer ces méthodes de sortie. Je l'ai demandé à plusieurs reprises. Je pense que cela aidera également d'autres traders.

0

tomas262

Administrateur, sq-ultimate, 2 réponses.

Visiter le profil

Il y a 4 ans #257699

Bonjour,

Nous publierons la prochaine mise à jour SQ 127 d'ici la fin de la semaine si aucun bogue majeur n'est détecté.

Dans cette version, vous pourrez construire vos propres "blocs" qui pourront être utilisés pour entrée ou sortie  mais je suppose que ce n'est pas le cas pour l'activation du stop suiveur comme vous le suggérez

Je vois qu'il y a déjà eu une discussion sur la mise en œuvre de SL et TSL dans les codes MC et EL, mais je vais en informer les développeurs.

0

Affichage d'1 réponse (sur un total de 1)