- 精华
- 0
- 在线时间
- 8 小时
- UID
- 263897
- 积分
- 4
- 帖子
- 3
- 阅读权限
- 10
- 注册时间
- 2018-3-29
- 最后登录
- 2019-4-9
- 精华
- 0
- UID
- 263897
- 积分
- 4
- 帖子
- 3
- 主题
- 1
- 阅读权限
- 10
- 注册时间
- 2018-3-29
- 最后登录
- 2019-4-9
|
Params
Numeric fsLength(8); // 止盈数
Numeric teLength(88); // 止损数
Bool LastProfitableTradeFilter(True); // 使用入市过滤条件
Vars
Numeric MinPoint; // 最小变动单位
Numeric ExitHighestPrice; // 离市时判断需要的N周期最高价
Numeric ExitLowestPrice; // 离市时判断需要的N周期最低价
Numeric myEntryPrice; // 开仓价格
Numeric myExitPrice; // 平仓价格
NumericSeries preEntryPrice(0); // 前一次开仓的价格
BoolSeries PreBreakoutFailure(false); // 前一次突破是否失败
Numeric ceshi(0);
Begin
If(BarStatus == 0)
{
preEntryPrice = InvalidNumeric;
PreBreakoutFailure = false;
}
// 集合竞价和小节休息过滤
If(!CallAuctionFilter()) Return;
MinPoint = MinMove*PriceScale;
ExitLowestPrice = LowestFC(Low[1],teLength);
ExitHighestPrice = HighestFC(High[1],teLength);
// 长周期突破开仓 Failsafe Breakout point
If(MarketPosition == 0 && ceshi == 0 )
{
data0.Buy(1,myEntryPrice+50);
data1.SellShort(1,myEntryPrice+50);
ceshi = 8;
}
If(MarketPosition == 0 && ceshi == 8 )
{
data0.SellShort(1,myEntryPrice-50);
data1.Buy(1,myEntryPrice-50);
ceshi=0;
}
If(PositionProfit > fsLength && ceshi == 0 ) // 持仓盈亏达到止盈位置
{
myExitPrice = Min(High,ExitHighestPrice + MinPoint);
data0.BuyToCover(0,myExitPrice+50); // 数量用0的情况下将全部平仓
data1.Sell(0,myExitPrice+50); // 数量用0的情况下将全部平仓
}
If(PositionProfit > fsLength &&ceshi == 8) // 持仓盈亏达到止盈位置
{
myExitPrice = Min(High,ExitHighestPrice + MinPoint);
data0.Sell(0,myExitPrice-50); // 数量用0的情况下将全部平仓
data1.BuyToCover(0,myExitPrice-50); // 数量用0的情况下将全部平仓
}
If(PositionProfit < -teLength && ceshi == 0) // 持仓盈亏达到亏损
{
myExitPrice = Min(High,ExitHighestPrice + MinPoint);
data0.BuyToCover(0,myExitPrice+50); // 数量用0的情况下将全部平仓
data1.Sell(0,myExitPrice+50); // 数量用0的情况下将全部平仓
}
If(PositionProfit < -teLength && ceshi == 8) // 持仓盈亏达到亏损
{
myExitPrice = Min(High,ExitHighestPrice + MinPoint);
data0.Sell(0,myExitPrice-50); // 数量用0的情况下将全部平仓
data1.BuyToCover(0,myExitPrice-50); // 数量用0的情况下将全部平仓
}
End
代码我是这样写的,不知道哪里问题。出来的效果不对 |
|