Custom Indicators · Ethereum Tracking Strategy · Buy the Dip and Take Profit

  1. Ethereum Tracking Strategy · Buy the Dip and Take Profit | Recent Results

5 minutes · buy the dip and take profit · 4 battles, all victories

30 minutes · Ethereum tracking strategy · buy the dip and take profit · 5 victories in total

4-hour · Ethereum tracking strategy · buy the dip and take profit · 5 wins in 5 battles

  1. Strategy Source Code Sharing

// @version=2

// If the initial order amount is 50u, then in extreme cases, a total of 400u will be needed after replenishing the position 3 times. Please prepare sufficient funds as a backup.

[td]=td(close);

start_signal = td == -9

end_signal = td == 9

stop_loss = 0.2 // Stop loss line, after all the averaging orders are placed, if the price continues to fall xx, it will trigger a forced stop loss.

take_profit = 0.02 // Take profit line, if it rises xx compared to the opening average price, it will take profit and close the position.

safety_order_pct = 0.02 // The interval for placing a supplementary order. After placing a supplementary order, if the price drops by xx again, it will trigger another supplementary order, with a maximum of 3 supplementary orders.

first_order_amount = 0.1 // The quantity for the first order, and subsequent replenishment orders will automatically calculate the order amount.

safety_order1_amount = first_order_amount

safety_order2_amount = first_order_amount + safety_order1_amount

safety_order3_amount = first_order_amount + safety_order1_amount + safety_order2_amount

safety_order4_amount = first_order_amount + safety_order1_amount + safety_order2_amount + safety_order3_amount

safety_order5_amount = first_order_amount + safety_order1_amount + safety_order2_amount + safety_order3_amount + safety_order4_amount

var long_count = 0

var long_avg = 0

var long_close = 0

var long_amount = 0

first_order = start_signal and long_count == 0

enterLongAmount(first_order, id = 'first order',price='market', amount=first_order_amount)

plotText(first_order, title='First Order', text = 'First Order', refSeries = close, bgColor='green', color='white', fontSize=14, placement='bottom' ,display=true);

alertcondition(first_order, title='first order', direction='buy');

if (first_order) {

long_count := long_count + 1

long_avg := close

long_close := close

long_amount := first_order_amount

}

place_safety_order1 = (close - long_close)/long_close < -1 * safety_order_pct and long_count == 1 and start_signal

enterLongAmount(place_safety_order1, id = '补仓1',price='market', amount=safety_order1_amount)

plotText(place_safety_order1, title='buy the dip 1', text = 'buy the dip 1', refSeries = close, bgColor='green', color='white', fontSize=14, placement='bottom' ,display=true);

alertcondition(place_safety_order1, title='buy the dip 1', direction='buy');

if (place_safety_order1) {

long_count := long_count + 1

long_avg := (close + long_avg)/2.0

long_close := close

long_amount := long_amount + safety_order1_amount

}

place_safety_order2 = (close - long_close)/long_close < -1 * safety_order_pct and long_count == 2 and start_signal

enterLongAmount(place_safety_order2, id = 'add position 2',price='market', amount=safety_order2_amount)

plotText(place_safety_order2, title='buy the dip 2', text = 'buy the dip 2', refSeries = close, bgColor='green', color='white', fontSize=14, placement='bottom' ,display=true);

alertcondition(place_safety_order2, title='Add Position 2', direction='buy');

if (place_safety_order2) {

long_count := long_count + 1

long_avg := (close + long_avg)/2.0

long_close := close

long_amount := long_amount + safety_order2_amount

}

place_safety_order3 = (close - long_close)/long_close < -1 * safety_order_pct and long_count == 3 and start_signal

enterLongAmount(place_safety_order3, id = '补仓3',price='market', amount=safety_order3_amount)

plotText(place_safety_order3, title='buy the dip 3', text = 'buy the dip 3', refSeries = close, bgColor='green', color='white', fontSize=14, placement='bottom' ,display=true);

alertcondition(place_safety_order3, title='buy the dip 3', direction='buy');

if (place_safety_order3) {

long_count := long_count + 1

long_avg := (close + long_avg)/2.0

long_close := close

long_amount := long_amount + safety_order3_amount

}

place_stop_loss_order = long_count >= 4 and (close - long_close)/long_close < -1 * stop_loss

exitLongPercent(place_stop_loss_order, id = 'stop loss',price='market', percent=100)

plotText(place_stop_loss_order, title='stop loss', text = 'stop loss', refSeries = close, bgColor='red', color='white', fontSize=14, placement='top' ,display=true);

alertcondition(place_stop_loss_order, title='stop loss', direction='sell');

if (place_stop_loss_order) {

long_count := 0

long_avg := 0

long_close := 0

long_amount := 0

}

place_take_profit_order = (close - long_avg)/long_avg > take profit

exitLongPercent(place_take_profit_order, id = 'take profit',price='market', percent=100)

plotText(place_take_profit_order, title='take profit', text = 'take profit', refSeries = close, bgColor='red', color='white', fontSize=14, placement='top' ,display=true);

alertcondition(place_take_profit_order, title='take profit', direction='sell');

if (place_take_profit_order) {

long_count := 0

long_avg := 0

long_close := 0

long_amount := 0

}

td_take_profit_order = (close - long_avg)/long_avg > 0 and end_signal

exitLongPercent(td_take_profit_order, id = 'TD take profit',price='market', percent=100)

plotText(td_take_profit_order, title='take profit', text = 'TD take profit', refSeries = close, bgColor='red', color='white', fontSize=14, placement='top' ,display=true);

alertcondition(td_take_profit_order, title='TD take profit', direction='sell');

if (td_take_profit_order) {

long_count := 0

long_avg := 0

long_close := 0

long_amount := 0

}

var active_long_profit_monitor = false

var long_max_profit = 0

var active_long_drawdown_order = false

long_signal = start_signal // true or false long position signal

active_trail = 0.01 // Start moving take profit when it rises by 1%

drawdown = 0.5 // close position at 50% drawdown from the peak

if (long_count > 0) {

profit = (close - long_avg) / long_avg

if (profit > long_max_profit) {

long_max_profit := profit

}

if (profit > active_trail and long_max_profit > active_trail) {

active_long_profit_monitor := true

}

if (active_long_profit_monitor) {

back = profit/long_max_profit

if (back < drawdown and profit > 0) {

active_long_drawdown_order := true

}

}

} else {

active_long_drawdown_order := false

active_long_profit_monitor := false

long_max_profit := -999999999

long_avg := 0

}

exitLongPercent(active_long_drawdown_order, id = 'long_take_profit',price='market', percent=100)

plotText(active_long_drawdown_order, title='active_long_drawdown_order', text = 'move take profit', refSeries = high, bgColor='red', color='white', fontSize=14, placement='top' ,display=true);

if (active_long_drawdown_order) {

long_count := 0

long_avg := 0

long_close := 0

long_amount := 0

}

(This strategy needs to run on the AiCoin custom indicator section)

  1. Ethereum Tracking Strategy · Buy the Dip and Take Profit | Strategy Summary

The Ethereum tracking strategy is a trading plan suitable for volatile markets and trend reversals, combining the TD reversal indicator and reasonable capital management to efficiently follow market fluctuations. Through this strategy, users can capture rebound opportunities during extreme surges or pullback oscillation phases, optimize costs with a replenishment mechanism, and flexibly take profit to lock in gains.

In actual operations, it is recommended to prioritize short to medium-term signals (such as 30 minutes or 1 hour) as the basis for strategy execution; focus on step-by-step position opening and decreasing position addition money management principles; and strictly control risks through dynamic stop-loss and take profit tools, minimizing losses caused by emotional trading or inefficient operations.

In addition, the strategy emphasizes flexible adaptation to market conditions, leveraging its advantages during wide fluctuations while avoiding narrow range oscillations to reduce unnecessary frequent trading. By clearly setting periods, positions, and profit targets, users can achieve steady investment, mitigate risks, and effectively enhance trading returns.

In conclusion, this strategy not only helps users accurately capture market rebounds but also achieves long-term capital safety and maximization of returns through scientific capital management and risk control, making it the best choice for dealing with the complex volatility of Ethereum.

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
English
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)