ダイナミック・プロフィート・ターゲットのオープン・レンジ戦略 (Open Range Strategy with Dynamic Profit Target) は,潜在的な取引機会を特定するために市場のオープニング・レンジを使用する技術的取引戦略である.この戦略は,市場のオープニング・レンジが短期的に市場の方向性について貴重な情報を提供できるという考えに基づいている.
この戦略は,まず市場のオープニングレンジを計算することによって機能する.オープニングレンジは,取引日の最初のバーの高価格と低価格の違いである.その後,戦略は,オープニングレンジ上のまたは下のブレイクを探して潜在的な取引機会を特定する.
ストラテジーは,価格が開拓範囲を超えると,ロングポジションに入ります.価格が開拓範囲を下回ると,ストラテジーはショートポジションに入ります.価格が既定の利益目標またはストップ損失に達すると,ストラテジーはポジションを退きます.
戦略の利益目標は動的であり,価格の動きに応じて変化することを意味します. 利益目標は開拓範囲と市場の現在の価格に基づいて計算されます. 価格は開拓範囲の事前に決定されたパーセントに達すると戦略はポジションを退場します.
ストップ・ロスは,ストップ・ロスは,ストップ・ロスの値が変動するにつれて変化する.ストップ・ロスは,市場の現在の価格と開口範囲の事前決定された割合に基づいて計算されます.ストップ・ロスは,ストップ・ロスの値に達した場合,ストップ・ロスは終了します.ストップ・ロスは,ストップ・ロスの値に達した場合,ストップ・ロスは終了します.ストップ・ロスは,ストップ・ロスの値に達した場合,ストップ・ロスは終了します.ストップ・ロスは,ストップ・ロスの値に達した場合,ストップ・ロスは終了します.ストップ・ロスは,ストップ・ロスの値に達した場合,ストップ・ロスは終了します.ストップ・ロスは,ストップ・ロスの値に達した場合,ストップ・ロスは終了します.ストップ・ロスは,ストップ・ロスの値に達した場合,ストップ・ロスは終了します.
ダイナミック・プロフィート・ターゲットのオープン・レンジ戦略は,比較的シンプルな戦略ですが,短期間の取引機会を特定するのに効果的です.しかし,どの取引戦略も利益をもたらすことは保証されないことを覚えておくことが重要です.ライブ・トレーディングで使用する前に,戦略を歴史的なデータでバックテストすることが常に重要です.
戦略の様々な構成要素について詳しく説明します.
ダイナミック・プロフィート・ターゲットのオープン・レンジ・戦略を使用するためのヒントは以下の通りです
この 記事 が 役立ち た と 思います.それ以外 の 疑問 が ある なら 教えて ください.
/*backtest start: 2023-08-09 00:00:00 end: 2023-09-08 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] args: [["v_input_10",true]] */ //@version=2 //Created by Frenchy/lisfse/Francois Seguin on 2019-01-22" strategy(title="Open_Range_Strategy_with_dynamic_PT_by_frenchy", shorttitle="O/R Strategy Dynamic PT ", overlay=true) // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2017, title = "From Year", minval = 2010) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2016) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => time >= start and time <= finish ? true : false // create function "within window of time" // === INPUT SESSION RANGE === SessionLenght = input('0930-1100', title="Session Lenght") res = input('30', title="Length Of Opening Range?") Notradetime= time('30', '0930-1000') Tradetime= time('1', '1000-1100') // === LONG/SHORT STRATEGY AND ALERT SELECTION === Select_long = input(true, title="Long Strategy and alert ?") Select_short = input(false, title="Short Strategy and alert ?") //Session Rules sessToUse = SessionLenght bartimeSess = time('D', sessToUse) fr2to17 = time(timeframe.period, sessToUse) newbarSess = bartimeSess != bartimeSess[1] high_range = valuewhen(newbarSess,high,0) low_range = valuewhen(newbarSess,low,0) adopt(r, s) => security(syminfo.tickerid, r, s) //Formula For Opening Range highRes = adopt(res, high_range) lowRes = adopt(res, low_range) range = highRes - lowRes //Highlighting Line Rules For Opening Range highColor = Notradetime ? red : green lowColor = Notradetime ? red : green //Plot Statements For Opening Range Lines openRangeHigh = plot(fr2to17 > 0 ? highRes : na, color=highColor, style=linebr, linewidth=4,title="OR High") openRangeLow = plot(fr2to17 > 0 ? lowRes : na, color=lowColor, style=linebr, linewidth=4,title="OR Low") //Price definition price = security(syminfo.tickerid, timeframe.period, close) haclose = ((open + high + low + close)/4) //aopen = na(haopen[1]) ? (open + close)/2 : (haopen[1] + haclose[1]) / 2 MA20= sma(price,20) //Plots For Profit Targe 2 bgcolor(Notradetime? red:na) ///////////////////////////////////////Strategy Definition /////////////////////////////////////////////////////////////// /////////////////////////////////////////Long Strategy//////////////////////////////////////////////////////////////////// //Enter Strategy Long criteria Enterlong = (crossover(price,highRes) and Select_long and Tradetime ? 1:0 ) and (Notradetime ? 0:1) plotarrow(Enterlong, color=black, style=shape.triangleup, text="Enter", location=location.belowbar, minheight = 80, maxheight=80, offset=0) //Exit Strategy Long criteria Exitlong = crossunder(price,highRes) or crossunder(price,MA20) //plotshape(Exitlong, color=black, style=shape.triangledown, text="Exit", location=location.abovebar) /////////////////////////////////////////Long Strategy Excution//////////////////////////////////////////////////////// strategy.entry ("Call", strategy.long, when=Enterlong and window()) strategy.close("Call", when=Exitlong and window()) //////////////////////////////////////////Short Strategy//////////////////////////////////////////////////////////////// //Enter Strategy Short criteria Entershort = crossunder(price,lowRes) and time(res, SessionLenght) and Select_short ? 1:0 // Exit Strategy short criteria Exitshort = crossover(price,lowRes) or crossover(haclose,MA20) ///////////////////////////////////////Strategy execution Short/////////////////////////////////////////////////////// strategy.entry ("put", strategy.short, when=Entershort and window()) strategy.close("put", when=Exitshort and window())