Stratégie d'optimisation d'entrée par moyenne mobile


Date de création: 2023-09-14 16:52:30 Dernière modification: 2023-09-14 16:52:30
Copier: 3 Nombre de clics: 618
1
Suivre
1617
Abonnés

Principe de stratégie

Cette stratégie est basée sur un système de base de mobilité uniforme, optimisé pour les points d’entrée spécifiques après l’émission du signal.

La logique principale est la suivante:

  1. Calculer une moyenne mobile d’une période donnée (par exemple 20 jours)

  2. Un signal de plus est généré lorsque le prix monte et un signal de moins lorsque le prix descend.

  3. Il n’y a pas d’interruption immédiate après avoir reçu le signal, mais il faut attendre un meilleur prix.

  4. Si un prix plus avantageux apparaît dans un nombre de jours spécifié (par exemple, 3 jours), l’entrée

  5. Si ce n’est pas le cas, vous pouvez vous inscrire au cours de clôture le 5ème jour pour ne pas manquer.

Cette stratégie consiste à ne pas se précipiter après le signal, mais à chercher des opportunités de reprise de tendance après la correction, ce qui permet d’établir une position à un meilleur prix.

Avantages stratégiques

  • Optimisation de l’entrée pour obtenir de meilleurs points d’entrée

  • Réglez le nombre maximum de jours d’attente pour ne pas manquer

  • Les règles sont simples, claires et faciles à appliquer

Risque stratégique

  • Les temps d’attente et les seuils nécessitent des tests répétés et une optimisation

  • Peut-être avez-vous raté une partie de la courte ligne de tendance

  • La double condition de temps et de prix

Résumer

La stratégie est optimisée pour obtenir de meilleurs points d’entrée en optimisant simplement l’entrée, mais l’optimisation des temps d’attente et des conditions d’entrée est essentielle à l’efficacité de la stratégie.

Code source de la stratégie
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dongyun

//@version=4
strategy("等待一个更好的入场机会", overlay=true)

period = input(20,'')
maxwait = input(3,'')
threshold = input(0.01,'')

signal = 0
trend = 0.0
newtrend = 0.0
wait = 0.0
initialentry = 0.0

trend := sma(close,period)
signal := nz(signal[1])
if trend > nz(trend[1])
	signal := 1
else
	if trend < nz(trend[1])
		signal := -1

wait := nz(wait[1])
initialentry := nz(initialentry[1])

if signal != signal[1]
	if strategy.position_size > 0
		strategy.close('long',comment='trend sell')
		signal := -1
	else
		if strategy.position_size < 0
    		strategy.close('short',comment='trend buy')
    		signal := 1
	wait := 0
	initialentry := close
else
	if signal != 0 and strategy.position_size == 0
		wait := wait + 1

// test for better entry
if strategy.position_size == 0
	if wait >= maxwait
		if signal > 0
			strategy.entry('long',strategy.long, comment='maxtime Long')
		else
			if signal < 0
				strategy.entry('short',strategy.short, comment='maxtime Short')
	else
		if signal > 0 and close < initialentry - threshold
			strategy.entry('long',strategy.long, comment='delayed Long')
		else
			if signal < 0 and close > initialentry + threshold
				strategy.entry('short',strategy.short, comment='delayed short')