- 精华
- 2
- 在线时间
- 2808 小时
- UID
- 4130
- 积分
- 20906
- 帖子
- 6519
- 阅读权限
- 200
- 注册时间
- 2009-4-15
- 最后登录
- 2019-4-12
- 精华
- 2
- UID
- 4130
- 积分
- 20906
- 帖子
- 6519
- 主题
- 17
- 阅读权限
- 200
- 注册时间
- 2009-4-15
- 最后登录
- 2019-4-12
|
回复 2# 俯仰自得
利用帮助文档中的止盈止损代码稍加修改即可,请参考如下代码:- Params
- Numeric FastLength(5);
- Numeric SlowLength(20);
- Vars
- NumericSeries AvgValue1;
- NumericSeries AvgValue2;
-
- Numeric MyEntryPrice; // 开仓价格,本例是开仓均价,也可根据需要设置为某次入场的价格
- Numeric TakeProfitSet(30); // 止赢设置
- Numeric StopLossSet(50); // 止损设置
- Numeric MyExitPrice; // 平仓价格
- Begin
- AvgValue1 = AverageFC(Close,FastLength);
- AvgValue2 = AverageFC(Close,SlowLength);
-
- If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
- {
- Buy(1,Open);
- }
-
- If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
- {
- SellShort(1,Open);
- }
-
- PlotNumeric("MA1",AvgValue1);
- PlotNumeric("MA2",AvgValue2);
- PlotNumeric("PL",Portfolio_TotalProfit);
-
- MyEntryPrice = AvgEntryPrice;
- If(MarketPosition==1) // 有多仓的情况
- {
- If(High >= MyEntryPrice + TakeProfitSet) // 止赢条件表达式
- {
- MyExitPrice = MyEntryPrice + TakeProfitSet;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }else if(Low <= MyEntryPrice - StopLossSet)// 止损条件表达式
- {
- MyExitPrice = MyEntryPrice - StopLossSet;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }
- }else if(MarketPosition==-1) // 有空仓的情况
- {
- If(Low <= MyEntryPrice - TakeProfitSet) // 止赢条件表达式
- {
- MyExitPrice = MyEntryPrice - TakeProfitSet;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }else if(High >= MyEntryPrice + StopLossSet)// 止损条件表达式
- {
- MyExitPrice = MyEntryPrice + StopLossSet;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }
- }
- End
复制代码 |
|