
Chiến lược này sử dụng hành động giá và phương pháp tăng cường kim tự tháp, mở vị trí khi giá giảm 5% và tiếp tục mở vị trí bằng cách tăng cường kim tự tháp cho đến khi giá tăng 5% và bình thường. Lợi thế chính của chiến lược này là can thiệp sớm vào xu hướng hình thành và tăng cơ hội kiếm lợi nhuận bằng cách tăng cường kim tự tháp. Đồng thời, chiến lược cũng đặt mức dừng lỗ 3% để kiểm soát rủi ro.
Chiến lược này sử dụng hành vi giá cả và phương pháp đặt cược bằng kim tự tháp, can thiệp sớm khi xu hướng hình thành và tăng cơ hội lợi nhuận bằng cách đặt cược nhiều lần. Đồng thời, chiến lược cũng thiết lập điểm dừng để kiểm soát rủi ro. Mặc dù chiến lược có thể có một số rủi ro, nhưng bằng cách tối ưu hóa hơn nữa, chẳng hạn như điều chỉnh tỷ lệ cân bằng của đặt cược và giới thiệu nhiều chỉ số kỹ thuật hơn, bạn có thể nâng cao sự ổn định và khả năng lợi nhuận của chiến lược.
/*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į