- 精华
- 20
- 在线时间
- 2981 小时
- UID
- 4
- 积分
- 22709
- 帖子
- 4802
- 阅读权限
- 255
- 注册时间
- 2007-7-20
- 最后登录
- 2024-1-15
- 精华
- 20
- UID
- 4
- 积分
- 22709
- 帖子
- 4802
- 主题
- 64
- 阅读权限
- 255
- 注册时间
- 2007-7-20
- 最后登录
- 2024-1-15
|
呵呵,我的交易系统就是一根操盘线,线上买,线下卖,但是在线中间盘整的时候,一定范围内就不要买卖,呵呵!所以要过滤信号!我想要一个以进场价为标准,上下幅度为1%的范围不出现信号 ,或者上下幅度为0.5%的范围不出现信号的公式!还给我加个买入后反向波动1%或0.5%就止损的公式!
根据您的表述,我们假定按照日内结算均价线为您的操盘线,示范如下:
- Params
- Numeric Filter(0.5);
- Numeric StopSet(0.5);
- Vars
- NumericSeries TotalAmmount;
- NumericSeries TotalVol;
- Numeric AvgLine;
- Bool bInTradeTime;
- NumericSeries UpLine;
- NumericSeries DnLine;
- Numeric MyPrice;
- Numeric TmpStopLine;
- Begin
- If(Date!=Date[1])
- {
- TotalVol = Vol;
- TotalAmmount = Vol*(High+Low)/2;
- }Else
- {
- TotalVol = TotalVol[1] + Vol;
- TotalAmmount = TotalAmmount[1] + Vol*(High+Low)/2;
- }
- AvgLine = TotalAmmount/TotalVol;
- UpLine = AvgLine*(1+Filter*0.01);
- DnLine = AvgLine*(1-Filter*0.01);
-
- // 时间限制
- bInTradeTime = (Time >0.0905 && Time < 0.1430);
- If(MarketPosition != 1 && High >= UpLine && bInTradeTime) // 多头开仓
- {
- MyPrice = UpLine;
- If(Open >= UpLine) MyPrice = Open;
- Buy(1,MyPrice);
- }
-
- If(MarketPosition != -1 && Low <= DnLine && bInTradeTime) // 空头开仓
- {
- MyPrice = DnLine;
- If(Open <= DnLine) MyPrice = Open;
- SellShort(1,MyPrice);
- }
-
- If(MarketPosition == 1) // 多头止损
- {
- TmpStopLine = AvgEntryPrice*(1-StopSet*0.01);
- If( Low <= TmpStopLine)
- {
- MyPrice = TmpStopLine;
- If(Open <= TmpStopLine) MyPrice = Open;
- Sell(1,MyPrice);
- }
- }
- If(MarketPosition == -1) // 空头止损
- {
- TmpStopLine = AvgEntryPrice*(1+StopSet*0.01);
- If( High >= TmpStopLine)
- {
- MyPrice = TmpStopLine;
- If(Open >= TmpStopLine) MyPrice = Open;
- BuyToCover(1,MyPrice);
- }
- }
-
- If(Time >=0.1455) // 收盘平仓
- {
- Sell(1,Open);
- BuyToCover(1,Open);
- }
- End
复制代码 |
|