下面我用deepseek帮我写的代码,我是这样提问的:好的,我现在需要你以上面语法规则帮我写一段关于原油期货的代码,需求是开盘价小于前一日收盘价,并且价差小于30个点,在价位达到开盘价上涨15个点时开空单,止损为15个点,止盈为100个点,当日14点50,无论是否达到止盈止损的条件,都平仓。
现在运行的时候,全自动运行的时候,感觉和我的预期不一样,看不到资金变化的结果,请帮我看看
//------------------------------------------------------------------------
// 简称: CrudeOil_ShortStrategy
// 名称: 原油期货空单策略
// 类别: 公式应用
// 类型: 内建应用
// 输出:
//------------------------------------------------------------------------
Params
Numeric StopLoss(15); // 止损点数
Numeric TakeProfit(100); // 止盈点数
Numeric SpreadThreshold(30); // 价差阈值(点数)
Numeric TriggerPoint(15); // 触发开仓的上涨点数
Numeric ExitTime(1450); // 平仓时间(14:50,格式HHMM)
Vars
Numeric EntryPrice(0); // 开仓价格
Numeric StopLossPrice(0); // 止损价格
Numeric TakeProfitPrice(0); // 止盈价格
Bool Condition1(False); // 条件1:开盘价 < 前一日收盘价
Bool Condition2(False); // 条件2:价差 < 30点
Bool Condition3(False); // 条件3:价格上涨15点
Events
OnBar(ArrayRef<Integer> indexs)
{
// 确保只在当日第一个Bar判断开仓条件(避免重复计算)
If (BarStatus == 2) {
// 条件1:当日开盘价 < 前一日收盘价
Condition1 = Open < Close[1];
// 条件2:价差(前一日收盘价 - 当日开盘价)< 30点
// 使用MinMove转换点数(假设原油期货最小变动单位0.01,1点=1美元)
Condition2 = (Close[1] - Open) < SpreadThreshold * MinMove;
// 条件3:当前最高价 >= 开盘价 + 15点
Condition3 = High >= (Open + TriggerPoint * MinMove);
// 满足所有条件且无空仓时,开空单
If (MarketPosition != -1 And Condition1 And Condition2 And Condition3) {
EntryPrice = Open + TriggerPoint * MinMove; // 开仓价格为触发价
SellShort(1, EntryPrice); // 开空单(1手)
// 计算止损止盈价格
StopLossPrice = EntryPrice + StopLoss * MinMove; // 止损价(空单方向向上)
TakeProfitPrice = EntryPrice - TakeProfit * MinMove; // 止盈价(空单方向向下)
}
}
// 如果持空仓,检查止损止盈或平仓时间
If (MarketPosition == -1) {
// 情况1:触发止损(最新价 >= 止损价)
If (High >= StopLossPrice) {
BuyToCover(0, StopLossPrice); // 止损平仓
Commentary("触发止损,平仓价格:" + Text(StopLossPrice));
}
// 情况2:触发止盈(最新价 <= 止盈价)
If (Low <= TakeProfitPrice) {
BuyToCover(0, TakeProfitPrice); // 止盈平仓
Commentary("触发止盈,平仓价格:" + Text(TakeProfitPrice));
}
// 情况3:到达平仓时间(当前时间 >= 14:50)
// Time返回值为小数格式(如14:50对应0.14583333)
If (Time >= ExitTime / 2400.0) {
BuyToCover(0, Close); // 以收盘价平仓
Commentary("到达平仓时间,平仓价格:" + Text(Close));
}
}
}
//------------------------------------------------------------------------
// 编译版本 GS2023.10.25
// 版权所有 TradeBlazer Software
//------------------------------------------------------------------------
这注意不错
让ds写个大概 找人帮忙debug
动脑子的事情全部外包!!!
我怎么没想到!这个办法值得推广!