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

思路:价格回落至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策略修改和重写的权利
//------------------------------------------------------------------------