Strategi Tampilan Perdagangan Stop Loss Dinamis


Tanggal Pembuatan: 2023-09-18 17:20:06 Akhirnya memodifikasi: 2023-09-18 17:20:06
menyalin: 0 Jumlah klik: 901
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menunjukkan bagaimana menggunakan variabel dinamis TradingView untuk menyampaikan harga stop loss dalam peringatan dan melakukan perdagangan di platform MT4/5 melalui TradingConnector. Strategi ini menggunakan indikator Stochastic untuk menentukan kapan masuk, secara dinamis mengatur resistensi dukungan terbaru sebagai titik stop loss, atau bisa juga berhenti sebagian.

Prinsip Strategi

Garis K dan Garis D dari indikator Stochastic bertransformasi menjadi lebih banyak, dan Garis D bertransformasi menjadi lebih sedikit. Nilai support resistance yang paling dekat dihitung sebagai harga stop loss. Setelah masuk, nilai stop loss akan dikirimkan secara real time ke broker melalui variabel dinamis.

Analisis Keunggulan

  • Stop loss dinamis memungkinkan harga stop loss untuk disetel dengan tepat
  • Bagian dari penghentian untuk meningkatkan efisiensi penggunaan dana
  • Transmisi Stop Loss secara real time ke akun broker
  • Deteksi harga stop loss mendekati disk nyata, simulasi realistis

Analisis risiko

  • Indikator Stochastic Terbelakang
  • Terlalu sering terjadi halusinasi pada posisi
  • Variabel dinamis berbeda dalam berbagai kerangka waktu
  • Rasio yang perlu dioptimalkan untuk penangguhan sebagian

Siklus parameter Stochastic dapat dipersingkat secara tepat, menyesuaikan proporsi beberapa stop, dan lain-lain untuk mengendalikan risiko.

Arah optimasi

  • Uji kombinasi parameter stochastic yang berbeda
  • Pengaturan proporsi yang dioptimalkan untuk bagian yang terhenti
  • Cobalah berbagai metode stop loss, seperti stop loss mobile
  • Uji coba di berbagai pasar dan varietas

Meringkaskan

Strategi ini menunjukkan bagaimana menggunakan fitur baru TradingView untuk melakukan stop loss trading secara dinamis di MT4/5 . Ini dapat digunakan sebagai kerangka dasar untuk backtesting lebih lanjut . Ada kebutuhan untuk melakukan penyesuaian yang optimal untuk varietas tertentu .

Kode Sumber Strategi
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// strategy(title="TradingView Alerts to MT4 MT5 Strategy example", commission_type=strategy.commission.cash_per_order, commission_value=0.00003, overlay=false, default_qty_value=100000, initial_capital=1000)
// study(title="TradingView Alerts to MT4 MT5 Strategy example")  //uncomment this line and comment previous one to make it a study producing alerts
//
// This script was created for educational purposes only.
// It is showing how to use dynamic variables in TradingView alerts.
// And how to execute them in Forex, indices and commodities markets
// thanks to www.tradingconnector.com

TakeProfitLevel=input(400)
TakePartialProfitLevel=input(150)

// **** Entries logic **** {
periodK = input(14, title="K", minval=1)
periodD = input(3, title="D", minval=1)
smoothK = input(4, title="Smooth", minval=1)
k = sma(stoch(close, high, low, periodK), smoothK)
d = sma(k, periodD)
plot(k, title="%K", color=color.blue)
plot(d, title="%D", color=color.orange)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=color.purple, transp=75)

GoLong=crossover(k,d)// and k<80
GoShort=crossunder(k,d)// and k>20
// } End of entries logic

// **** Pivot-points and stop-loss logic **** {
piv_high = pivothigh(high,1,1)
piv_low = pivotlow(low,1,1)
var float stoploss_long=low
var float stoploss_short=high

pl=valuewhen(piv_low,piv_low,0)
ph=valuewhen(piv_high,piv_high,0)

if GoLong 
    stoploss_long := low<pl ? low : pl
if GoShort 
    stoploss_short := high>ph ? high : ph
// } End of Pivot-points and stop-loss logic

// **** Trade counter and partial closing mechanism **** {
var int trade_id=0
if GoLong or GoShort
    trade_id:=trade_id[1]+1

TakePartialProfitLong = barssince(GoLong)<barssince(GoShort) and crossover(high,(valuewhen(GoLong,close,0)+TakePartialProfitLevel*syminfo.mintick))
TakePartialProfitShort = barssince(GoLong)>barssince(GoShort) and crossunder(low,(valuewhen(GoShort,close,0)-TakePartialProfitLevel*syminfo.mintick))
// } End of Trade counter and partial closing mechanism


strategy.entry("Long", strategy.long, when=GoLong)
strategy.exit("XPartLong", from_entry="Long", qty_percent=50, profit=TakePartialProfitLevel)
strategy.exit("XLong", from_entry="Long", stop=stoploss_long, profit=TakeProfitLevel)
strategy.entry("Short", strategy.short, when=GoShort)
strategy.exit("XPartShort", from_entry="Short", qty_percent=50, profit=TakePartialProfitLevel)
strategy.exit("XShort", from_entry="Short", stop=stoploss_short, profit=TakeProfitLevel)


// alertcondition("Long", when=GoLong, message="long slprice={{stoploss_long}} tradeid={{trade_id}} tp=TakeProfitLevel")
// alertcondition("Short", when=GoShort, message="short slprice={{stoploss_short}} tradeid={{trade_id}} tp=TakeProfitLevel")
// alertcondition("ClosePartLong", when=TakePartialProfitLong, message="closepart tradeit={{trade_id}} part=0.5")
// alertcondition("ClosePartShort", when=TakePartialProfitShort, message="closepart tradeit={{trade_id}} part=0.5")