এই কৌশলটি মূল্যের ক্রিয়াকলাপ এবং পিরামিডিং পদ্ধতিগুলি ব্যবহার করে যখন দাম 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į