菲阿里四价tbquant源码
生活随笔
收集整理的這篇文章主要介紹了
菲阿里四价tbquant源码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Params
Numeric M(35); //計(jì)算的周期數(shù)
Numeric SS(1); //手?jǐn)?shù)
Numeric TR(5);//跟蹤止損比例
Vars
Series<Numeric> Nop;
Series<Numeric> HH1;
Series<Numeric> LL1;
Series<Numeric> CC1;
Series<Numeric> P;
Series<Numeric> R1;
Series<Numeric> R2;
Series<Numeric> R3;
Series<Numeric> S1;
Series<Numeric> S2;
Series<Numeric> S3;
Series<Numeric> RM1;
Series<Numeric> RM2;
Series<Numeric> RM3;
Series<Numeric> SM1;
Series<Numeric> SM2;
Series<Numeric> SM3;
Series<Numeric> SY;
Series<Numeric> XY;
Series<Numeric> LowerAfterEntry;
Series<Numeric> HigherAfterEntry;
Series<Numeric> Myprice;
Series<Numeric> Myprice2;
Series<Bool> bartoday;
Series<Bool> bartoday2;
Series<Bool> Condition1;
Series<Bool> Condition2;
Series<Bool> Condition3;
Series<Bool> Condition4;
Series<Bool> Condition5;
Series<Bool> Condition6;
Series<Bool> T1;
Series<Bool> T2;
Events
OnBar(ArrayRef<Integer> indexs)
{
bartoday=(barssinceToday==0);//今日第一根BAR線
bartoday2=(barssincetoday>0);//大于今日第一根BAR線
If(bartoday)
{
Nop=Open;//獲得今日開盤價(jià)
}
HH1=HighD(M);//M交易日內(nèi)的最高價(jià)
LL1=LowD(M);//M交易日內(nèi)的最低價(jià)
CC1=CloseD(M);//M交易日內(nèi)的收盤價(jià)
P=(HH1+LL1+CC1)/3;//以上三個(gè)價(jià)格的均價(jià),中軸線;
R1=2*P-LL1;//做第一個(gè)初始阻力價(jià);
S1=2*P-HH1;//做第一個(gè)初始支撐價(jià);
R2= P+(R1-S1);//第二個(gè)初始阻力價(jià);
S2= P-(R1-S1);//第二個(gè)初始支撐價(jià);
R3= HH1+2*(P-LL1);//第三個(gè)初始阻力價(jià);
S3= LL1-2*(HH1-P);//第三個(gè)初始支撐價(jià);
SM1=(P+S1)/2;//第一個(gè)區(qū)間的支撐;
SM2=(S1+S2)/2;//第二份區(qū)間的支撐;
SM3=(S2+S3)/2;//第三個(gè)區(qū)間的支撐;
RM1=(P+R1)/2;//第一個(gè)區(qū)間的阻力;
RM2=(R1+R2)/2;//第二個(gè)區(qū)間的阻力;
RM3=(R2+R3)/2;//第三個(gè)區(qū)間的阻力;
//設(shè)置6個(gè)區(qū)間,根據(jù)日開盤價(jià)所在區(qū)間所決定使用哪一個(gè)區(qū)間的上沿下沿作為突破開倉(cāng)的條件;
Condition1 = Nop>P and Nop<RM1;//下沿是P,上沿是RM1
Condition2 = Nop>SM2 and Nop<SM1;//下沿是SM2,上沿是SM1
Condition3 = Nop>SM3 and Nop<SM2;//下沿是SM3,上沿是SM2
Condition4 = Nop>RM1 and Nop<RM2;//下沿是RM1,上沿是RM2
Condition5 = Nop>RM2 and Nop<RM3;//下沿是RM2,上沿是RM3
Condition6 = Nop<P and Nop>SM1; //下沿SM1,上沿就是P
If(Condition1)
{
SY=RM1;//上沿賦值
XY=P;//下沿賦值
}
If(Condition2)
{
SY=SM1;
XY=SM2;
}
if(Condition3)
{
SY=SM2;
XY=SM3;
}
If(Condition4)
{
SY=RM2;
XY=RM1;
}
if(Condition5)
{
SY=RM3;
XY=RM2;
}
if(Condition6)
{
SY=P;
XY=SM1;
}
//最新價(jià)格金叉SY且大于SY,并且SY不能是空值,SY與上一根 BAR線相等防止出現(xiàn)假連線
T1 = (CrossOver(C,SY) or C>SY )and SY>0 and SY[1]==SY;
//最新價(jià)格死叉XY且小于XY,并且XI不能是空值,XY與上一根BAR線相等防止出現(xiàn)假連線
T2 = (CrossUnder(C,XY) or C<XY )and XY>0 and XY[1]==XY;
If((T1[1] and Not(T2[1])) and MarketPosition<>1 and bartoday2)
{
Buy(SS,Open);
LowerAfterEntry=EntryPrice;
}
If((T2[1] and Not(T1[1])) and MarketPosition<>-1 and bartoday2)
{
SellShort(SS,Open);
HigherAfterEntry=EntryPrice;
}
//記錄多頭最低價(jià)和空頭最高價(jià)格
//有多頭持倉(cāng),剛進(jìn)場(chǎng)時(shí)的本根BAR線的序號(hào)
if(MarketPosition==1 and BarsSinceEntry==0)
{
HigherAfterEntry=HigherafterEntry[1];
LowerAfterEntry=Max(LowerAfterEntry,Low);
}
//有空頭持倉(cāng),剛進(jìn)場(chǎng)時(shí)的本根bar線的序號(hào)
if(MarketPosition==-1 and BarsSinceEntry==0)
{
HigherAfterEntry=Min(HigherafterEntry,High);
LowerAfterEntry=LowerAfterEntry[1];
}
if(MarketPosition<>0 and BarsSinceEntry>=1)
{
HigherAfterEntry=Min(HigherafterEntry,High);
LowerAfterEntry=Max(LowerAfterEntry,Low);
}
//跟蹤出場(chǎng)
//多頭出場(chǎng)線
Myprice=LowerAfterEntry -Open*TR/100;
//當(dāng)持有多頭持倉(cāng),最新價(jià)格跌破出場(chǎng)線嗎,同時(shí)平倉(cāng)信號(hào)和開倉(cāng)信號(hào)不再同一根BAR線;
{
if(MarketPosition==1 and Low<=Myprice and BarsSinceEntry>0)
//如果跳空擊破,取值最新的bar線的開盤價(jià),若不是則使用出場(chǎng)線價(jià)格;
Myprice = Min(Myprice,Open);
//多頭平倉(cāng)
Sell(0,Myprice);
}
Myprice2=HigherAfterEntry + Open*TR/100;
//空頭出場(chǎng)線
if(MarketPosition==-1 and High>=Myprice2 and BarsSinceEntry>0)
{
Myprice2 = Max(Myprice2,Open);
BuyToCover(0,Myprice2);
}
}
總結(jié)
以上是生活随笔為你收集整理的菲阿里四价tbquant源码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: cmd.exe启动参数说明
- 下一篇: 刷力扣明白了官网代码的小心机(代码的优化