Tài nguyên đang được tải lên... tải...

Price Action, Pyramiding, 5% mục tiêu lợi nhuận, 3% Stop Loss

Tác giả:ChaoZhang, Ngày: 2024-04-30 16:20:28
Tags:

img

Tổng quan

Chiến lược này sử dụng price action và phương pháp kim tự tháp để mở một vị trí khi giá giảm 5%, và sau đó tiếp tục thêm các vị trí thông qua kim tự tháp cho đến khi giá tăng 5% để đóng vị trí. Ưu điểm chính của chiến lược này là nó đi vào thị trường sớm trong quá trình hình thành xu hướng và tăng cơ hội lợi nhuận thông qua kim tự tháp.

Nguyên tắc chiến lược

  1. Khi giá giảm 5%, mở một vị trí dài.
  2. Trong 5 ngọn nến tiếp theo, nếu giá tiếp tục giảm, tiếp tục thêm các vị trí, lên đến 4 lần.
  3. Khi giá tăng 5%, đóng tất cả các vị trí để nhận được lợi nhuận.
  4. Nếu giá đạt mức dừng lỗ 3% trong quá trình hình thành kim tự tháp, đóng tất cả các vị trí và dừng lỗ.

Ưu điểm chiến lược

  1. Tham gia thị trường sớm trong quá trình hình thành xu hướng, nắm bắt cơ hội đảo ngược giá.
  2. Tăng cơ hội lợi nhuận thông qua hình thành kim tự tháp.
  3. Thiết lập stop loss để kiểm soát rủi ro.
  4. Chạy 24 giờ mà không cần can thiệp.

Rủi ro chiến lược

  1. Nếu giá giảm nhanh trong quá trình hình thành kim tự tháp, nó có thể kích hoạt dừng lỗ, dẫn đến tổn thất.
  2. Nếu giá dao động đáng kể trước khi đạt đến mức lợi nhuận, nó có thể làm giảm lợi nhuận.
  3. Nếu thị trường trải qua biến động nghiêm trọng hoặc các sự kiện thiên nga đen, chiến lược có thể gây ra tổn thất đáng kể.

Hướng dẫn tối ưu hóa chiến lược

  1. Tối ưu hóa tỷ lệ thêm và đóng vị trí, chẳng hạn như xem xét thêm vị trí khi giá giảm 3% và đóng vị trí khi giá tăng 7%.
  2. Đưa ra nhiều chỉ số kỹ thuật hơn, chẳng hạn như RSI và MACD, để giúp đánh giá xu hướng và thời gian mở và đóng các vị trí.
  3. Đặt các tham số khác nhau cho các môi trường thị trường và giống khác nhau để thích nghi với các đặc điểm thị trường khác nhau.

Tóm lại

Chiến lược này sử dụng hành động giá và các phương pháp kim tự tháp để bước vào thị trường sớm trong quá trình hình thành xu hướng và tăng cơ hội lợi nhuận thông qua việc thêm nhiều vị trí. Đồng thời, chiến lược cũng đặt ra một mức dừng lỗ để kiểm soát rủi ro. Mặc dù chiến lược có thể đối mặt với một số rủi ro, thông qua tối ưu hóa hơn nữa, chẳng hạn như điều chỉnh tỷ lệ thêm vị trí và đóng cửa, giới thiệu nhiều chỉ số kỹ thuật hơn, tính ổn định và lợi nhuận của chiến lược có thể được cải thiện.


/*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į

Thêm nữa