- 精华
- 0
- 在线时间
- 85 小时
- UID
- 14928
- 积分
- 17
- 帖子
- 6
- 阅读权限
- 10
- 注册时间
- 2010-7-26
- 最后登录
- 2023-11-24
- 精华
- 0
- UID
- 14928
- 积分
- 17
- 帖子
- 6
- 主题
- 1
- 阅读权限
- 10
- 注册时间
- 2010-7-26
- 最后登录
- 2023-11-24
|
本帖最后由 mellking 于 2019-7-18 14:12 编辑
麻烦大神给看看,为何跌破均线的止盈一手总是不对。。。
//------------------------------------------------------------------------
// 简称: KD
// 名称:
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Params
Numeric Length(9);
Numeric SlowLengthKD(3);
Numeric SmoothLength(3);
Numeric Lengthav(40);
Vars
NumericSeries HighestValue;
NumericSeries LowestValue;
NumericSeries KValue;
NumericSeries DValue;
NumericSeries RSV;
NumericSeries FARSV;
NumericSeries Av;
Numeric MinPoint; // 一个最小变动单位,也就是一跳
Numeric MyExitPrice; // 平仓价格
NumericSeries MyEntryPrice;
Numeric MyExitPrice2;
Begin
MinPoint = MinMove*PriceScale;
Av = AverageFC(Close,Lengthav);
HighestValue = HighestFC(High, Length);
LowestValue = LowestFC(Low, Length);
RSV=(Close-LowestValue)/(HighestValue-LowestValue)*100;
FARSV=SMA(RSV,SlowLengthKD,1);
KValue=SMA(FARSV,SlowLengthKD,1);
DValue=SMA(KValue,SmoothLength,1);
If(MarketPosition==0)
{
If( CrossOver(KValue,DValue) && Close>av)
{
MyEntryPrice=close;
Buy(2,o);
}
Else If (CrossUnder(KValue,DValue) &&close<av)
{
MyEntryPrice=close;
SellShort(2,o);
}
}
If(MarketPosition==-1 )
{
if(High >= MyEntryPrice *1.01)// 止损条件表达式
{
MyExitPrice = MyEntryPrice *1.01;
If(close > MyExitPrice) MyExitPrice = close; // 如果该Bar开盘价有跳空触发,则用开盘价代替
BuyToCover(0,MyExitPrice);
}
If(Low <= MyEntryPrice *0.98 ) // 止赢条件表达式
{
MyExitPrice = MyEntryPrice*0.98;
If(close < MyExitPrice) MyExitPrice =close; // 如果该Bar开盘价有跳空触发,则用开盘价代替
BuyToCover(1,MyExitPrice);
}
If(CrossOver(close[1],Av[1] ) ) // 止赢条件表达式2
{
MyExitPrice2 =open;
BuyToCover(1, 0);
}
}
If(MarketPosition==1)
{
If(CrossUnder(close[1],av[1])) // 止赢条件表达式
{
MyExitPrice2 =open;
Sell(1,0);
}
if(Low <= MyEntryPrice *0.99)// 止损条件表达式
{
MyExitPrice = MyEntryPrice *0.99;
If(close < MyExitPrice) MyExitPrice =Close; // 如果该Bar开盘价有跳空触发,则用开盘价代替
Sell(1,MyExitPrice);
}
If(High >= MyEntryPrice*1.02) // 止赢条件表达式
{
MyExitPrice = MyEntryPrice *1.02;
If(close > MyExitPrice) MyExitPrice =close; // 如果该Bar开盘价有跳空触发,则用开盘价代替
Sell(1,0);
}
}
End
//------------------------------------------------------------------------
// 编译版本 GS2015.12.25
// 用户版本 2019/07/17 13:34:18
// 版权所有 mellking
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------ |
|