Strategi Backtesting Prime Wave


Tanggal Pembuatan: 2024-01-08 11:54:52 Akhirnya memodifikasi: 2024-01-08 11:54:52
menyalin: 0 Jumlah klik: 846
1
fokus pada
1617
Pengikut

Strategi Backtesting Prime Wave

Ringkasan

Strategi ini dikembangkan oleh Modular Financial Engineering Company. Strategi ini digunakan untuk mengevaluasi tren pasar dengan mengidentifikasi nilai tertinggi dan terendah di dekat harga dan memetakan dua rangkaian nilai positif tersebut ke dalam satu pita.

Prinsip Strategi

  1. Berdasarkan persentase perpindahan dari input, menjelajahi kisaran positif-negatif dari harga yang ditentukan untuk mencari bilangan prima tertinggi dan terendah.
  2. Gunakan fungsi highestest dan lowest untuk mendapatkan titik tertinggi dan terendah dari pita gelombang kuantitatif dalam garis N-root K terdekat.
  3. Untuk menentukan apakah harga penutupan akan menembus titik tertinggi dan terendah di kisaran gelombang kuantitatif, memutuskan untuk melakukan posisi over atau under.
  4. Opsional untuk membalik sinyal perdagangan.

Analisis Keunggulan

  1. Menggunakan sifat distribusi acak dan tidak teratur dari bilangan prima untuk menangkap keacakan di pasar.
  2. Pita gelombang kuantum memiliki keterlambatan tertentu, yang dapat menyaring sebagian dari kebisingan.
  3. Gelombang kuantitatif memiliki fleksibilitas terendah, dapat disesuaikan dengan siklus yang berbeda dan varietas perdagangan yang berbeda dengan menyesuaikan persentase perbedaan ukuran.

Analisis risiko

  1. Garis gelombang kuantitatif tidak sepenuhnya sesuai dengan pergerakan harga, ada tingkat keterlambatan tertentu.
  2. Jika terjadi perubahan harga yang sangat besar, sinyal yang salah akan muncul.
  3. Persentase kapasitas yang disetel untuk memfilter beberapa sinyal yang valid.

Risiko dapat dihindari dengan penyesuaian parameter yang tepat dan kombinasi dengan indikator lainnya.

Arah optimasi

  1. Indikator seperti moving average dapat digunakan untuk mengatur kondisi ganda yang memicu sinyal.
  2. Penggunaan bilangan acak lainnya, seperti bilangan Fibonacci, dapat dipelajari.
  3. Algoritma pembelajaran mesin dapat diperkenalkan untuk optimasi otomatis parameter.

Meringkaskan

Strategi pengembalian pita gelombang kuantitatif overall adalah strategi yang sangat inovatif dan bernilai praktis. Ini menggunakan karakteristik kuantitatif untuk menangkap keacakan pasar, dan juga mempertimbangkan tren identifikasi harga yang tertinggal. Nilai penelitian yang tinggi.

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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/03/2018
// Determining market trends has become a science even though a high number 
// or people still believe it’s a gambling game. Mathematicians, technicians, 
// brokers and investors have worked together in developing quite several 
// indicators to help them better understand and forecast market movements.
// The Prime Number Bands indicator was developed by Modulus Financial Engineering 
// Inc. This indicator is charted by indentifying the highest and lowest prime number 
// in the neighborhood and plotting the two series as a band.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
PrimeNumberUpBand(price, percent) =>
    res = 0
    res1 = 0
    for j = price to price + (price * percent / 100)
        res1 := j
	    for i = 2 to sqrt(price)
        	res1 := iff(j % i == 0 , 0, j)
            if res1 == 0 
                break
		if res1 > 0 
		    break
    res := iff(res1 == 0, res[1], res1)
    res

PrimeNumberDnBand(price, percent) =>
    res = 0
    res2 = 0
    for j = price to price - (price * percent / 100)
        res2 := j
	    for i = 2 to sqrt(price)
        	res2 := iff(j % i == 0 , 0, j)
            if res2 == 0 
                break
		if res2 > 0 
		    break
    res := iff(res2 == 0, res[1], res2)
    res

strategy(title="Prime Number Bands Backtest", overlay = true)
percent = input(5, minval=0.01, step = 0.01, title="Tolerance Percentage")
Length = input(5, minval=1)
srcUp = input(title="Source Up Band",  defval=high)
srcDn = input(title="Source Down Band",  defval=low)
reverse = input(false, title="Trade reverse")
xPNUB = PrimeNumberUpBand(srcUp, percent)
xPNDB = PrimeNumberDnBand(srcDn, percent)
xHighestPNUB = highest(xPNUB, Length)
xLowestPNUB = lowest(xPNDB, Length)
pos = iff(close > xHighestPNUB[1], 1,
       iff(close < xLowestPNUB[1], -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xHighestPNUB, color=red, title="PNUp")
plot(xLowestPNUB, color=green, title="PNDn")