
Chiến lược giao dịch Galileo crossline là một chiến lược giao dịch dựa trên đường trung bình di chuyển. Chiến lược này tạo ra tín hiệu giao dịch bằng cách tính toán đường trung bình di chuyển chỉ số trong một chu kỳ nhất định và so sánh chéo với giá. Khi giá từ trên xuống phá vỡ đường trung bình, tạo ra tín hiệu bán; Khi giá từ dưới phá vỡ đường trung bình, tạo ra tín hiệu mua.
Cốt lõi của chiến lược giao chéo đường trung bình của Galileo là đường trung bình di chuyển chỉ số (EMA). EMA là một thuật toán trung bình di chuyển có xu hướng cho giá gần đây trọng hơn. Công thức tính toán của nó là:
EMA ngày hôm nay = (giá đóng cửa ngày hôm nay x giá bình thường) + (EMA ngày hôm qua x giá bình thường)
Trong đó, số thường mịn là α = ((2/( số chu kỳ + 1)).
Chiến lược này tính toán EMA trong thời gian thực thông qua độ dài chu kỳ của người dùng nhập. Sau đó so sánh giá với EMA và đánh giá sự giao thoa của hai bên như một tín hiệu mua và bán:
Khi giá từ trên xuống dưới EMA, tạo ra một tín hiệu bán và thực hiện hoạt động ngắn.
Khi giá phá vỡ EMA từ phía dưới, một tín hiệu mua được tạo ra và nhiều hoạt động được thực hiện.
Chiến lược này vẽ đường EMA cùng với các mũi tên đánh dấu tín hiệu mua và bán.
Phương pháp Galileo có những ưu điểm sau:
Chiến lược Galileo’s Equatorial Crossing cũng có những rủi ro sau:
Chiến lược giao tuyến Galileo có thể được tối ưu hóa theo một số hướng sau:
Kết hợp với các chỉ số khác, xây dựng chiến lược tổng hợp, tránh tín hiệu giả, tăng sự ổn định. Ví dụ như thêm khối lượng giao dịch, chỉ số xu hướng, v.v.
Tăng chiến lược dừng lỗ, thiết lập dừng di chuyển hoặc dừng phần trăm, kiểm soát tổn thất đơn lẻ.
Kiểm tra hiệu quả của các tham số khác nhau của EMA, chọn kết hợp tham số tốt nhất. Các loại trung bình di chuyển khác cũng có thể được kiểm tra.
Đánh giá tham gia vào cơ chế tái nhập cảnh, tái nhập cảnh sau khi giá đảo ngược, tăng lãi suất.
Chiến lược giao dịch Galileo là một chiến lược giao dịch đơn giản, thiết thực, rõ ràng, dễ sử dụng, phù hợp với người mới bắt đầu giao dịch số lượng. Với sự tối ưu hóa và cải tiến liên tục, tin rằng hiệu quả của nó sẽ tốt hơn và tốt hơn, nên được đề xuất.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © armigoldman
//@version=3
strategy(title="Galileo Galilei", shorttitle="Galileo Galilei", overlay=true, initial_capital = 100000, default_qty_type=strategy.cash, default_qty_value = 100000)
len = input(11, minval=1, title="Length")
src = input(open, title="Source")
out = ema(src, len)
plot(out, title="EMA", color=yellow)
//last8h = highest(close, 8)
//lastl8 = lowest(close, 8)
//plot(last8h, color=red, linewidth=2)
//plot(lastl8, color=green, linewidth=2)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2020, title="From Year", minval=1970)
// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=12, title="To Month", minval=1, maxval=12)
toYear = input(defval=2021, title="To Year", minval=1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
bearish = cross(close, out) == 1 and close[1] > close
bullish = cross(close, out) == 1 and close[1] < close
plotshape(bearish, color=white, style=shape.arrowdown, text="BEAR", location=location.abovebar)
plotshape(bullish, color=white, style=shape.arrowup, text="BULL", location=location.belowbar)
buy = if cross(close, out) == 1 and close[1] < close
strategy.entry("BUY", strategy.long, when=time_cond)
//strategy.close_all(when=bearish)
// strategy.exit("exit", "Long", profit =, loss = 35)
sell = if cross(close, out) == 1 and close[1] > close
strategy.entry("SELL", strategy.short, when=time_cond)
//sell = if bearish
//strategy.close_all(when=bullish)
// strategy.exit("exit", "Long", profit = bullish, loss = 100)
profit = strategy.netprofit
if not time_cond
strategy.close_all()
//plotshape(true, style=shape.triangleup, location=location.abovebar)