只设置开仓和止损,不设置止盈

思路:价格回落至malength(250)之下再回升至malength(250)价位时,做多,设置买入价格-ATR作为止损,站稳后手动操作止盈。启动设置样本数1000,但是上一个买点后,没有平仓信号,本次符合开仓条件,无法开仓,该怎么克服这个问题。

把开仓条件 MarketPosition <> 1 删掉

回复:越来越厉害了

回复:这样调整后会不停地开仓,我的思路是,固定手数,平了后再开

回复:什么意思,你是要模型识别你手动平的仓然后在图上给信号?

回复:可以吗

回复:硬要说的话,可以但是开发难度我个人认为不小具体可以参考review公式的逻辑思路这个复盘公式就是把委托成交的订单重新画到图表上作为信号

回复:如果原有手动开的1手多单,自动化启动,设置1手,满足开多条件,会另外再开一手吗

回复:哇 又是新姿势

回复:.....一千多行代码啊.....好家伙

回复:orderreview,这个是怎么使用的哦,用在哪里,怎么调整参数

回复:这个加载到单元里,读取该单元发送的委托报单记录,然后在k线图上画委托记录的对应信号功能就这么简单,但是要实现,非常复杂这个属于高级应用,这种内容已经超出教学范围了。目前两种解决方案,发付费代写,问问老师能不能搞定,我感觉挺难的,很花时间精力,费用至少也是四位数。另一种,自己多写多练,慢慢培养开发模型的能力。按照你目前提问的内容来说,想开发这种程度的模型,不客气的说差的太远了,可能还需要学习练习很久才行

//------------------------------------------------------------------------ // 简称: L_SingleMoving // 名称: 单一均线多头策略 // 类别: 策略应用 // 类型: 用户应用 // 输出: Void //------------------------------------------------------------------------ Params Numeric Length(250); //均线周期 Numeric PositionLots(1);//头寸 Numeric ATRLength(20); // 平均波动周期 ATR Length Numeric ATRMultiplier(1); Vars Series<Numeric> MALength; Series<Numeric> AvgTR; // ATR Series<Numeric> MyEntryPrice; // 开仓价格 Events OnBar(ArrayRef<Integer> indexs) { MALength = Average(Close,Length); AvgTR = XAverage(TrueRange,ATRLength); // 真实波动幅度的指数移动平均值 Range[0:DataSourceSize() - 1] { PlotNumeric("MALength", MALength,Red); } If(MarketPosition <> 1 And Close[1] < MALength[1] And H >= MALength) { Buy(PositionLots, Max(MALength, Open)); MyEntryPrice = Max(MALength,Open); PlotString("d1","d1",Low-4*MinMove*PriceScale,Red); Commentary("MyEntryPrice:"+Text(Max(MALength,Open))); } If(MarketPosition <> 1 And Low < MALength And H >= MALength) { Buy(PositionLots, MALength); MyEntryPrice = MALength; PlotString("d2","d2",Low-4*MinMove*PriceScale,Red); Commentary("MyEntryPrice:"+Text(MALength)); } If(MarketPosition <> 1 And low[1] <= MALength[1] - AvgTR[1] And High[1] >= MALength[1] And High >= MALength) { Buy(PositionLots, Max(MALength, Open)); } If(MarketPosition == 1 And BarsSinceEntry > 0 And Low <= MALength - AvgTR) { Sell(PositionLots, MALength - AvgTR); PlotString("ds","ds",Low-4*MinMove*PriceScale,Red); } /*If(MarketPosition == 1 And BarsSinceEntry > 0 And Close[1] >= MyEntryPrice*1.004 And Close[2] >= MyEntryPrice*1.004 and Close[3] >= MyEntryPrice*1.004 And Low <= MyEntryPrice*1.002) { Sell(PositionLots, MyEntryPrice * 1.002); }*/ } //------------------------------------------------------------------------ // 编译版本 2025/8/5 135304 // 版权所有 winter110 // 更改声明 TradeBlazer Software保留对TradeBlazer平台 // 每一版本的TradeBlazer策略修改和重写的权利 //------------------------------------------------------------------------