- 精华
- 0
- 在线时间
- 1023 小时
- UID
- 38411
- 积分
- 669
- 帖子
- 160
- 阅读权限
- 60
- 注册时间
- 2011-5-8
- 最后登录
- 2023-10-4
- 精华
- 0
- UID
- 38411
- 积分
- 669
- 帖子
- 160
- 主题
- 17
- 阅读权限
- 60
- 注册时间
- 2011-5-8
- 最后登录
- 2023-10-4
|
Params
Numeric VAL1(2);
Numeric VAL2(5);
Numeric VAL3(10);
Numeric VAL4(8);
Numeric NN(44);
Numeric lots(1);
Vars
NumericSeries NN1;
NumericSeries NN2;
NumericSeries RSI;
Numeric MyExitPrice;
Begin
NN1=AverageFC(c,3)-AverageFC(c,7);
NN2=AverageFC(c,5)-AverageFC(c,10);
RSI=AverageFC(Max(c-c[1],0),7)/AverageFC(Abs(c-c[1]),7)*100;
If((MarketPosition!=1)&&(((NN1[1]>=VAL1-2&&NN2[1]>=VAL2-2)&&(RSI[1]<=10||RSI[1]>=80))||((NN1[1]>=VAL1&&NN2[1]>=VAL2)&&(RSI[1]>10&&RSI[1]<80)))) //多头开仓条件
{Buy(lots,Open);
}
If((MarketPosition!=-1)&&(((NN1[1]>=VAL3+2&&NN2[1]>=VAL4+2)&&(RSI[1]<=10||RSI[1]>=80))||((NN1[1]>=VAL3&&NN2[1]>=VAL4)&&(RSI[1]>10&&RSI[1]<80))))//空头开仓条件
{SellShort(lots,Open);
}
if(MarketPosition==-1) // 有空仓的情况,空头平仓条件
{
If(L<EntryPrice-NN) // 止赢条件表达式
{
MyExitPrice = EntryPrice-NN;
If(Open < MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
BuyToCover(lots,MyExitPrice);
}
}
if(MarketPosition==1) // 有多仓的情况
{
If(H>EntryPrice+NN) // 止赢条件表达式
{
MyExitPrice = EntryPrice+NN;
If(Open > MyExitPrice) MyExitPrice = Open; // 如果该Bar开盘价有跳空触发,则用开盘价代替
sell(lots,MyExitPrice);
}
}
If((Date[-1]!=InvalidInteger && Date!=Date[-1])||(Date[-1]==InvalidInteger && Date < CurrentDate))
{
Sell(0,Close);
BuyToCover(0,Close);
}Else If(Date==CurrentDate && Time==0.1455 && CurrentTime>=0.1459)
{
Sell(0,Close);
BuyToCover(0,Close);
}
End
止赢就是在进入价赢利NN点就平仓,如果是移动,要另外写,帮助里有
//------------------------------------------------------------------------ |
|