Strategi ini termasuk dalam strategi trend-following. Berinvestasi ketika harga menembus bentuk segitiga ke atas, dan berdagang ketika EMA cepat menembus EMA menengah. At the same time, set stop loss and stop loss points to control risk.
Gunakan EMA cepat dan EMA menengah untuk menentukan arah tren. EMA cepat di atas EMA menengah adalah sinyal bullish.
Gunakan harga tertinggi dan terendah dari garis N-root K terbaru untuk menentukan apakah membentuk segitiga ke atas.
Setelah masuk ke pasar, ketika EMA cepat di bawah EMA menengah, ia menganggap tren berbalik dan mengirimkan sinyal posisi kosong.
Set Stop Loss adalah persentase tertentu di bawah harga masuk, dan Stop Loss adalah harga keluar.
Setting stop point adalah persentase tertentu di atas harga masuk, sebagian stop stop keluar.
Menggunakan EMA 200 hari untuk menentukan arah tren keseluruhan, hanya beroperasi ketika tren naik.
Filter berbentuk segitiga digunakan untuk membuat penembusan palsu dan meningkatkan akurasi masuk.
EMA cepat dan EMA menengah secara rasional memisahkan tren dan getaran, menghindari kebocoran.
Pengaturan stop loss dan stop stop adalah wajar dan dapat mengontrol kerugian tunggal.
Hanya beroperasi pada saat tren naik, untuk menghindari tahap penyusunan.
Jangkauan segitiga terlalu kecil untuk melewatkan tren dan terlalu besar untuk menambah transaksi yang tidak berarti. Parameter N yang perlu dioptimalkan.
Terlalu dekat dengan titik stop loss mudah untuk terkena, terlalu jauh sulit untuk mengendalikan kerugian. Perlu mengevaluasi peran parameter dan mengoptimalkan.
Penetapan yang tidak tepat pada beberapa stop loss dapat menyebabkan keuntungan yang berlebihan.
Parameter indikator penilaian tren yang tidak tepat dapat menyebabkan kesalahan arah pemegang posisi. Perlu pengoptimalan pengembalian beberapa varietas.
Optimalkan parameter yang ditentukan oleh segitiga N, untuk menemukan nilai optimal.
Uji kombinasi siklus EMA yang berbeda untuk meningkatkan akurasi penilaian tren.
Optimalkan parameter stop loss sesuai dengan karakteristik varietas.
Menambahkan penilaian indikator lain, seperti MACD, Brinks, dan lain-lain, untuk meningkatkan kualitas sinyal.
Menambahkan mekanisme reopen untuk memperpanjang waktu profit jika tren terus berlanjut.
Strategi ini secara keseluruhan lebih kuat, dengan menentukan segitiga yang efektif untuk memfilter penipuan palsu. Ada ruang untuk mengoptimalkan parameter yang lebih besar, dan diharapkan untuk mendapatkan hasil yang lebih baik. Selain itu, Anda dapat mencoba menambahkan lebih banyak indikator penilaian tambahan, atau memperbaiki strategi stop loss, untuk meningkatkan efek strategi lebih lanjut. Secara keseluruhan, strategi ini memiliki potensi untuk menjadi strategi pelacakan tren berkualitas.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 1h
basePeriod: 15m
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/
// © mohanee
//@version=4
strategy(title="TrianglePoint strategy", overlay=true,pyramiding=2, default_qty_value=3, default_qty_type=strategy.fixed, initial_capital=10000, currency=currency.USD)
// variables BEGIN
numPeriods=input(9,title="Number of Bars")
fastEMA = input(13, title="fast EMA", minval=1)
slowEMA = input(65, title="slow EMA", minval=1)
stopLoss = input(title="Stop Loss%", defval=5, minval=1)
HH = highest(close[1],numPeriods)
LL = lowest(close[1],numPeriods)
tringlePoint = low > LL and high < HH
fastEMAval= ema(close, fastEMA)
slowEMAval= ema(close, slowEMA)
two100EMAval= ema(close, 200)
//plot emas
plot(fastEMAval, color = color.green, linewidth = 1, transp=0)
plot(slowEMAval, color = color.orange, linewidth = 1, transp=0)
plot(two100EMAval, color = color.purple, linewidth = 2, transp=0)
longCondition=fastEMAval>two100EMAval and tringlePoint
//plotshape(triP,style=shape.triangleup,text="Buy",color=color.green,location=location.belowbar)
//plotshape(longCondition,style=shape.triangleup,text="Buy",color=color.green,location=location.belowbar)
//Entry
strategy.entry(id="TBT LE", comment="TBT LE" , long=true, when= longCondition and strategy.position_size<1)
//Add
strategy.entry(id="TBT LE", comment="Add" , long=true, when= longCondition and strategy.position_size>=1 and close<strategy.position_avg_price)
//barcolor(strategy.position_size>=1 ? color.blue : na)
//Take profit
takeProfitVal= strategy.position_size>=1 ? (strategy.position_avg_price * (1+(stopLoss*0.01) )) : 0.00
//strategy.close(id="TBT LE", comment="Profit Exit", qty=strategy.position_size/2, when=close>=takeProfitVal and close<open and close<fastEMAval) //crossunder(close,fastEMAval)
barcolor(strategy.position_size>=1 ? (close>takeProfitVal? color.purple : color.blue): na)
//Exit
strategy.close(id="TBT LE", comment="TBT Exit", when=crossunder(fastEMAval,slowEMAval))
//stoploss
stopLossVal= strategy.position_size>=1 ? (strategy.position_avg_price * (1-(stopLoss*0.01) )) : 0.00
//stopLossVal= close> (strategy.position_avg_price * (1+(stopLoss*0.01) )) ? lowest(close,numPeriods) : (strategy.position_avg_price * (1-(stopLoss*0.01) ))
strategy.close(id="TBT LE", comment="SL Exit", when= close < stopLossVal)