
Strategi ini menggunakan tingkah laku harga dan kaedah penambahan piramid, membuka kedudukan apabila harga turun 5%, dan kemudian terus membuka kedudukan dengan cara penambahan piramid sehingga harga naik 5% dan menutup posisi. Kelebihan utama strategi ini adalah campur tangan awal dalam pembentukan trend dan meningkatkan peluang keuntungan dengan cara penambahan piramid.
Strategi ini menggunakan tingkah laku harga dan pendekatan kenaikan harga piramid, campur tangan awal dalam pembentukan trend, dan meningkatkan peluang keuntungan dengan cara meningkatkan beberapa kali. Pada masa yang sama, strategi ini juga menetapkan stop loss untuk mengawal risiko. Walaupun strategi ini mungkin menghadapi beberapa risiko, tetapi dengan pengoptimuman lanjut, seperti penyesuaian rasio dan kesejahteraan kenaikan, pengenalan lebih banyak petunjuk teknikal, dan sebagainya, dapat meningkatkan kestabilan dan keuntungan strategi.
/*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į