
اس حکمت عملی میں قیمت کے رویے اور پیراڈائزنگ کے طریقہ کار کا استعمال کیا گیا ہے ، جب قیمت میں 5٪ کمی واقع ہوتی ہے تو پوزیشن کھولی جاتی ہے ، اور پھر پیراڈائزنگ کے ذریعہ پوزیشن کھولی جاتی ہے ، جب تک کہ قیمت میں 5٪ اضافے کی صورت میں کھل نہ جائے۔ اس حکمت عملی کا بنیادی فائدہ یہ ہے کہ رجحانات کی تشکیل میں ابتدائی مداخلت کی جائے ، اور پیراڈائزنگ کے ذریعہ منافع کے مواقع میں اضافہ کیا جائے۔ اس کے ساتھ ہی ، اس حکمت عملی میں خطرہ کو کنٹرول کرنے کے لئے 3٪ کی روک تھام کی پوزیشن بھی رکھی گئی ہے۔
اس حکمت عملی میں قیمت کے رویے اور پرامڈ کی پوزیشننگ کا استعمال کیا جاتا ہے ، رجحانات کی تشکیل کے اوائل میں مداخلت کی جاتی ہے ، اور منافع کے مواقع میں اضافہ ہوتا ہے۔ اس کے ساتھ ہی ، اس حکمت عملی میں خطرے کو کنٹرول کرنے کے لئے اسٹاپ نقصان کی پوزیشن بھی رکھی گئی ہے۔ اگرچہ اس حکمت عملی کو کچھ خطرات کا سامنا کرنا پڑ سکتا ہے ، لیکن اس کی استحکام اور منافع بخش صلاحیت کو مزید اصلاحات کے ذریعہ بہتر بنایا جاسکتا ہے ، جیسے کہ پوزیشننگ کی پوزیشننگ اور امن تناسب کو ایڈجسٹ کرنا ، مزید تکنیکی اشارے متعارف کرانا وغیرہ۔
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("G Strategija su piramidavimu", overlay=true)
// Vartotojo įvestis investicijų sumai
investment_amount = input(1000.0, title="Investicijų suma")
// Nustatyti nuostolių ir pelno pasiekimo procentus
lossPercentage = input(3, title="Nuostolio procentas (%)") / 100
// Kintamasis saugoti atidarytoms pozicijoms
var int[] entryIndexes = array.new_int(0)
var float[] entryPrices = array.new_float(0)
// Kintamasis, nustatantis, ar turėtume atidaryti naują poziciją
var bool should_buy = false
var int open_candle_count = 0
var int positionCounter = 1 // Pozicijos skaitiklis
// Įėjimo logika (pirkti, kai kaina krenta)
if (hour >= 0 and hour <= 23) // Tikrina, ar yra 24 valandų
should_buy := false
for i = 1 to 5
should_buy := should_buy or (close < close[i] * (1 - lossPercentage))
if (should_buy and open_candle_count >= 5)
strategy.entry("Pirkti_" + str.tostring(positionCounter), strategy.long, qty=investment_amount / close)
array.push(entryIndexes, bar_index) // Įrašyti atidarymo laiko indeksą
array.push(entryPrices, close) // Įrašyti atidarymo kainą
open_candle_count := 0
positionCounter := positionCounter + 1 // Atnaujinti pozicijos skaitiklį
else
open_candle_count := open_candle_count + 1
// Išėjimo logika (uždaryti, kai pasiekiamas pelno lygis)
for i = 0 to array.size(entryIndexes) - 1
var float takeProfitPrice = na // Nustatyti pradinę reikšmę "na"
if array.size(entryPrices) > i and array.size(entryPrices) > 0
takeProfitPrice := array.get(entryPrices, i) * 1.05 // Skaičiuojamas pelno pasiekimo lygis: 5% aukščiau atidarymo kainos
strategy.exit("TakeProfit_" + str.tostring(i+1), "Pirkti_" + str.tostring(i+1), limit=takeProfitPrice) // Pridėti pelno pasiekimo lygį kaip išėjimo lygį