- 精华
- 0
- 在线时间
- 171 小时
- UID
- 32158
- 积分
- 731
- 帖子
- 176
- 阅读权限
- 60
- 注册时间
- 2011-4-5
- 最后登录
- 2023-1-17
- 精华
- 0
- UID
- 32158
- 积分
- 731
- 帖子
- 176
- 主题
- 53
- 阅读权限
- 60
- 注册时间
- 2011-4-5
- 最后登录
- 2023-1-17
|
回复 3# lh948
我仿照例子写的下面的公式有什么错误吗?(K为一定的幅度)
要表达的意思是在赢利为nK时,以(n-1)K止赢。- If(MarketPosition==1) // 有多仓的情况
- {
- If(HighestAfterEntry[1] >= MyEntryPrice + 7*K) // 第五级跟踪止损的条件表达式
- {
- If(Low <= HighestAfterEntry[1] - 6*K)
- {
- MyExitPrice = HighestAfterEntry[1] - 6*K;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }
- }
- else
- If(HighestAfterEntry[1] >= MyEntryPrice + 6*K) // 第四级跟踪止损的条件表达式
- {
- If(Low <= HighestAfterEntry[1] - 5*K)
- {
- MyExitPrice = HighestAfterEntry[1] - 5*K;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }
- }
- else
- If(HighestAfterEntry[1] >= MyEntryPrice + 5*K) // 第三级跟踪止损的条件表达式
- {
- If(Low <= HighestAfterEntry[1] - 4*K)
- {
- MyExitPrice = HighestAfterEntry[1] - 4*K;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }
- }
- else
- If(HighestAfterEntry[1] >= MyEntryPrice + 4*K) // 第二级跟踪止损的条件表达式
- {
- If(Low <= HighestAfterEntry[1] - 3*K)
- {
- MyExitPrice = HighestAfterEntry[1] - 3*K;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }
- }
- else
- if(HighestAfterEntry[1] >= MyEntryPrice + 3*K)// 第一级跟踪止损的条件表达式
- {
- If(Low <= HighestAfterEntry[1] - 2*K)
- {
- MyExitPrice = HighestAfterEntry[1] - 2*K;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }
- }
- else
- If(HighestAfterEntry[1] >= MyEntryPrice + 2*K)// 第零级跟踪止损的条件表达式
- {
- If(Low <= HighestAfterEntry[1] - K)
- {
- MyExitPrice = HighestAfterEntry[1] - K;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }
- }
- else
- if(Low <= MyEntryPrice - K)//可以在这里写上初始的止损处理
- {
- MyExitPrice = MyEntryPrice - K;
- If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- Sell(0,MyExitPrice);
- }
- }
- else
- if(MarketPosition==-1) // 有空仓的情况
- {
- If(LowestAfterEntry[1] <= MyEntryPrice - 7*K) // 第五级跟踪止损的条件表达式
- {
- If(High >= LowestAfterEntry[1] + 6*K)
- {
- MyExitPrice = LowestAfterEntry[1] + 6*K;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }
- }
- else
- If(LowestAfterEntry[1] <= MyEntryPrice - 6*K) // 第四级跟踪止损的条件表达式
- {
- If(High >= LowestAfterEntry[1] + 5*K)
- {
- MyExitPrice = LowestAfterEntry[1] + 5*K;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }
- }
- else
- If(LowestAfterEntry[1] <= MyEntryPrice - 5*K) // 第三级跟踪止损的条件表达式
- {
- If(High >= LowestAfterEntry[1] + 4*K)
- {
- MyExitPrice = LowestAfterEntry[1] + 4*K;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }
- }
- else
- If(LowestAfterEntry[1] <= MyEntryPrice - 4*K) // 第二级跟踪止损的条件表达式
- {
- If(High >= LowestAfterEntry[1] + 3*K)
- {
- MyExitPrice = LowestAfterEntry[1] + 3*K;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }
- }
- else
- if(LowestAfterEntry[1] <= MyEntryPrice - 3*K)// 第一级跟踪止损的条件表达式
- {
- If(High >= LowestAfterEntry[1] + 2*K)
- {
- MyExitPrice = LowestAfterEntry[1] + 2*K;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }
- }
- else
- if(LowestAfterEntry[1] <= MyEntryPrice - 2*K)// 第零级跟踪止损的条件表达式
- {
- If(High >= LowestAfterEntry[1] + K)
- {
- MyExitPrice = LowestAfterEntry[1] + K;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }
- }
- else
- If(High >= MyEntryPrice + K) //可以在这里写上初始的止损处理
- {
- MyExitPrice = MyEntryPrice + K;
- If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
- BuyToCover(0,MyExitPrice);
- }
复制代码 |
|