sergeyen

Donchian Quest Research

sergeyen Aktualisiert   
// =================================

Trend following strategy.

// =================================

Strategy uses two channels. One channel - for opening trades. Second channel - for closing.

Channel is similar to Donchian channel, but uses Close prices (not High/Low). That helps don't react to wicks of volatile candles (“stop hunting”). In most cases openings occur earlier than in Donchian channel. Closings occur only for real breakout.

// =================================

Strategy waits for beginning of trend - when price breakout of channel. Default length of both channels = 50 candles.

Conditions of trading:

- Open Long: If last Close = max Close for 50 closes.
- Close Long: If last Close = min Close for 50 closes.
- Open Short: If last Close = min Close for 50 closes.
- Close Short: If last Close = max Close for 50 closes.

// =================================

Color of lines:

- black - channel for opening trade.
- red - channel for closing trade.
- yellow - entry price.
- fuchsia - stoploss and breakeven.
- vertical green - go Long.
- vertical red - go Short.
- vertical gray - close in end, don't trade anymore.

// =================================

Order size calculated with ATR and volatility.

You can't trade 1 contract in BTC and 1 contract in XRP - for example. They have different price and volatility, so 1 contract BTC not equal 1 contract XRP.

Script uses universal calculation for every market. It is based on:
- Risk - USD sum you ready to loss in one trade. It calculated as percent of Equity.
- ATR indicator - measurement of volatility.

With default setting your stoploss = 0.5 percent of equity:

- If initial capital is 1000 USD and used parameter "Permit stop" - loss will be 5 USD (0.5 % of equity).
- If your Equity rises to 2000 USD and used parameter "Permit stop"- loss will be 10 USD (0.5 % of Equity).

// =================================

This Risk works only if you enable “Permit stop” parameter in Settings.

If this parameter disabled - strategy works as reversal strategy:
⁃ If close Long - channel border works as stoploss and momentarily go Short.
⁃ If close Short - channel border works as stoploss and momentarily go Long.

Channel borders changed dynamically. So sometime your loss will be greater than ‘Risk %’. Sometime - less than ‘Risk %’.

If this parameter enabled - maximum loss always equal to 'Risk %'. This parameter also include breakeven: if profit % = Risk %, then move stoploss to entry price.

// =================================

Like all trend following strategies - it works only in trend conditions. If no trend - slowly bleeding. There is no special additional indicator to filter trend/notrend. You need to trade every signal of strategy.

Strategy gives many losses:
⁃ 30 % of trades will close with profit.
⁃ 70 % of trades will close with loss.
⁃ But profit from 30% will be much greater than loss from 70 %.

Your task - patiently wait for it and don't use risky setting for position sizing.

// =================================

Recommended timeframe - Daily.

// =================================

Trend can vary in lengths. Selecting length of channels determine which trend you will be hunting:
⁃ 20/10 - from several days to several weeks.
⁃ 20/20 or 50/20 - from several weeks to several months.
⁃ 50/50 or 100/50 or 100/100 - from several months to several years.

// =================================

Inputs (Settings):

- Length: length of channel for trade opening/closing. You can choose 20/10, 20/20, 50/20, 50/50, 100/50, 100/100. Default value: 50/50.

- Permit Long / Permit short: Longs are most profitable for this strategy. You can disable Shorts and enable Longs only. Default value: permit all directions.

- Risk % of Equity: for position sizing used Equity percent. Don't use values greater than 5 % - it's risky. Default value: 0.5%.

⁃ ATR multiplier: this multiplier moves stoploss up or down. Big multiplier = small size of order, small profit, stoploss far from entry, low chance of stoploss. Small multiplier = big size of order, big profit, stop near entry, high chance of stoploss. Default value: 2.

- ATR length: number of candles to calculate ATR indicator. It used for order size and stoploss. Default value: 20.

- Close in end - to close active trade in the end (and don't trade anymore) or leave it open. You can see difference in Strategy Tester. Default value: don’t close.

- Permit stop: use stop or go reversal. Default value: without stop, reversal strategy.

// =================================

Properties (Settings):

- Initial capital - 1000 USD.
- Script don't uses 'Order size' - you need to change 'Risk %' in Inputs instead.
- Script don't uses 'Pyramiding'.
- 'Commission' 0.055 % and 'Slippage' 0 - this parameters are for crypto exchanges with perpetual contracts (for example Bybit). If use on other markets - set it accordingly to your exchange parameters.

// =================================

Big dataset used for chart - 'BITCOIN ALL TIME HISTORY INDEX'. It gives enough trades to understand logic of script. It have several good trends.

// =================================
Versionshinweise:
Added trailing (fuchsia line) to parameter 'Permit stop'.
Versionshinweise:
Added Montly Table (parameter 'Show Monthly Table' in Settings (Inputs)).
Versionshinweise:
Added different variants for parameter 'Permit stop' (fuchsia line):

- No stop:
No stop.

- Fixed stop:
Set stop one time and never change it.

- Trailing:
Initial stop = fixed stop.
If channel border cross entry price: move stop to channel border.

- Breakeven, trailing:
Initial stop = fixed stop.
If profit > risk: move stop to entry price (breakeven).
If channel border cross entry price: move stop to channel border.
Versionshinweise:
Added another variant for parameter 'Permit stop' (fuchsia line):

- Breakeven:
Initial stop = fixed stop.
If profit > risk: move stop to entry price.
Versionshinweise:
Added:
- setting 'Show Qty label'. Info for qty calculation: Equity, Atr. Default: Disabled.
- setting 'Use 2 orders'. It divide initial qty to 2 orders. If setting 'Risk' = 0.5%, then risk of each order will be 0.25%. First order opens as usual. Second order opens if first order is profitable. If no trend - loss from first order will be 0.25% (not 0.5%). Default: Enabled.

Removed:
- setting 'Performance table' - not very useful and helping.
- setting 'Stop Breakeven, Trailing' - too complicated.

Corrected:
- small error in ATR calculation.
- 'Fixed stop' renamed to 'Fixed'.
Versionshinweise:
Small correction in cancelling.
Versionshinweise:
Small correction in qty calculation:

Now script works with 'Total Market Cap' charts: TOTAL, TOTAL2, TOTAL3.
This is for info purposes only.

For example, setting '20/20' shows general picture - phases of cycle:
- up, down, up, down, up, down to end of Sep 2023 - accumulation.
- end of Sep 2023 - uptrend.
- mid-Jan - mid-Feb - small correction of uptrend.
- mid-Feb - uptrend continues.
Versionshinweise:
Added small channels: 10/5 and 10/10.
Versionshinweise:
Added two more orders - now possible to choose from 1 to 4 orders.
Idea from the book "Way of the Turtle" by Curtis M. Faith.
Versionshinweise:
Correction of trailing calculation.
Versionshinweise:
Added parameter 'Use additional orders?':
If trade is profitable - use additional orders to increase position size.

Added tooltips - information circles with description - to each parameter.
Versionshinweise:
Small error in trailing calculation.
Versionshinweise:
Little change in add orders.
Versionshinweise:
'Cost %' changed to 3.
Versionshinweise:
Fixed small error in cancelling.

Open-source Skript

Ganz im Spirit von TradingView hat der Autor dieses Skripts es als Open-Source veröffentlicht, damit Trader es besser verstehen und überprüfen können. Herzlichen Glückwunsch an den Autor! Sie können es kostenlos verwenden, aber die Wiederverwendung dieses Codes in einer Veröffentlichung unterliegt den Hausregeln. Sie können es als Favoriten auswählen, um es in einem Chart zu verwenden.

Haftungsausschluss

Die Informationen und Veröffentlichungen sind nicht als Finanz-, Anlage-, Handels- oder andere Arten von Ratschlägen oder Empfehlungen gedacht, die von TradingView bereitgestellt oder gebilligt werden, und stellen diese nicht dar. Lesen Sie mehr in den Nutzungsbedingungen.

Möchten Sie dieses Skript auf einem Chart verwenden?