//------------------------------------------------------------------------
// 简称: LSSX
// 名称: 神龙双向量化
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
//------------------------------------------------------------------------
// 简称: MultiResonanceStrategy
// 名称: 多指标共振交易策略
// 类别: 交易策略
// 类型: 内建函数
// 输出: Void
//------------------------------------------------------------------------
Params
// 均线参数
Numeric FastMAPeriod(13); // 快速均线周期
Numeric SlowMAPeriod(21); // 慢速均线周期
// MACD参数
Numeric MACDFast(12); // MACD快线周期
Numeric MACDSlow(26); // MACD慢线周期
Numeric MACDSignal(9); // MACD信号线周期
// 随机指标参数
Numeric StochasticPeriod(9); // 随机指标周期
// 神龙线参数
Numeric DragonMAPeriod(30); // 神龙线MA周期
Numeric DragonEMAPeriod(60); // 神龙线EMA周期
// 止盈线参数
Numeric ProfitMAPeriod(12); // 止盈线MA周期
Numeric ProfitEMAPeriod(24); // 止盈线EMA周期
Numeric Lots(1); // 交易手数
Vars
// 均线指标
Numeric MA_Fast; // 快速均线
Numeric MA_Slow; // 慢速均线
Bool MA_LongZone; // 均线做多区间
Bool MA_ShortZone; // 均线做空区间
// MACD指标
Numeric DIFF; // MACD快线
Numeric DEA; // MACD慢线
Numeric MACDValue; // MACD柱状线
Bool MACD_LongZone; // MACD零轴做多区间
Bool MACD_ShortZone; // MACD零轴做空区间
// 共振区间
Bool Resonance_Long; // 共振做多区间
Bool Resonance_Short; // 共振做空区间
// 随机指标
Numeric StochasticRSV; // 随机RSV
Numeric StochasticK; // 随机K线
Numeric StochasticD; // 随机D线
Bool Stochastic_LongZone; // 随机做多区间
Bool Stochastic_ShortZone; // 随机做空区间
// 颜色区间
Bool RedZone; // 红色区间
Bool GreenZone; // 绿色区间
Bool PinkZone; // 粉色区间
Bool CyanZone; // 青色区间
// 神龙线和止盈线
Numeric DragonLine; // 神龙线
Numeric ProfitLine; // 止盈线
Bool DragonUp; // 神龙线上涨
Bool ProfitUp; // 止盈线上涨
// 辅助变量
Numeric i;
Numeric BarCount;
Begin
// ===== 指标计算 =====
// 计算均线指标
MA_Fast = XAverage(Close, FastMAPeriod);
MA_Slow = XAverage(Close, SlowMAPeriod);
MA_LongZone = MA_Fast > MA_Slow;
MA_ShortZone = MA_Fast < MA_Slow;
// 计算MACD指标
DIFF = XAverage(Close, MACDFast) - XAverage(Close, MACDSlow);
DEA = XAverage(DIFF, MACDSignal);
MACDValue = 2 * (DIFF - DEA);
MACD_LongZone = DIFF >= 0;
MACD_ShortZone = DIFF <= 0;
// 计算共振区间
Resonance_Long = MA_LongZone And MACD_LongZone;
Resonance_Short = MA_ShortZone And MACD_ShortZone;
// 计算随机指标
StochasticRSV = (Close - Lowest(Low, StochasticPeriod)) /
(Highest(High, StochasticPeriod) - Lowest(Low, StochasticPeriod)) * 100;
// 计算SMA - 使用加权移动平均模拟
StochasticK = Average(StochasticRSV, 3);
StochasticD = Average(StochasticK, 3);
Stochastic_LongZone = StochasticK > StochasticD;
Stochastic_ShortZone = StochasticK < StochasticD;
// ===== 颜色区间计算 =====
// 计算红色区间:共振做多区间且随机做多区间
RedZone = Resonance_Long And Stochastic_LongZone;
// 计算绿色区间:共振做空区间且随机做空区间
GreenZone = Resonance_Short And Stochastic_ShortZone;
// 计算粉色区间:均线做多区间但不是红色区间
PinkZone = MA_LongZone And (Not RedZone);
// 计算青色区间:均线做空区间但不是绿色区间
CyanZone = MA_ShortZone And (Not GreenZone);
// ===== 神龙线和止盈线计算 =====
// 计算神龙线
DragonLine = XAverage(Average(Close, DragonMAPeriod), DragonEMAPeriod);
DragonUp = DragonLine > Ref(DragonLine, 1);
// 计算止盈线
ProfitLine = XAverage(Average(Close, ProfitMAPeriod), ProfitEMAPeriod);
ProfitUp = ProfitLine > Ref(ProfitLine, 1);
// ===== 绘图显示 =====
// 绘制神龙线(红色上升,绿色下降)
If (DragonUp = True) PlotNumeric("神龙线上升", DragonLine);
Else
PlotNumeric("神龙线下降", DragonLine);
// 绘制止盈线(红色上升,绿色下降)
If (ProfitUp) PlotNumeric("止盈线上升", ProfitLine);
Else
PlotNumeric("止盈线下降", ProfitLine);
// 绘制区间标记
If (RedZone) PlotNumeric("红色区间", High * 1.002);
Else If (GreenZone) PlotNumeric("绿色区间", High * 1.002);
Else If (PinkZone) PlotNumeric("粉色区间", High * 1.002);
Else If (CyanZone) PlotNumeric("青色区间", High * 1.002);
// ===== 交易逻辑 =====
// 开多仓条件:红色区间且收盘价大于神龙线
If (RedZone And Close > DragonLine And MarketPosition <> 1)
Buy(Lots, Open);
// 平多条件:收盘价小于止盈线
If (MarketPosition == 1 And Close < ProfitLine)
// 开空仓条件:绿色区间且收盘价小于神龙线
If (GreenZone And Close < DragonLine And MarketPosition <> -1)
// 平空条件:收盘价大于止盈线
If (MarketPosition == -1 && Close > ProfitLine)
// 多单止损:收盘价小于神龙线
If (MarketPosition == 1 && Close < DragonLine)
// 空单止损:收盘价大于神龙线
If (MarketPosition == -1 And Close > DragonLine)
End;
//------------------------------------------------------------------------
// 编译版本 2025/11/17 163522
// 版权所有 mj_shadow
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TradeBlazer策略修改和重写的权利
//------------------------------------------------------------------------
另外提醒一下,不要拿ai写的东西提问。
如果是你自己写的,目前语法是没有beginend这种结构的,不知道你是从哪里学的语法。
如果是ai写的,那应该问ai怎么回事
//------------------------------------------------------------------------
// 简称: LSSX
// 名称: 神龙双向量化
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
//------------------------------------------------------------------------
// 简称: MultiResonanceStrategy
// 名称: 多指标共振交易策略
// 类别: 交易策略
// 类型: 内建函数
// 输出: Void
//------------------------------------------------------------------------
Params
// 均线参数
Numeric FastMAPeriod(13); // 快速均线周期
Numeric SlowMAPeriod(21); // 慢速均线周期
// MACD参数
Numeric MACDFast(12); // MACD快线周期
Numeric MACDSlow(26); // MACD慢线周期
Numeric MACDSignal(9); // MACD信号线周期
// 随机指标参数
Numeric StochasticPeriod(9); // 随机指标周期
// 神龙线参数
Numeric DragonMAPeriod(30); // 神龙线MA周期
Numeric DragonEMAPeriod(60); // 神龙线EMA周期
// 止盈线参数
Numeric ProfitMAPeriod(12); // 止盈线MA周期
Numeric ProfitEMAPeriod(24); // 止盈线EMA周期
Numeric Lots(1); // 交易手数
Vars
// 均线指标
Numeric MA_Fast; // 快速均线
Numeric MA_Slow; // 慢速均线
Bool MA_LongZone; // 均线做多区间
Bool MA_ShortZone; // 均线做空区间
// MACD指标
Numeric DIFF; // MACD快线
Numeric DEA; // MACD慢线
Numeric MACDValue; // MACD柱状线
Bool MACD_LongZone; // MACD零轴做多区间
Bool MACD_ShortZone; // MACD零轴做空区间
// 共振区间
Bool Resonance_Long; // 共振做多区间
Bool Resonance_Short; // 共振做空区间
// 随机指标
Numeric StochasticRSV; // 随机RSV
Numeric StochasticK; // 随机K线
Numeric StochasticD; // 随机D线
Bool Stochastic_LongZone; // 随机做多区间
Bool Stochastic_ShortZone; // 随机做空区间
// 颜色区间
Bool RedZone; // 红色区间
Bool GreenZone; // 绿色区间
Bool PinkZone; // 粉色区间
Bool CyanZone; // 青色区间
// 神龙线和止盈线
Numeric DragonLine; // 神龙线
Numeric ProfitLine; // 止盈线
Bool DragonUp; // 神龙线上涨
Bool ProfitUp; // 止盈线上涨
// 辅助变量
Numeric i;
Numeric BarCount;
Events
OnBar(ArrayRef<Integer> indexes)
{
// ===== 指标计算 =====
// 计算均线指标
MA_Fast = XAverage(Close, FastMAPeriod);
MA_Slow = XAverage(Close, SlowMAPeriod);
MA_LongZone = MA_Fast > MA_Slow;
MA_ShortZone = MA_Fast < MA_Slow;
// 计算MACD指标
DIFF = XAverage(Close, MACDFast) - XAverage(Close, MACDSlow);
DEA = XAverage(DIFF, MACDSignal);
MACDValue = 2 * (DIFF - DEA);
MACD_LongZone = DIFF >= 0;
MACD_ShortZone = DIFF <= 0;
// 计算共振区间
Resonance_Long = MA_LongZone And MACD_LongZone;
Resonance_Short = MA_ShortZone And MACD_ShortZone;
// 计算随机指标
StochasticRSV = (Close - Lowest(Low, StochasticPeriod)) /
(Highest(High, StochasticPeriod) - Lowest(Low, StochasticPeriod)) * 100;
// 计算SMA - 使用加权移动平均模拟
StochasticK = Average(StochasticRSV, 3);
StochasticD = Average(StochasticK, 3);
Stochastic_LongZone = StochasticK > StochasticD;
Stochastic_ShortZone = StochasticK < StochasticD;
// ===== 颜色区间计算 =====
// 计算红色区间:共振做多区间且随机做多区间
RedZone = Resonance_Long And Stochastic_LongZone;
// 计算绿色区间:共振做空区间且随机做空区间
GreenZone = Resonance_Short And Stochastic_ShortZone;
// 计算粉色区间:均线做多区间但不是红色区间
PinkZone = MA_LongZone And (Not RedZone);
// 计算青色区间:均线做空区间但不是绿色区间
CyanZone = MA_ShortZone And (Not GreenZone);
// ===== 神龙线和止盈线计算 =====
// 计算神龙线
DragonLine = XAverage(Average(Close, DragonMAPeriod), DragonEMAPeriod);
DragonUp = DragonLine > Ref(DragonLine, 1);
// 计算止盈线
ProfitLine = XAverage(Average(Close, ProfitMAPeriod), ProfitEMAPeriod);
ProfitUp = ProfitLine > Ref(ProfitLine, 1);
// ===== 绘图显示 =====
// 绘制神龙线(红色上升,绿色下降)
If (DragonUp = True) PlotNumeric("神龙线上升", DragonLine);
Else
PlotNumeric("神龙线下降", DragonLine);
// 绘制止盈线(红色上升,绿色下降)
If (ProfitUp) PlotNumeric("止盈线上升", ProfitLine);
Else
PlotNumeric("止盈线下降", ProfitLine);
// 绘制区间标记
If (RedZone) PlotNumeric("红色区间", High * 1.002);
Else If (GreenZone) PlotNumeric("绿色区间", High * 1.002);
Else If (PinkZone) PlotNumeric("粉色区间", High * 1.002);
Else If (CyanZone) PlotNumeric("青色区间", High * 1.002);
// ===== 交易逻辑 =====
// 开多仓条件:红色区间且收盘价大于神龙线
If (RedZone And Close > DragonLine And MarketPosition <> 1)
Buy(Lots, Open);
/*// 平多条件:收盘价小于止盈线
If (MarketPosition == 1 And Close < ProfitLine)
// 开空仓条件:绿色区间且收盘价小于神龙线
If (GreenZone And Close < DragonLine And MarketPosition <> -1)
// 平空条件:收盘价大于止盈线
If (MarketPosition == -1 && Close > ProfitLine)
// 多单止损:收盘价小于神龙线
If (MarketPosition == 1 && Close < DragonLine)
// 空单止损:收盘价大于神龙线
If (MarketPosition == -1 And Close > DragonLine)*/
}
//------------------------------------------------------------------------
// 编译版本 2025/11/17 163522
// 版权所有 mj_shadow
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TradeBlazer策略修改和重写的权利
//------------------------------------------------------------------------
这个策略没有写完,这里只列举了条件,没有给出交易信号。而且这里的close判断是ing先信号闪烁的。建议问一下作者怎么回事。
好的,我在研究一下。还有如果写完后怎么加入到策略里啊!开拓者好复杂,好累
有代写