sergeyen

Donchian Quest Research

sergeyen Diupdate   
// =================================

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.

// =================================
Catatan Rilis:
Added trailing (fuchsia line) to parameter 'Permit stop'.
Catatan Rilis:
Added Montly Table (parameter 'Show Monthly Table' in Settings (Inputs)).
Catatan Rilis:
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.
Catatan Rilis:
Added another variant for parameter 'Permit stop' (fuchsia line):

- Breakeven:
Initial stop = fixed stop.
If profit > risk: move stop to entry price.
Catatan Rilis:
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'.
Catatan Rilis:
Small correction in cancelling.
Catatan Rilis:
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.
Catatan Rilis:
Added small channels: 10/5 and 10/10.
Catatan Rilis:
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.
Catatan Rilis:
Correction of trailing calculation.
Catatan Rilis:
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.
Catatan Rilis:
Small error in trailing calculation.
Catatan Rilis:
Little change in add orders.
Catatan Rilis:
'Cost %' changed to 3.
Catatan Rilis:
Fixed small error in cancelling.

Skrip open-source

Dalam semangat TradingView, penulis dari skrip ini telah mempublikasikannya ke sumber-terbuka, maka trader dapat mengerti dan memverifikasinya. Semangat untuk penulis! Anda dapat menggunakannya secara gratis, namun penggunaan kembali kode ini dalam publikasi diatur oleh Tata Tertib. Anda dapat memfavoritkannya untuk digunakan pada chart

Pernyataan Penyangkalan

Informasi dan publikasi tidak dimaksudkan untuk menjadi, dan bukan merupakan saran keuangan, investasi, perdagangan, atau rekomendasi lainnya yang diberikan atau didukung oleh TradingView. Baca selengkapnya di Persyaratan Penggunaan.

Inggin menggunakan skrip ini pada chart?