一目均衡表戦略


作成日: 2023-09-24 13:11:38 最終変更日: 2023-09-24 13:11:38
コピー: 0 クリック数: 426
1
フォロー
1141
フォロワー

概要

この戦略は, Ichimoku Kinko Hyo指標,日線突破,高士平滑移動平均,MACD指標など,複数の技術指標を統合して,トレンドの方向を判断し,より信頼性の高いエントリーポイントを探している.

戦略原則

  1. Ichimoku Kinko Hyoの指標判断:コンバーションライン上をベースラインを横切ると看板信号とみなされる。

  2. 日線突破判断:今日の閉盘価格が昨日の閉盘価格より一定比率上昇で,看板の信号が確認された.

  3. 高斯平滑移動平均判断:価格上方平均線穿越は看板信号と見なす。

  4. MACD判断:DIFF線でDEA線を穿越することは,看板信号と見なされる。

  5. 市場がトレンド転換に直面していると判断する上記の複数の要因を総合して,市場がトレンド転換に直面している時に注目する時期を決定する.

戦略的優位性

  1. 複数の指標を統合して判断の正確さを向上させる.

  2. 日内と多時枠の判断を共同確認し,偽突破を避ける.

  3. 傾向を判断する上で,イチモク・キンコ・ヒョは正確で信頼性があります.

  4. ゴスのスムーズ移動平均は,遅滞が少ない特性を有する.

  5. MACDは動力が逆転していることを示している.

戦略リスク

  1. 複数の条件が同時に成立する時間が比較的少ないため,入場地点が欠けやすい可能性があります.

  2. 指数パラメータを正しく設定しない場合,誤った信号が出る可能性があります.

  3. “時間枠”と”日枠”の判断は違います.

  4. 偽の突破は依然として起こり,損害を招く可能性があります.

対応の最適化方法:

  1. 参数値の調整により,入学時間を拡大します.

  2. 異なる品種と周期のパラメータの組み合わせをテストし,パラメータを最適化する.

  3. タイムフレームの配置を最適化して,各タイムフレームの信号を協調させる.

  4. ストップ・ストラストを設定し,単発損失を制御する.

戦略最適化の方向性

  1. 異なる指標の組み合わせをテストし,より良い組み合わせを探します.

  2. 機械学習のアルゴリズムを増やし,より多くのデータを活用して判断力を向上させる.

  3. トレンド検知を増やし,逆転取引を避ける

  4. 資金管理戦略を最適化し,より堅牢にします.

  5. ストップ・ローズ・ストップ戦略を最適化し,利益を最大化します.

要約する

この戦略は,複数の指標の判断トレンドの方向を統合し,より高い確率の看板のタイミングを決定する際に入場し,複数のタイムフレームと複数の指標の共同検証によって判断の正確性を向上させる.パラメータウィンドウの調整,組み合わせの最適化,より多くのデータの導入などから最適化することができ,より多くの要因信号を統合し,安定した基盤を維持する上でより多くの取引機会を取得する.

ストラテジーソースコード
/*backtest
start: 2022-09-17 00:00:00
end: 2023-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Any timeFrame ok but good on 15 minute & 60 minute , Ichimoku + Daily-Candle_cross(DT) + HULL-MA_cross + MacD combination 420 special blend
strategy("Ichimoku + Daily-Candle_X + HULL-MA_X + MacD", shorttitle="٩(̾●̮̮̃̾•̃̾)۶", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=26, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0,precision=6)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold (0.001)", type=float, step=0.0001)
SL = input(defval=-500.00, title="Stop Loss in $", type=float, step=1)
TP = input(defval=25000.00, title="Target Point in $", type=float, step=1)
ot=1
p = input(7, minval=1, title="Length")
pi=3.1415926535
w=2*pi/p
beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1)
alfa = -beta + sqrt(beta*beta + 2*beta)
ret1= pow(alfa,4)*close+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
ret2= pow(alfa,4)*close[1]+4*(1-alfa)*nz(ret1[1])-6*pow(1-alfa,2)*nz(ret1[2])+4*pow(1-alfa,3)*nz(ret1[3])-pow(1-alfa,4)*nz(ret1[4])
confidence=(security(syminfo.tickerid, 'D', close)-security(syminfo.tickerid, 'D', close[1]))/security(syminfo.tickerid, 'D', close[1])
conversionPeriods = input(9, minval=1, title="Conversion Line Periods")
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
LS=close, offset = -displacement
MACD_Length = input(9)
MACD_fastLength = input(12)
MACD_slowLength = input(26)
MACD = ema(close, MACD_fastLength) - ema(close, MACD_slowLength)
aMACD = ema(MACD, MACD_Length)
closelong = ret1<ret2 and close<ret2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
longCondition = ret1>ret2 and strategy.opentrades<ot and confidence>dt and close>ret2 and leadLine1>leadLine2 and open<LS and MACD>aMACD
if (longCondition)
    strategy.entry("Long",strategy.long)
//                         /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//a1=plot(n1,color=c)
//a2=plot(n2,color=c)
//plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
//plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
//plot(conversionLine, color=#0496ff, title="Conversion Line")
//plot(baseLine, color=#991515, title="Base Line")
//plot(close, offset = -displacement, color=#459915, title="Lagging Span")
//p1=plot (leadLine1, offset = displacement, color=green,  title="Lead 1")
//p2=plot (leadLine2, offset = displacement, color=red,  title="Lead 2")
//fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)
// remove the "//" from before the plot script if want to see the indicators on chart