
スマート取引のダイナミック均等混合戦略は,技術分析指標と図形状認識を組み合わせた量化取引戦略である.この戦略は,簡単な移動平均 ((SMA) クロスシグナル,図形状認識と波動率調整のストップ・ロスを利用して,市場入場と退出点を決定する.また,戦略は,リスク管理と正確なポジション計算方法を融合し,各取引のリスクパーセントとリスク報酬比率を設定することにより,取引パフォーマンスを最適化する.戦略は,価格が22サイクルSMAを横断する際にTとTTの信号ラベルを生成し,トレーダーに追加の視覚的な確認を提供します.
この戦略の核心原則は,取引信号の信頼性を高めるために複数の技術分析方法の組み合わせに基づいています.この戦略は,主に以下のいくつかの重要な構成要素に依存しています.
移動平均線が交差する: 13周期と5周期の単純な移動平均 ((SMA) の交差を利用して,買入と売却のシグナルを触発する. 迅速な移動平均 ((より短い周期) が,ゆっくりとした移動平均 ((より長い周期) を上方に横断するときに買入シグナルを生成する. 迅速な移動平均が,ゆっくりとした移動平均を下方に横断するときに売出シグナルを生成する.
形認識策略には,呑み型,呑み型,線,逆線,妊娠型と妊娠型を含む複数の形状認識機能が組み込まれています. これらの形状は,取引決定に追加の確認を提供するために,グラフに異なる色で表示されます.
波動率調整のストップポイント: 平均真範囲 ((ATR) の指標を使用して,ストップ距離を計算し,ユーザ定義ATRの倍数でストップ位置を調整する. この方法は,ストップを市場の現在の変動性により適合させる.
ポジションの正確な計算: 初期資金,各取引のリスクパーセント,ATR計算によるストップ・ロース・ディスタンスに基づいて,ポジションのサイズを正確に決定し,リスクの一貫した制御を実現する.
TとTT信号システム策略には,価格が22サイクルSMAを横切るときにTとTTラベルを生成する視覚信号システムも含まれている.これらのラベルは,横切る方向との閉盘価格と開盤価格の関係に応じて異なる色で表示され,追加の取引確認を提供します.
この戦略は,以下のような大きな利点があります.
複数の認証メカニズム: 移動平均クロス,グラフ形状,T/TT信号システムとの組み合わせにより,多層の取引確認を提供し,偽信号のリスクを低減する.
ダイナミックなリスク管理:ATR指標を使用してストップポジションを調整し,市場変動に応じて戦略が自動的に保護措置を調整できるようにし,波動が大きいときにより広いストップスペースを提供し,波動が小さいときにより緊密なストップを提供します.
資金管理の精度: リスクの割合に基づいてポジションを計算することで,取引ごとにリスクが一致し,市場の変動に関係なく,同じリスクの露出を維持できるようにする.
視覚的な取引信号戦略: グラフ上での図形とT/TT信号を直感的に表示し,トレーダーに潜在的な取引機会を素早く識別できるようにする.
カスタムリスクパラメータ: 取引者の個人リスクの好みに応じて,各取引のリスクパーセント,リスクリターン比率,ATRの倍数などの重要なパラメータを調整し,異なる取引スタイルと市場条件に戦略を適応させる.
この戦略は包括的に設計されていますが, 潜在的リスクは以下の通りです.
平均線交差の遅延移動平均は遅滞の指標で,トレンドが逆転するときに遅刻して入場し,初期価格の動きを逃す可能性があります. 解決策は,他の有力指標と組み合わせたり,移動平均の周期を小さくして応答の速度を上げることです.
市場が急激に波動するリスク: 波動性の高い市場条件下では,価格が既定の止損値を跳ね上がり,実際の損失が予想よりも大きくなる可能性があります. 保証された止損注文を使用するか,ATRの倍数を増やすことを検討してください.
過剰取引のリスク: 頻繁に均線交差は,特に横盤市場では,過剰取引を引き起こす可能性があります. 偽信号を減らすために,追加のフィルター (トレンド強度指数など) を加えることができます.
パラメータ感度戦略性能は,パラメータ選択 (移動平均周期,ATR周期,倍数など) に非常に敏感である.特定の市場に最適な設定を見つけるために,徹底した反測とパラメータ最適化が必要である.
形は誤認されている:特定の市場条件では,形認識は不正確で,誤ったシグナルを引き起こす可能性があります.形を主要取引シグナルではなく,補助的な確認として使用することをお勧めします.
この戦略は,以下の方向で最適化できます.
トレンドフィルターを追加: トレンド強度指数 (ADXやMACDなど) を導入し,追加のフィルターとして,確認されたトレンド方向のみで取引し,横軸市場における偽信号を避ける.
統合取引量確認: 取引量分析を戦略に追加し,信号生成時に取引量を増やすように要求します.これは,特に突破および反転モードでは,信号の信頼性を高めることができます.
適応パラメータの実装: 市場条件に応じて移動平均周期とATR倍数を自動的に調整する自己適応メカニズムを開発する.例えば,波動性の高い市場では,より長い移動平均周期とより大きなATR倍数を使用する.
時間フィルターの追加取引時間フィルターを導入し,市場開場や重要な経済データ発表の時間など,既知の低流動性または高波動性のある時間を回避します.
フィールドロジックへの変更: 価格行動パターンとサポート/レジスタンスレベルを組み合わせて入場点を最適化し,均線交差のみに頼るのではなく,入場点を改善し,滑り点を減らすことができる.
多時間枠分析: 複数のタイムフレームの確認を追加し,取引方向がより高いタイムフレームのトレンドと一致することを確認し,逆転取引を減らすことと勝率を向上させる.
部分的利益封鎖機構: 階段式利回り策を実現し,価格が特定の目標に達したときに部分利回りをロックし,同時にストップを損益平衡点または小利回り位置に移動し,既得利回りを保護する.
智能取引の動線均等混合戦略は,技術分析,リスク管理,正確なポジション計算を組み合わせた総合的な取引システムである.その核心的な優点は,多層の信号確認,動的リスク管理,直感的なビジュアル取引信号である.移動平均の交差,グラフ形状認識,および変動率調整のストップ・ローズを組み合わせることで,この戦略は,トレーダーに構造化された取引枠を提供している.均等線の遅延やパラメータセンシビリティなどのリスクがあるにもかかわらず,トレンドフィルター,整合取引量確認,多時間枠分析などの推奨された最適化措置を実施することで,戦略の安定性や性能を大幅に向上させることができる.
/*backtest
start: 2024-04-03 00:00:00
end: 2025-04-02 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=5
strategy("Smart Trade By Amit Roy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Input Settings
riskPercent = input.float(3, title="Risk Percentage per Trade (%)", minval=0.1, step=0.1)
rewardRatio = input.float(3, title="Risk-Reward Ratio", minval=1.0)
capital = input.float(10000, title="Starting Capital ($)", minval=1)
atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop Loss")
show_TT = input.bool(true, title = "Show T and TT")
show_sma = input.bool(true, title = "Show SMA")
// ATR Calculation for Volatility-based Stop-Loss
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)
stopLossDistance = atrValue * atrMultiplier
takeProfitDistance = stopLossDistance * rewardRatio
// Position Sizing Calculation
riskAmount = capital * (riskPercent / 100)
positionSize = riskAmount / stopLossDistance
// Simple Moving Averages
fastMA = ta.sma(close, 13)
slowMA = ta.sma(close, 5)
// Entry and Exit Conditions using Simple Moving Averages
longCondition = ta.crossover(fastMA, slowMA)
shortCondition = ta.crossunder(fastMA, slowMA)
// Candlestick Patterns Functions
isBullishEngulfing() => (open[1] > close[1] and close > open and close >= open[1] and close[1] >= open and close - open > open[1] - close[1])
isBearishEngulfing() => (close[1] > open[1] and open > close and open >= close[1] and open[1] >= close and open - close > close[1] - open[1])
isHammer() => (((high - low) > 3 * (open - close)) and ((close - low) / (.001 + high - low) > 0.6) and ((open - low) / (.001 + high - low) > 0.6))
isInvertedHammer() => (((high - low) > 3 * (open - close)) and ((high - close) / (.001 + high - low) > 0.6) and ((high - open) / (.001 + high - low) > 0.6))
isBullishHarami() => (open[1] > close[1] and close > open and close <= open[1] and close[1] <= open and close - open < open[1] - close[1])
isBearishHarami() => (close[1] > open[1] and open > close and open <= close[1] and open[1] <= close and open - close < close[1] - open[1])
// Color Bars for Candlestick Patterns
barcolor(isBullishEngulfing() ? color.rgb(0, 102, 255) : na)
barcolor(isHammer() ? (#1f0cef) : na)
barcolor(isBullishHarami() ? color.rgb(0, 93, 214) : na)
barcolor(isBearishEngulfing() ? color.rgb(255, 196, 0) : na)
barcolor(isBearishHarami() ? color.rgb(251, 255, 0) : na)
barcolor(isInvertedHammer() ? color.rgb(247, 0, 247) : na)
// Calculate SMA for Visualization
sma_22 = ta.sma(close, 22)
lineColor = close > sma_22 ? color.green : color.green
plot(show_sma ? sma_22 : na, color=lineColor, linewidth=1)
// Determine T and TT Labels based on Conditions
candleCrossG = ta.crossover(close, sma_22)
candleCrossR = ta.crossunder(close, sma_22)
// Plot T and TT labels
redT = candleCrossG and close < open
greenTT = candleCrossG and close > open and close > sma_22
greenT = candleCrossR and close > open
redTT = candleCrossR and close < open
plotshape(series=redT ? show_TT : na, title="Red-T", color=na, style=shape.labeldown, location=location.abovebar, size=size.small, textcolor=color.red, text="T")
plotshape(series=greenTT ? show_TT : na, title="Green-TT", color=na, style=shape.labelup, location=location.belowbar, size=size.tiny, textcolor=color.green, text="TT")
plotshape(series=greenT ? show_TT : na, title="Green-T", color=na, style=shape.labelup, location=location.belowbar, size=size.small, textcolor=color.green, text="T")
plotshape(series=redTT ? show_TT : na, title="Red-TT", color=na, style=shape.labeldown, location=location.abovebar, size=size.tiny, textcolor=color.red, text="TT")
// Place Trades Based on Conditions
if (longCondition)
strategy.entry("उड़ाओ ", strategy.long, qty=positionSize)
strategy.exit("Take Profit", from_entry="Long", limit=close + takeProfitDistance, stop=close - stopLossDistance)
if (shortCondition)
strategy.entry("गिराओ", strategy.short, qty=positionSize)
strategy.exit("Take Profit", from_entry="Short", limit=close - takeProfitDistance, stop=close + stopLossDistance)
// Plotting Stop Loss and Take Profit Levels for Visualization
plot(longCondition ? close - stopLossDistance : na, color=na, title="Stop Loss", linewidth=1, style=plot.style_line)
plot(longCondition ? close + takeProfitDistance : na, color=na, title="Take Profit", linewidth=1, style=plot.style_line)
plot(shortCondition ? close + stopLossDistance : na, color=na, title="Stop Loss (Short)", linewidth=1, style=plot.style_line)
plot(shortCondition ? close - takeProfitDistance : na, color=na, title="Take Profit (Short)", linewidth=1, style=plot.style_line)