
Gagasan utama strategi ini adalah selepas harga saham mengalami kemerosotan jangka pendek yang jelas, dan kemudian menilai kemungkinan pergerakan harga seterusnya berdasarkan keadaan penyusunan yang terbentuk pada tahap kemerosotan dan kemerosotan, dengan itu melakukan operasi pembiayaan tambahan yang sesuai.
Strategi menggunakan indikator stochastic oscillator untuk menentukan sama ada harga saham telah masuk ke dalam penyesuaian. Oscillator stochastic menunjukkan harga saham memasuki penyesuaian apabila kawasan overbought atau oversold bergoyang.
Apabila indikator Stochastic oscillator bergoyang, berdasarkan arah entiti K baris untuk menilai titik peralihan trend. Apabila K baris dari negatif ke solar dinilai sebagai penjumlahan berakhir, lakukan lebih banyak; Apabila K baris dari positif ke negatif dinilai sebagai penjumlahan berakhir, buat kosong.
Hentian hentian selepas melakukan banyak ruang kosong disesuaikan dengan titik masuk, menggunakan hentian hentian bergerak.
Strategi ini menyokong operasi penuh dan operasi berpecah pada masa yang sama. Tetapkan titik penangguhan yang tetap apabila penuh; Tetapkan titik penangguhan yang bergerak apabila berpecah.
Strategi ini juga menetapkan masa dagangan setiap hari dan hanya berdagang dalam tempoh masa yang ditetapkan.
Menggunakan indikator Stochastic oscillator untuk menentukan keadaan harga saham yang bergolak, anda dapat menentukan dengan tepat perhitungan jangka pendek harga saham.
Operasi pada titik-titik perubahan garis K selepas gegaran dapat meningkatkan ketepatan operasi.
Menggunakan stop loss bergerak, anda boleh melakukan trailing titik stop loss mengikut pergerakan harga saham, dan dapat mengunci lebih banyak keuntungan.
Menyokong operasi penuh dan berpecah, anda boleh memilih cara operasi yang sesuai mengikut keutamaan risiko anda.
Menetapkan masa perdagangan untuk mengelakkan kesilapan semasa turun naik harga saham yang luar biasa.
Indikator osilator stokastik mempunyai kebarangkalian besar untuk menghantar isyarat palsu, mungkin terlepas titik jual beli atau terganggu.
K line turning point judgment tidak tepat, mungkin melakukan operasi di bukan turning point.
Titik Henti Bergerak (Moving Stop Loss Point) Bergerak mengikut pergerakan harga saham, dan mungkin boleh diatasi.
Operasi pembahagian saham berisiko tinggi, dan perubahan harga saham boleh menyebabkan peningkatan kerugian.
Perlu menyesuaikan titik hentian dan pergerakan untuk menyesuaikan dengan ciri-ciri saham yang berbeza.
Perlu mengelakkan kesan kepada strategi oleh pergerakan harga saham yang luar biasa yang disebabkan oleh peristiwa besar.
Mengoptimumkan parameter Stochastic oscillator, menjadikannya lebih tepat untuk mengenal pasti jarak penyusunan.
Digabungkan dengan petunjuk lain untuk mengesahkan isyarat belok K, meningkatkan ketepatan operasi.
Mengoptimumkan algoritma Hentian Bergerak untuk membolehkan Hentian Hentian lebih baik untuk menjejaki harga saham.
Menambah kawalan kedudukan untuk mengelakkan satu saham kehilangan terlalu banyak.
Berkongsi dengan peristiwa besar, mengelakkan pergerakan harga saham yang tidak biasa.
Mengoptimumkan model pembahagian saham untuk menjejaki trend pasaran yang lebih besar.
Strategi berhenti berpatah balik menggunakan indikator Stochastic oscillator untuk mengenal pasti garis pendek dan melakukan operasi pada titik peralihan harga selepas guncangan. Strategi ini mempunyai kadar kemenangan yang tinggi dan dapat mengunci keuntungan dalam trend. Tetapi terdapat kemungkinan untuk mengeluarkan isyarat palsu dari osilator stokastik, dan ketepatan operasi perlu ditingkatkan lagi.
/*backtest
start: 2022-10-27 00:00:00
end: 2023-11-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('Cross', overlay=true, initial_capital=1000 )
// Creditos : Cleber.martinelli
////////////////////////////////////////////////////////
// //
// //
// CALENDARIO //
// //
// //
////////////////////////////////////////////////////////
//052)
// trading view solicita que se ja informado data para gerar backtest a partir de tal data
//começa backtest do trading sistem em qual data ?
ano = input.int(2022, minval=1, title="Ano")
mes = input.int(1, minval=1, maxval=12, title="Mes")
dia = input.int(1, minval=1, maxval=31, title="Dia")
hora = input.int(1, minval=1, maxval=23, title="hora")
minuto = input.int(0, minval=0, maxval=59, title="minuto")
horaabertura = input.int(10, minval=1, maxval=23, title="hora Inicio Operacao Robo")
minutoabertura = input.int(40, minval=1, maxval=59, title="Minuto Encerra Tudo")
horaencerra = input.int(17, minval=1, maxval=23, title="hora Fechamento")
minutoencerra = input.int(50, minval=1, maxval=59, title="Minuto Encerra Novas Operacoes")
minutofinaliza = input.int(50, minval=1, maxval=59, title="Minuto Encerra Tudo")
//valida se o dia de hoje é posterior ao dia informado acima
Validadia = year >= ano and month >= mes and dayofmonth >= dia
//cria horario de abertura de negociaçao, considerar default 10 hs, pois os indicadores ja estarão corrigidos
abreloja = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaabertura
//and minute >= minutoabertura)
//cria horario de fechamento de todas as negociaçoes, considerar default 17:00 hs
//nenhuma ordem pode ser aberta depois dessa data e as abertas devem ser fechadas
fechaloja = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaencerra
//and minute >= minutoencerra)
fechaloja2 = year >= ano and month >= mes and dayofmonth >= dia and hour >= horaencerra
//and minute >= minutofinaliza)
//valida horario de negociação, pra liberar as operacoes.
lojaaberta = abreloja == true and fechaloja == false and fechaloja2 == false
////////////////////////////////////////////////////////
// //
// //
// Codigo Operacional //
// //
// //
////////////////////////////////////////////////////////
// Inputs da Estratégia
pmax = input.int(90, minval=0, maxval=100, title="Estocastico Alvo - Para Short")
pmin = input.int(10, minval=0, maxval=100, title="Estocastico Alvo - Para Buy ")
parcial = input(title="Parcial ? ", defval=true)
p_gain = input.int(150, minval=0, maxval=1000, title="Pontos para Gain ")
p_loss = input.int(150, minval=0, maxval=1000, title="Pontos para Loss")
p_parcial = input.int(50, minval=0, maxval=100, title="Pontos para Parcial ")
// puxando os indicadores que usaremos
estoc = ta.stoch(close,high,low,5)
if (estoc >=pmax and close < open)
strategy.entry("Vende", strategy.short ,qty = 2)
if (estoc <=pmax and close > open)
strategy.entry("Compra", strategy.long ,qty = 2 )
pm_ativo = strategy.opentrades.entry_price(0)
if strategy.position_size > 0 and parcial// Posicionado na compra
if strategy.position_size == 2 // Mão cheia
if close < pm_ativo - 100
strategy.exit("Fecha Compra", "Compra", loss=p_loss , qty = 2 )
if close > pm_ativo + 50
strategy.exit("Fecha Compra", "Compra", profit=p_gain , qty = 1 )
if strategy.position_size == 1// Mão cheia
if close < pm_ativo
strategy.exit("Fecha Compra", "Compra", loss=0 , qty = 1 )
if close > pm_ativo + 100
strategy.exit("Fecha Compra", "Compra", profit= p_gain * 1.5 , qty = 1 )
if strategy.position_size < 0 and parcial // Posicionado na Venda
if strategy.position_size == -2 // Mão cheia
if close > pm_ativo - 100
strategy.exit("Fecha Venda", "Vende", loss=p_loss , qty = 2 )
if close < pm_ativo + 50
strategy.exit("Fecha Venda", "Vende", profit=p_gain , qty = 1 )
if strategy.position_size == -1// Mão cheia
if close > pm_ativo
strategy.exit("Fecha Venda", "Vende", loss=0 , qty = 1 )
if close < pm_ativo + 100
strategy.exit("Fecha Venda", "Vende", profit=p_gain*1.5 , qty = 1 )
if strategy.position_size > 0 and parcial == false // Sem Parcial
strategy.exit("Fecha Compra", "Compra", loss=p_loss , profit = p_gain , qty = 2 )
if strategy.position_size < 0 and parcial == false // Sem Parcial
strategy.exit("Fecha Venda", "Vende", loss=p_loss , profit = p_gain , qty = 2 )