
Эта стратегия использует методы ценового поведения и пирамидального подъема, открывая позиции при снижении цены на 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į