Strategi EMA Multi-Take Profit dan Multi-Stop Fisher Turn menggabungkan penunjuk EMA dan isyarat Turn Fisher tersuai untuk melaksanakan perdagangan penjejakan trend. Ia menjana isyarat beli apabila EMA tempoh pendek melintasi di atas EMA tempoh panjang dan isyarat Turn Fisher lebih besar daripada 0. Strategi ini menetapkan dua tahap mengambil keuntungan dan satu stop loss dinamik untuk mengunci keuntungan dan mengawal risiko. mengambil keuntungan pertama adalah 2xATR, 3xATR kedua, dan kehilangan berhenti adalah 1xATR. Selepas mengambil keuntungan pertama dicetuskan, kehilangan berhenti akan bergerak ke harga kemasukan. Ini sesuai untuk strategi bursa GDAX untuk mencari peluang perdagangan trend yang berpotensi.
Strategi ini terutamanya berdasarkan dua penunjuk teknikal:
Isyarat beli dihasilkan apabila EMA tempoh pendek melintasi di atas EMA tempoh panjang. Di samping itu, garisan isyarat Fisher Turn juga mesti lebih besar daripada 0, yang menunjukkan trend menaik semasa.
Peraturan mengambil keuntungan dan hentian kerugian adalah seperti berikut:
Strategi ini boleh dioptimumkan dengan menyesuaikan parameter seperti tempoh EMA, tempoh isyarat Fisher Turn, dan tempoh ATR.
Dengan menggabungkan penunjuk pengesanan trend dan penunjuk pengurusan risiko, strategi ini mempunyai kelebihan berikut:
Terdapat juga beberapa risiko untuk strategi ini:
Risiko ini boleh dikurangkan melalui pengoptimuman parameter, menggabungkan penunjuk lain, campur tangan manual dll.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Dengan menguji tetapan parameter yang berbeza dan kombinasi penunjuk, prestasi strategi dapat terus ditingkatkan.
Strategi EMA Multi-Take Profit dan Multi-Stop Fisher Turnaround mengintegrasikan kekuatan penjejakan trend dan pengurusan risiko. Dengan potensi yang besar untuk pengesahan dan pengoptimuman jangka panjang, ia adalah strategi yang menjanjikan. Masih ada ruang yang cukup untuk mengoptimumkan parameter dan menggabungkan penunjuk untuk mencapai prestasi yang lebih mantap dalam perdagangan langsung.
/*backtest start: 2022-12-29 00:00:00 end: 2024-01-04 00:00:00 period: 1d basePeriod: 1h 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/ // © Eliebf13 //@version=4 strategy("GDAX EMA & Blackflag FTS Strategy with Multiple Take Profits and Dynamic Stop Loss", overlay=true) // Input parameters for Blackflag FTS fts_length = input(14, title="Blackflag FTS Length") atr_length = input(14, title="ATR Length") // GDAX EMA calculation short = ema(close, 12) long = ema(close, 26) // Calculate Blackflag FTS signal line manually up = 0.0 down = 0.0 for i = 0 to fts_length - 1 up := up + (high[i] - low[i]) down := down + (high[i] - low[i]) fts_value = down == 0 ? 100 : 100 - (100 / (1 + (up / down))) // Buy condition: GDAX EMA crossover and Blackflag FTS signal above zero buy_condition = crossover(short, long) and fts_value > 0 // ATR calculation atr_value = atr(atr_length) // Calculate Stop Loss and Take Profit levels stop_loss_level = close - atr_value take_profit_level1 = close + 2 * atr_value take_profit_level2 = close + 3 * atr_value // Sell condition: GDAX EMA crossunder or Blackflag FTS signal below zero sell_condition = crossunder(short, long) or fts_value < 0 // Strategy orders with Multiple Take Profits and Dynamic Stop Loss strategy.entry("Buy", strategy.long, when = buy_condition) // Calculate position size for 50% closure at each take profit level position_size = strategy.position_size target_position_size1 = position_size * 0.5 target_position_size2 = position_size * 1 strategy.exit("Take Profit 1", from_entry="Buy", loss=close, profit=take_profit_level1, qty=target_position_size1) strategy.exit("Take Profit 2/Move Stop Loss", from_entry="Buy", loss=close, profit=take_profit_level2, qty=target_position_size2) // Plot GDAX EMA lines plot(short, color=#6f92ce, linewidth=2, title="Ema 12") plot(long, color=#e08937, linewidth=2, title="Ema 26") // Plot Blackflag FTS signal plot(fts_value, color=color.blue, title="Blackflag FTS Signal") // Plot buy and sell signals on the chart plotshape(series=buy_condition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal") plotshape(series=sell_condition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")