Strategi Optimasi Entri Rata-rata Bergerak


Tanggal Pembuatan: 2023-09-14 16:52:30 Akhirnya memodifikasi: 2023-09-14 16:52:30
menyalin: 3 Jumlah klik: 618
1
fokus pada
1617
Pengikut

Prinsip Strategi

Strategi ini didasarkan pada sistem dasar mobile linearity, yang dioptimalkan untuk waktu masuk spesifik setelah sinyal dikirim.

Logika utama adalah:

  1. Menghitung rata-rata bergerak untuk periode tertentu (misalnya 20 hari)

  2. Ketika harga naik melewati garis rata-rata menghasilkan sinyal melakukan banyak, ketika turun melewati sinyal melakukan vakum

  3. Setelah menerima sinyal, tidak segera masuk, tetapi menunggu harga yang lebih baik

  4. Jika ada harga yang lebih baik dalam beberapa hari tertentu (misalnya 3 hari), masuklah

  5. Jika tidak, masuk pada hari ke-5 dengan harga penutupan, jangan sampai terlewatkan

Strategi ini tidak terburu-buru masuk setelah sinyal, tetapi mencari peluang untuk kembali ke tren setelah perhitungan, sehingga dapat membangun posisi dengan harga yang lebih baik.

Keunggulan Strategis

  • Optimasi untuk mendapatkan poin masuk yang lebih baik

  • Tetapkan waktu tunggu maksimum untuk menghindari kehilangan

  • Aturan sederhana, jelas, dan mudah diterapkan

Risiko Strategis

  • Waktu tunggu dan nilai threshold yang diperlukan untuk pengujian berulang dan optimasi

  • Mungkin melewatkan bagian dari tren singkat

  • Dua syarat yang perlu diperhatikan, yaitu waktu dan harga.

Meringkaskan

Strategi ini dioptimalkan dengan masuk yang sederhana, dengan asumsi bahwa tidak ada tren yang terlewatkan, untuk mendapatkan poin masuk yang lebih baik. Namun, waktu tunggu dan kondisi masuk yang dioptimalkan sangat penting untuk efektifitas strategi.

Kode Sumber Strategi
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 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/
// © dongyun

//@version=4
strategy("等待一个更好的入场机会", overlay=true)

period = input(20,'')
maxwait = input(3,'')
threshold = input(0.01,'')

signal = 0
trend = 0.0
newtrend = 0.0
wait = 0.0
initialentry = 0.0

trend := sma(close,period)
signal := nz(signal[1])
if trend > nz(trend[1])
	signal := 1
else
	if trend < nz(trend[1])
		signal := -1

wait := nz(wait[1])
initialentry := nz(initialentry[1])

if signal != signal[1]
	if strategy.position_size > 0
		strategy.close('long',comment='trend sell')
		signal := -1
	else
		if strategy.position_size < 0
    		strategy.close('short',comment='trend buy')
    		signal := 1
	wait := 0
	initialentry := close
else
	if signal != 0 and strategy.position_size == 0
		wait := wait + 1

// test for better entry
if strategy.position_size == 0
	if wait >= maxwait
		if signal > 0
			strategy.entry('long',strategy.long, comment='maxtime Long')
		else
			if signal < 0
				strategy.entry('short',strategy.short, comment='maxtime Short')
	else
		if signal > 0 and close < initialentry - threshold
			strategy.entry('long',strategy.long, comment='delayed Long')
		else
			if signal < 0 and close > initialentry + threshold
				strategy.entry('short',strategy.short, comment='delayed short')