এই কৌশলটি প্রতিদিনের টাইমফ্রেম থেকে ভিডাব্লুএপি (ভলিউম ওয়েটেড এভারেজ প্রাইস) ব্যবহার করে ট্রেডগুলিতে প্রবেশ এবং প্রস্থান করার জন্য একটি সংকেত হিসাবে। যখন বন্ধের দাম ভিডাব্লুএপি এর উপরে অতিক্রম করে, এটি পূর্ববর্তী মোমবাতিগুলির নীচে থাকলে এটি স্টপ লস সেট করে লং এন্ট্রি ট্রিগার করে এবং লক্ষ্য মূল্য প্রবেশের দামের 3 পয়েন্ট উপরে সেট করে। বিপরীতভাবে, যখন বন্ধের দাম ভিডাব্লুএপি এর নীচে অতিক্রম করে, এটি পূর্ববর্তী মোমবাতিগুলির উচ্চতায় স্টপ লস সেট করে শর্ট এন্ট্রি ট্রিগার করে যদি এটি ভিডাব্লুএপি এর উপরে থাকে এবং লক্ষ্য মূল্য প্রবেশের দামের 3 পয়েন্ট নীচে সেট করে। এই কৌশলটিতে কোনও প্রস্থান শর্ত অন্তর্ভুক্ত নেই, তাই বিপরীত সংকেত না হওয়া পর্যন্ত ট্রেড খোলা থাকে।
ক্রস-টাইমফ্রেম ভিডাব্লুএপি ডেটা ব্যবহার করে প্রবণতা নির্ধারণ এবং গতিশীল স্টপ লস এবং স্থির-পয়েন্ট লাভ গ্রহণের সুবিধা গ্রহণ করে, কৌশলটি কার্যকরভাবে ট্রেন্ডিং বাজারগুলি ক্যাপচার করতে পারে, ড্রডাউন ঝুঁকিগুলি নিয়ন্ত্রণ করতে পারে এবং সময়মতো লাভকে লক করতে পারে।
এই কৌশলটি ট্রেন্ড নির্ধারণ এবং সিগন্যাল ট্রিগার করার জন্য ক্রস-টাইমফ্রেম ভিডাব্লুএপি ডেটা ব্যবহার করে যখন ঝুঁকি নিয়ন্ত্রণ এবং লাভকে লক করার জন্য গতিশীল স্টপ লস এবং স্থির-পয়েন্ট লাভ গ্রহণ করে। এটি একটি সহজ এবং কার্যকর পরিমাণগত ট্রেডিং কৌশল। প্রবণতা ফিল্টারিং, গতিশীল লাভ গ্রহণ, অবস্থান আকার, এবং ট্রেডিং সেশনের নির্বাচনের অপ্টিমাইজেশনের মাধ্যমে, কৌশলটির দৃust়তা এবং লাভের সম্ভাবনা আরও বাড়ানো যেতে পারে। তবে, কৌশলটি অনুশীলনে প্রয়োগ করার সময়, আরও ভাল পারফরম্যান্স কৌশল অর্জনের জন্য বাজারের বৈশিষ্ট্য, ট্রেডিং ব্যয় এবং পরামিতি অপ্টিমাইজেশনে মনোযোগ দেওয়া উচিত।
/*backtest start: 2024-03-06 00:00:00 end: 2024-03-07 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity) // fastEMA = ta.ema(close, 24) // slowEMA = ta.ema(close, 200) // Higher Time Frame float sl = na float tgt = na posSize = 1 vwap_1d = request.security(syminfo.tickerid, "1D", ta.vwap(close)) // plot(vwap_1d) // To avoid differences on historical and realtime bars, you can use this technique, which only returns a value from the higher timeframe on the bar after it completes: // indexHighTF = barstate.isrealtime ? 1 : 0 // indexCurrTF = barstate.isrealtime ? 0 : 1 // nonRepaintingVWAP = request.security(syminfo.tickerid, "1D", close[indexHighTF])[indexCurrTF] // plot(nonRepaintingVWAP, "Non-repainting VWAP") enterLong = ta.crossover(close, vwap_1d) exitLong = ta.crossunder(close, vwap_1d) enterShort = ta.crossunder(close, vwap_1d) exitShort = ta.crossover(close, vwap_1d) if enterLong sl := low[1]>vwap_1d ?low[1]:vwap_1d tgt:=close+3 strategy.entry("EL", strategy.long, qty=posSize) strategy.exit('exitEL', 'EL', stop=sl, limit=tgt) if enterShort sl := high[1]<vwap_1d ?high[1]:vwap_1d tgt := close-3 strategy.entry("ES", strategy.short, qty=posSize) strategy.exit('exitES', 'ES', stop=sl, limit=tgt) // if exitLong // strategy.close("EL") // if exitShort // strategy.close("ES") // goLongCondition1 = ta.crossover(close, vwap_1d) // timePeriod = time >= timestamp(syminfo.timezone, 2021, 01, 01, 0, 0) // notInTrade = strategy.position_size <= 0 // if goLongCondition1 and timePeriod and notInTrade // stopLoss = low[1] // takeProfit = close+3 // strategy.entry('long', strategy.long) // strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit) plot(close, color=color.new(#00c510, 0)) plot(vwap_1d, color=color.new(#f05619, 0)) plot(sl, color=color.new(#fbff00, 0)) plot(tgt, color=color.new(#00e1ff, 0))