|
1,取30分钟MACD,交叉向上时,只做多,交叉向下时,只做空。
2,短线趋势交叉向上,做多。
2.1,最高价小于5个周期均价,且短线趋势向下,平多。
3,短线趋势交叉向下,做空。
3.1,最低价大于5个周期均价,且短线趋势向上,平空。
(交易使用需要修改)
Params
Numeric TradeUint(1);//下单手数
Numeric pctime(0.1455);//日内平仓时间
Vars
Numeric pmacd;
NumericArray arr1;
Numeric pdi;
Numeric mdi;
NumericSeries var1;
NumericSeries var2;
NumericSeries bs1;
NumericSeries bs2;
NumericSeries bs3;
NumericSeries ma5;
Bool duo(False);
Bool kong(False);
Bool pduo(False);
Bool pkong(False);
Begin
ma5=AverageFC(close,5);
arr1=HisData(Enum_Data_Close,Enum_Period_Min30);
pmacd=iMACD(arr1,pdi,mdi);
var1=(2*Close+High+Low)/4;
var2=XAverage(XAverage(XAverage(var1,4),4),4);
bs1=(var2-var2[1])/var2[1]*100;
bs2=AverageFC(bs1,3);
bs3=AverageFC(bs1,1);
print("pdi,mdi,bs2,bs3:"+Text(pdi)+" "+Text(mdi)+" "+Text(bs2)+" "+Text(bs3) );
if (pdi>mdi and bs3>bs2)
duo=true;
if (pdi<mdi and bs3<bs2)
kong=true;
if (High<ma5 and bs3<bs2)
pduo=true;
if (Low>ma5 and bs3>bs2)
pkong=true;
if (CurrentTime>=pctime )
{
if (MarketPosition==1)
Sell(0,Q_AskPrice-MinMove*PriceScale*2);
if (MarketPosition==-1)
BuyToCover(0,Q_BidPrice+MinMove*PriceScale*2);
print("到达指定时间或到达止损价,全平仓!");
};
if (pduo and MarketPosition==1)
{
Sell(TradeUint,Close);
Print("平多:"+Text(Close));
};
if (pkong and MarketPosition==-1)
{
BuyToCover(TradeUint,Close);
Print("平空:"+Text(Close));
};
if (duo and MarketPosition!=1 and CurrentTime<0.1445)
{
Buy(TradeUint,Close);
Print("多头买入:"+Text(Close));
};
if (kong and MarketPosition!=-1 and CurrentTime<0.1445)
{
SellShort(TradeUint,Close);
Print("空头卖出:"+Text(Close));
};
End
测试效果图:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册入住
x
|