資源の読み込みに... 荷物...

アジアの高低点突破戦略

作者: リン・ハーンチャオチャン, 日付: 2024-03-29 17:12:49
タグ:

亚洲盘高低点突破策略

概要

この戦略の主な考えは,アジア盤の高低を突破点として利用し,EU・アメリカ盤開店後数時間以内に,価格がアジア盤高低を突破した場合,より多くの値が突破され,アジア盤低低低を突破すると空虚になる.同時に停止損失と停止上昇を設定し,リスクを制御する.この戦略は,1日1回の取引のみを開設し,最大100,000回の同時開設を行う.

戦略の原理

  1. アジア盤の取引時間を決定し,ユーザーは開始時間と終了時間をカスタマイズできます.
  2. アジア盤の間,当日の最高値と最低値が記録された.
  3. ユーロ・アメリカ取引開始後のある時間 (ユーザー自定義の偏差時間数) に,価格がアジア取引高を突破した場合,より多くの取引が行われ,アジア取引低を突破した場合,空になる.
  4. ストップ・ダストとストップ・ブレーキを設定し,ストップ・ダストとストップ・ブレーキのポイント数をカスタマイズできます.
  5. 取引は1日1回のみ,最大100000件の取引を同時開設する.
  6. 取引先の取引先は,取引先の取引先の取引先の取引先の取引先の取引先の取引先の取引先です.

優位性分析

  1. アジア盤の比較的穏やかな特徴を利用し,当日のアジア盤の高低点を突破点として利用することで,EU盤のトレンドチャンスをよりよく把握できる.
  2. ストップ損失とストップブレーキを設定することで,リスクを効果的に制御し,利益が十分に走り,損失がすぐに停止できます.
  3. 取引の制限は,日1回のみと最大同時取引数に制限されており,過度な取引や資金の過大利用を防ぐことができる.
  4. ユーザは,自分のニーズに応じて,アジア盤時や偏差時間の数などのパラメータを柔軟に設定することができます.

リスク分析

  1. アジア盤の高低は必ずしも当日の本当の高低ではないが,EU・アメリカ盤が突破してすぐに引き下がり,損失をもたらす可能性がある.
  2. 固定ポイントのストップ損失とストップブレーキは,市場の大きな波動に対応できない可能性があり,時には早すぎるストップ損失,時には早すぎるストップブレーキが発生する可能性があります.
  3. この戦略は,トレンドがはっきりしない場合や市場の波動が大きい場合,頻繁に開場・止損を起こす可能性があります.

優化方向

  1. ATRなどの波動率指標に基づいて,異なる市場に対応するために,停止損失と停止上昇のポイント数を動的に調整することを考慮することができる.
  2. 傾向判断の指標として,MAのようなものを追加することも可能で,成功率を高めるために,大きな傾向が上昇するときにのみ,上昇するときにのみ,減少するときに空白する.
  3. 異なるパラメータを時間区間で設定することは考えられる.例えば,ユーロ・アメリカ盤開盤初期に少量のストップ・ロダスト・ブレーキを使用し,トレンドが顕著であるときに多額のストップ・ロダスト・ブレーキを使用する.

概要

この戦略は,アジア盤の高低点を突破点として取引するために利用し,欧州・アメリカ盤のトレンドがより顕著な品種に使用するのに適しています.しかし,固定ポイント停止損失抑制と標準的な突破入入りの方法にもいくつかの制限があります.いくつかの動的および傾向指標を導入することで,この戦略を最適化してより良い効果を得ることができます.


/*backtest
start: 2024-02-27 00:00:00
end: 2024-03-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Asia Session", overlay=true)

var hourSessionStart = input(19, "Asia session start hour", minval=0, maxval=23)
var hourSessionStop  = input(1, "Asia session end hour", minval=0, maxval=23)
var offsetHours = input(3, "Offset hours after Asia session end")

var float hi              = na
var float lo              = na
var float plotHi          = na
var float plotLo          = na

var bool  inSession       = na
var bool  enteringSession = na
var bool  exitingSession  = na

inSession       := (hour >= hourSessionStart or hour < hourSessionStop)
enteringSession := inSession and not inSession[1]
exitingSession  := not inSession and inSession[1]

if enteringSession
    plotLo := na
    plotHi := na

if inSession
    lo := min(low,  nz(lo, 1.0e23))
    hi := max(high, nz(hi))

if exitingSession
    plotLo := lo
    plotHi := hi
    lo     := na
    hi     := na

bgcolor(inSession ? color.blue : na)

plot(plotLo, "Asia session Low",  color.red,   style=plot.style_linebr)
plot(plotHi, "Asia session High", color.green, style=plot.style_linebr)

// Implementazione delle condizioni di entrata
var float asiaSessionLow = na
var float asiaSessionHigh = na
var int maxTrades = 100000 // Impostiamo il massimo numero di operazioni contemporanee
var int tradesOpened = 0 // Variabile per tenere traccia del numero di operazioni aperte
var bool tradeOpened = false
var bool operationClosed = false // Nuova variabile per tenere traccia dello stato di chiusura dell'operazione

// Calcolo del range asiatico
if (inSession)
    asiaSessionLow := lo
    asiaSessionHigh := hi

// Apertura di un solo trade al giorno
if (enteringSession)
    tradeOpened := false

// Condizioni di entrata
var float stopLoss = 300 * syminfo.mintick
var float takeProfit = 300 * syminfo.mintick

if (not tradeOpened and not operationClosed and close < asiaSessionLow and tradesOpened < maxTrades and hour >= hourSessionStop + offsetHours)
    strategy.entry("Buy", strategy.long)
    tradeOpened := true
    tradesOpened := tradesOpened + 1 // Incrementiamo il contatore delle operazioni aperte

if (not tradeOpened and not operationClosed and close > asiaSessionHigh and tradesOpened < maxTrades and hour >= hourSessionStop + offsetHours)
    strategy.entry("Sell", strategy.short)
    tradeOpened := true
    tradesOpened := tradesOpened + 1 // Incrementiamo il contatore delle operazioni aperte

// Impostazione dello stop loss e del take profit
strategy.exit("Stop Loss / Take Profit", "Buy", stop=close - stopLoss, limit=close + takeProfit)
strategy.exit("Stop Loss / Take Profit", "Sell", stop=close + stopLoss, limit=close - takeProfit)


もっと見る