
この戦略は,フィボナッチ数列の計算に基づく平均K線と移動平均を構成し,複数の価格技術指標のルールと組み合わせて,単に多かれ少なかれ空っぽにならない量的な取引を実現する.初回テストでは,この戦略は,大周期グラフでうまく動作することを示した.
この戦略は主に以下のステップによって実現されます.
フィボナッチ数列に基づいて,最近10回のフィボナッチ周期の平均閉盘価格,最高価格,最低価格および開盤価格を計算し,平均K線を構築する.
平均閉店価格に対して,1・2・3・5・8・13・21・34・55周期の指数移動平均 ((EMA)) を計算し,これらの9つのEMAの平均値を計算すると,平均EMAが得られる.
多平仓の条件を設定する:平均K線形が多頭シグナル ((收陽,陽包陽等) を表示し,閉盘価格が平均EMAより高いときに多仓を開く;平均K線形が空頭シグナル ((收陰,陰包陰等) を表示し,閉盘価格が平均EMAより低い時に平仓をやる.
平均K線波の価格変動を計算し,均線指標と組み合わせて取引信号を発信することにより,トレンドを効果的に識別し,取引リスクを制御することができます.
フィボナッチ数列による計算平均のK線を基に,ランダムな価格変動を効果的に波し,トレンド信号を識別することができる.
複数のEMA平均値は平均EMAを構築し,サポートレジスタンス位の安定性を強化し,信号品質を向上させる.
単に空白をなくすだけで,取引の回数,取引コスト,滑点の影響を減らすことができます.
大周期で動作し,中長線操作に適している.
余計な策略は空頭市場では大きな損失を招く可能性があります.
EMA平均線は遅滞しやすいため,ベストエントリーポイントを逃す可能性があります.
短線で,中線で,中線で,中線で,中線で,中線で,中線で,中線で,中線で,中線で,中線で,中線で.
パラメータ最適化のスペースは限られており,リッドディスクのパフォーマンスは,パラメータ最適化のフィードバック結果より弱くなる可能性があります.
適切なストップ・ストラテジーを追加してテストし,損失が拡大するときにストップ・ストラトジーを追加することができます.
ATRなどの波動率指標を組み合わせて,ポジションの規模を動的に調整できます.
ダウントレンドに適正に介入して空白をテストし,戦略的利益を増やすことができる.
EMAの周期パラメータを最適化して,最適なパラメータ組み合わせを見つけることができる.
この戦略は,フィボナッチ平均K線と均等線指標を構築し,トレンドシグナルを識別することで,取引を量化することができる.この戦略は,平均K線を計算して価格を波動させ,多操作だけで取引コストを削減する利点がある.同時に,多操作だけで市場リスク,およびEMA遅れの問題もある.全体的に,この戦略は,多次元から取引リスクを制御し,大周期で良好なパフォーマンスを発揮し,中長期操作に適している.継続的な最適化により,戦略の安定性と収益レベルを向上させることができる.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © SoftKill21
//@version=4
strategy("Fibonacci candle", overlay=false )
//plot of our fibonacci candle
// Fibonacci
// Fn = Fn-1 + Fn-2
// F10 = 55
// 0 1 2 3 5 8 13 21 34 55
avg_close = (close[0] + close[1] + close[2] + close[3] +close[5] + close[8] + close[13]+ close[21] + close[34] + close[55]) / 10
avg_high = (high[0] + high[1] + high[2] + high[3] +high[5] + high[8] + high[13]+ high[21] + high[34] + high[55]) / 10
avg_low = (low[0] + low[1] + low[2] + low[3] +low[5] + low[8] + low[13]+ low[21] + low[34] + low[55]) / 10
avg_open = (open[0] + open[1] + open[2] + open[3] +open[5] + open[8] + open[13]+ open[21] + open[34] + open[55]) / 10
src = avg_close//input(avg_close, title="Source")
out55 = ema(src, 55)
out1 = ema(src, 1)
out2 = ema(src, 2)
out3 = ema(src, 3)
out5 = ema(src, 5)
out8 = ema(src, 8)
out13 = ema(src, 13)
out21 = ema(src, 21)
out34 = ema(src, 34)
avg_ema = (out55 + out1 + out2 + out3+ out5 + out8 + out13 + out21 + out34)/9
plot(avg_ema)
plotcandle(avg_open, avg_high, avg_low, avg_close, title='Title', color = avg_open < avg_close ? color.green : color.red, wickcolor=color.white)
long = avg_open < avg_close and avg_close > avg_close[1] and avg_high > avg_high[1] and avg_close[1] > avg_close[2] and avg_high[1] > avg_high[2]
short = avg_open > avg_close and avg_close < avg_close[1] and avg_low < avg_low[1] and avg_close[1] < avg_close[2] and avg_low[1] < avg_low[2]
strategy.entry("long",1,when=long and avg_close > avg_ema)
strategy.close('long',when=short and avg_close < avg_ema)