全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
5分钟交易如何设置避免当天平仓,在系统策略“双均线交易系统”里面加下
2024-03-07 11:06

//------------------------------------------------------------------------

// 简称: DualMA

// 名称: 双均线交易系统

// 类别: 公式应用

// 类型: 内建应用

//------------------------------------------------------------------------

Params

Numeric FastLength(5);// 短期指数平均线参数

Numeric SlowLength(20);// 长期指数平均线参数

Vars

Series<Numeric> AvgValue1;

Series<Numeric> AvgValue2;

Events

OnReady()

{

SetBackBarMaxCount(1+Max(FastLength,SlowLength));

}

OnBar(ArrayRef<Integer> indexs)

{

AvgValue1 = AverageFC(Close,FastLength);

AvgValue2 = AverageFC(Close,SlowLength);

PlotNumeric(\"MA1\",AvgValue1);

PlotNumeric(\"MA2\",AvgValue2);

If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])

{

Buy(0,Open);

}

If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])

{

SellShort(0,Open);

}

}

//------------------------------------------------------------------------

// 编译版本 GS2010.12.08

// 版权所有 TradeBlazer Software 2003-2025

// 更改声明 TradeBlazer Software保留对TradeBlazer平

// 台每一版本的TradeBlazer公式修改和重写的权利

//------------------------------------------------------------------------

kyover

没有设置当天不平仓这种选项,达成这种目标是必须要写代码处理的。

处理这种业务的时候要考虑的东西很多,如果当天日内出现了平仓条件,但是由于日内不平仓导致仓没平掉,那么这些仓要在什么时候平呢?

并不是设置一下就能解决的问题,需要好好考虑引发的其他问题

2024-03-08 10:21
shenjinjin
@kyover

谢谢

2024-03-09 04:48
shenjinjin

if( Date>LastEntryDate) //当日不能平仓

   

  { If

       Buy

   If

       SellShort

   }

       Return;

不太困难

2024-03-10 21:53
wgy_king

大概思路:

设置一个全局变量

CurrentEntryLots 记录当日开仓手数

判断当前交易 是否 是当日

用TrueDate

if(TrueDate != TrueDate[1])

CurrentEntryLots = 0;//每天重置

if (开仓)

CurrentEntryLots = 开仓手数;

如果持仓量大于当日开仓 说明有昨仓

触发平仓时

IF( 图层持仓量-当日开仓量)  》 0

平仓 图层持仓量-当日开仓量

2024-03-11 08:34
您未登录,请先 登录注册 后发表评论
顶部