请问这里有能够把TB公式改编成金字塔的人吗?我有2个公式想改编一下,比较简单的!我不懂TB,金字塔也在学习中,所以就。。。。。
//--------------------------------------------------------------------------------
5分钟原理:开平仓按照4根线所构成两个区间,4根线从上往下分别是:
开多线=当日开盘价+昨日振幅(最高价-最低价)*MAX(XISHU1,XISHU2);
平空线=当日开盘价+昨日振幅(最高价-最低价)*MIN(XISHU1,XISHU2);
平多线=当日开盘价-昨日振幅(最高价-最低价)*MIN(XISHU1,XISHU2);
开空线=当日开盘价-昨日振幅(最高价-最低价)*MAX(XISHU1,XISHU2);
第1、4根线组成大区间,为开仓线;第2、3根线组成小区间,为平仓线;
当然,如果XISHU1=XISHU2,两个区间就会重叠,这时候就只有2根线。
5分钟原理:开平仓按照4根线所构成两个区间,4根线从上往下分别是:
开多线=当日开盘价+昨日振幅(最高价-最低价)*MAX(XISHU1,XISHU2);
平空线=当日开盘价+昨日振幅(最高价-最低价)*MIN(XISHU1,XISHU2);
平多线=当日开盘价-昨日振幅(最高价-最低价)*MIN(XISHU1,XISHU2);
开空线=当日开盘价-昨日振幅(最高价-最价)*MAX(XISHU1,XISHU2);
第1、4根线组成大区间,为开仓线;第2、3根线组成小区间,为平仓线;
当然,如果XISHU1=XISHU2,两个区间就会重叠,这时候就只有2根线。
//--------------------------------------------------------------------------------
Params
Numeric XiShu1(0.65);
Numeric XiShu2(0.35);
Numeric Lots(1); //手数,自己想开几手就设置几手
Vars
NumericSeries OpenToday;
NumericSeries Band1;
NumericSeries Band2;
NumericSeries UpperBand;
NumericSeries LowerBand;
NumericSeries SellBand;
NumericSeries BuyToCoverBand;
NumericSeries myEntryPrice;
Begin
OpenToday=OpenD(0);
Band1=(HighD(1)-LowD(1))*Max(XiShu1,XiShu2);
UpperBand=OpenToday+Band1;
LowerBand=OpenToday-Band1;
Band2=(HighD(1)-LowD(1))*Min(XiShu1,XiShu2);
SellBand=OpenToday-Band2;
BuyToCoverBand=OpenToday+Band2;
PlotNumeric("UpperBand",UpperBand);
PlotNumeric("LowerBand",LowerBand);
PlotNumeric("SellBand",SellBand);
PlotNumeric("BuyToCoverBand",BuyToCoverBand);
//PlotNumeric("OpenToday",OpenToday);
If(MarketPosition==-1 && High>=BuyToCoverBand)
{
If(Open>BuyToCoverBand) myEntryPrice=Open;
Else myEntryPrice=BuyToCoverBand;
BuyToCover(Lots,myEntryPrice);
}
If(MarketPosition==1 && Low<=SellBand)
{
If(Open<SellBand) myEntryPrice=Open;
Else myEntryPrice=SellBand;
Sell(Lots,myEntryPrice);
}
If(MarketPosition!=-1 && Low<=LowerBand)
{
If(Open<LowerBand) myEntryPrice=Open;
Else myEntryPrice=LowerBand;
SellShort(Lots,myEntryPrice);
}
If(MarketPosition!=1 && High>=UpperBand)
{
If(Open>UpperBand) myEntryPrice=Open;
Else myEntryPrice=UpperBand;
Buy(Lots,myEntryPrice);
}
End
//------------------------------------------------------------------------
Length1是均线周期;
连续N根bar收盘价在均线之上,平空开多
连续N根bar收盘价在均线之下,平多开空
连续M根bar收盘价在均线之上,平空
连续M根bar收盘价在均线之下,平多
//------------------------------------------------------------------------
Params
Numeric Length1(5);//ma5
Numeric N(7);
Numeric M(5);
Numeric Lots(1); //交易手数
Vars
NumericSeries ma5;
Bool BuyEntry(False);
Bool SellEntry(False);
Bool BuyExit(False);
Bool SellExit(False);
Begin
If(BarStatus==2 && Time==0.210000 && High==Low) return;//过滤夜盘商品品种集合竞价
If(BarStatus==2 && Time==0.090000 && High==Low) return;//过滤无夜盘商品品种集合竞价
ma5=AverageFC(Close,Length1);
PlotNumeric("MA5",ma5[1]);
BuyEntry=CountIf(Close[1]>ma5[1],N)==N;
SellEntry=CountIf(Close[1]<ma5[1],N)==N;
SellExit=CountIf(Close[1]>ma5[1],M)==M;
BuyExit=CountIf(Close[1]<ma5[1],M)==M;
If(MarketPosition!=1&&BuyEntry)
{
Buy(Lots,Open);
}
Else If(MarketPosition!=-1&&SellEntry)
{
SellShort(Lots,Open);
}
Else If(MarketPosition==-1&&SellExit)
{
BuyToCover(Lots,Open);
}
Else If(MarketPosition==1&&BuyExit)
{
Sell(Lots,Open);
}
End
//------------------------------------------------------------------------
//15分钟策略说明:
//Length1是均线周期;
//连续N根bar收盘价在均线之上,开多
//连续N根bar收盘价在均线之下,开空
//连续M根bar收盘价在均线之上,平空
//连续M根bar收盘价在均线之下,平多
、。。。
那你得要让TB的人先注释一下,然后我们试着改成金字塔。
这些代码我们这边看不懂的
第一个:
5分钟原理:开平仓按照4根线所构成两个区间,4根线从上往下分别是:
开多线=当日开盘价+昨日振幅(最高价-最低价)*MAX(XISHU1,XISHU2);
平空线=当日开盘价+昨日振幅(最高价-最低价)*MIN(XISHU1,XISHU2);
平多线=当日开盘价-昨日振幅(最高价-最低价)*MIN(XISHU1,XISHU2);
开空线=当日开盘价-昨日振幅(最高价-最价)*MAX(XISHU1,XISHU2);
第1、4根线组成大区间,为开仓线;第2、3根线组成小区间,为平仓线;
当然,如果XISHU1=XISHU2,两个区间就会重叠,这时候就只有2根线。
第二个:
15分钟原理:
Length1是均线周期;
连续N根bar收盘价在均线之上,平空开多
连续N根bar收盘价在均线之下,平多开空
连续M根bar收盘价在均线之上,平空
连续M根bar收盘价在均线之下,平多
我前面讲过,这些是简单的大概的注释,并不能有效的反映出下面代码的意思
[此贴子已经被作者于2016-6-14 17:16:15编辑过]