[求助]有幾個(gè)遇到的問題,請(qǐng)老師幫忙解答 [贏順期貨]
- 咨詢內(nèi)容:
第一個(gè)問題:是不是想在外盤測(cè)試交易組件是否正確不只是把國(guó)內(nèi)的下單信號(hào)改成國(guó)外的下單信號(hào)這么簡(jiǎn)單?例如把BK換成BUYLONG這樣?
第二個(gè)問題:寫了一個(gè)交易組件,其中有個(gè)功能不能實(shí)現(xiàn),下面會(huì)把交易組件貼出來(lái),不能實(shí)現(xiàn)的功能是在C
A1時(shí)候,滿足C>A1并且持有空倉(cāng)或者C 0) { T_Deal(F_DealCode(),0,1,SCC,0);//以市價(jià)發(fā)出現(xiàn)有空頭持倉(cāng)數(shù)的買平委托 T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托 } IF(SCC==0) { T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托 } M=2; WriteGlobal("M",M); } ELSE IF(F_Sig()==SPK) { IF(BCC>0) { T_Deal(F_DealCode(),1,1,BCC,0);//以市價(jià)發(fā)出現(xiàn)有多頭持倉(cāng)數(shù)的賣平委托 T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托 } IF(BCC==0) { T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托 } M=2; WriteGlobal("M",M); } } ELSE IF(F_FreshSig()==1&&F_SigValid()==0)//信號(hào)消失 { FT_Deal(); } //----------------------------------- IF(M==2) { KT_Deal(); } //------------------------------------ IF(SM==5&&SS==45)//如果當(dāng)前時(shí)間到了當(dāng)根K線的14分45秒時(shí) { M=1; WriteGlobal("M",M); } //------------------------------------- IF(M=1) { IF(F_Sig()==BPK&&BCC==0)//如果信號(hào)為買平開且未持有買單 { T_Deal(F_DealCode(),0,1,SCC,0);//以市價(jià)發(fā)出現(xiàn)有空頭持倉(cāng)數(shù)的買平委托 T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托 } ELSE IF(F_Sig()==SPK&&SCC==0)//如果信號(hào)為賣平開且未持有賣單 { T_Deal(F_DealCode(),1,1,BCC,0);//以市價(jià)發(fā)出現(xiàn)有多頭持倉(cāng)數(shù)的賣平委托 T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托 } } WriteGlobal("M",M); } VOID KT_Deal()//信號(hào)出現(xiàn)處理函數(shù) { IF((C 0))//如果此時(shí)C小于B6且持有多單 { T_Deal(F_DealCode(),1,1,BCC,0);//以市價(jià)發(fā)出現(xiàn)有多頭持倉(cāng)數(shù)的賣平委托 T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托 } ELSE IF((C>A1)&&(SCC>0))//如果此時(shí)C大于A1且持有空單 { T_Deal(F_DealCode(),0,1,SCC,0);//以市價(jià)發(fā)出現(xiàn)有空頭持倉(cāng)數(shù)的買平委托 T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托 } M=2; WriteGlobal("M",M); } VOID FT_Deal()//信號(hào)消失處理函數(shù) { IF (F_Sig()==BPK)//如果信號(hào)為買平開 { T_Deal(F_DealCode(),1,1,BCC,0);//以市價(jià)發(fā)出現(xiàn)有多頭持倉(cāng)數(shù)的賣平委托 T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托 } IF(F_Sig()==SPK)//如果信號(hào)為賣平開 { T_Deal(F_DealCode(),0,1,SCC,0);//以市價(jià)發(fā)出現(xiàn)有空頭持倉(cāng)數(shù)的買平委托 T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托 } } VAR SEC()//返回當(dāng)根k線秒時(shí)間自定義函數(shù) { VAR T; VAR N1; T=CurrentTime(); N1=T-(T/60)*60; RETURN(N1); } VAR SFF()//返回當(dāng)根k線分鐘時(shí)間自定義函數(shù) { VAR FF; VAR FF15; VAR T; T=CurrentTime(); FF=T/60-(T/60/60)*60; FF15=FF-(FF/5)*5;//表示加載在5分鐘周期上 RETURN(FF15); } - 贏順技術(shù)人員:
您發(fā)帖模式有誤導(dǎo)致混亂,請(qǐng)重新以正常設(shè)計(jì)模式發(fā)送。謝謝合作。
- 贏順客服:
VAR A1;
VAR A2;
VAR B6;
VAR H;
VAR L;
VAR BCC;//取當(dāng)前持有的買單數(shù)
VAR SCC;//取當(dāng)前持有的賣單數(shù)
VAR dealcode;
VAR KPN;
VAR C;
VAR M;
VAR SS;//取當(dāng)前K線的秒時(shí)間
VAR SM;//取當(dāng)前K線的分時(shí)間
VOID MAIN()//主函數(shù)。
{
SS=SEC();
SM=SFF();
H=F_High(0);//定義H為最后一根K線的最高價(jià)
L=F_Low(0);//定義L為最后一根K線的最低價(jià)
A1=H-(H-L)*0.25;
A2=H-(H-L)*0.26;
B6=L+(H-L)*0.25;
BCC=F_BuyPosition();//定義BCC為當(dāng)前模型的多頭持倉(cāng)
SCC=F_SellPosition();//定義SCC為當(dāng)前模型的空頭持倉(cāng)
dealcode=F_DealCode();//定義dealcode為模型加載的合約名稱
KPN=2;//定義默認(rèn)開倉(cāng)手?jǐn)?shù)為2
C=F_Close(0);//定義C為當(dāng)前模型加載最后一根K線收盤價(jià)
M=ReadGlobal("M");//M的意義:2 進(jìn)入止損函數(shù)KT_DEAL,1 進(jìn)入最后15秒
IF(F_FreshSig()==1)//取得新信號(hào)
{
IF(F_Sig()==BPK)
{
IF(SCC>0)
{
T_Deal(F_DealCode(),0,1,SCC,0);//以市價(jià)發(fā)出現(xiàn)有空頭持倉(cāng)數(shù)的買平委托
T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托
}
IF(SCC==0)
{
T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托
}
M=2;
WriteGlobal("M",M);
}
ELSE IF(F_Sig()==SPK)
{
IF(BCC>0)
{
T_Deal(F_DealCode(),1,1,BCC,0);//以市價(jià)發(fā)出現(xiàn)有多頭持倉(cāng)數(shù)的賣平委托
T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托
}
IF(BCC==0)
{
T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托
}
M=2;
WriteGlobal("M",M);
}
}ELSE IF(F_FreshSig()==1&&F_SigValid()==0)//信號(hào)消失
{
FT_Deal();
}
//-----------------------------------
IF(M==2)
{
KT_Deal();
}
//------------------------------------
IF(SM==5&&SS==45)//如果當(dāng)前時(shí)間到了當(dāng)根K線的14分45秒時(shí)
{
M=1;
WriteGlobal("M",M);
}
//-------------------------------------
IF(M=1)
{
IF(F_Sig()==BPK&&BCC==0)//如果信號(hào)為買平開且未持有買單
{
T_Deal(F_DealCode(),0,1,SCC,0);//以市價(jià)發(fā)出現(xiàn)有空頭持倉(cāng)數(shù)的買平委托
T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托
}
ELSE IF(F_Sig()==SPK&&SCC==0)//如果信號(hào)為賣平開且未持有賣單
{
T_Deal(F_DealCode(),1,1,BCC,0);//以市價(jià)發(fā)出現(xiàn)有多頭持倉(cāng)數(shù)的賣平委托
T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托
}
}
WriteGlobal("M",M);
}
VOID KT_Deal()//信號(hào)出現(xiàn)處理函數(shù)
{
IF((C<B6)&&(BCC>0))//如果此時(shí)C小于B6且持有多單
{
T_Deal(F_DealCode(),1,1,BCC,0);//以市價(jià)發(fā)出現(xiàn)有多頭持倉(cāng)數(shù)的賣平委托
T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托
}
ELSE IF((C>A1)&&(SCC>0))//如果此時(shí)C大于A1且持有空單
{
T_Deal(F_DealCode(),0,1,SCC,0);//以市價(jià)發(fā)出現(xiàn)有空頭持倉(cāng)數(shù)的買平委托
T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托
}M=2;
WriteGlobal("M",M);
}
VOID FT_Deal()//信號(hào)消失處理函數(shù)
{
IF (F_Sig()==BPK)//如果信號(hào)為買平開
{
T_Deal(F_DealCode(),1,1,BCC,0);//以市價(jià)發(fā)出現(xiàn)有多頭持倉(cāng)數(shù)的賣平委托
T_Deal(F_DealCode(),1,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的賣開委托
}
IF(F_Sig()==SPK)//如果信號(hào)為賣平開
{
T_Deal(F_DealCode(),0,1,SCC,0);//以市價(jià)發(fā)出現(xiàn)有空頭持倉(cāng)數(shù)的買平委托
T_Deal(F_DealCode(),0,0,KPN,0);//以市價(jià)發(fā)出規(guī)定手?jǐn)?shù)(KPN)的買開委托
}
}
VAR SEC()//返回當(dāng)根k線秒時(shí)間自定義函數(shù)
{
VAR T;
VAR N1;
T=CurrentTime();
N1=T-(T/60)*60;
RETURN(N1);
}
VAR SFF()//返回當(dāng)根k線分鐘時(shí)間自定義函數(shù)
{
VAR FF;
VAR FF15;
VAR T;
T=CurrentTime();
FF=T/60-(T/60/60)*60;
FF15=FF-(FF/5)*5;//表示加載在5分鐘周期上
RETURN(FF15);
} - 網(wǎng)友回復(fù):
這樣就正常了,剛才可能點(diǎn)到什么了
- 網(wǎng)友回復(fù):
第一個(gè)問題:是不是想在外盤測(cè)試交易組件是否正確不只是把國(guó)內(nèi)的下單信號(hào)改成國(guó)外的下單信號(hào)這么簡(jiǎn)單?例如把BK換成BUYLONG這樣?
第二個(gè)問題:寫了一個(gè)交易組件,其中有個(gè)功能不能實(shí)現(xiàn),下面會(huì)把交易組件貼出來(lái),不能實(shí)現(xiàn)的功能是在C>
A1時(shí)候,滿足C>A1并且持有空倉(cāng)或者C<B6且持有多倉(cāng)才下單,而是只要滿足C>A1或者C<B6就不停下單一直到?jīng)]有錢申報(bào)失敗。當(dāng)然失敗了之后還會(huì)繼續(xù)下單。 第三個(gè)問題:時(shí)間控制沒有效果,是因?yàn)橄聠沃蟮某謧}(cāng)總是和信號(hào)方向相同所以沒效果還是什么原因?我怎么能測(cè)試出時(shí)間控制這個(gè)部分是否生效?
第四格問題:如果我春節(jié)期間想測(cè)試我的下單組件,請(qǐng)問用什么方式?
- 上一篇:關(guān)于數(shù)據(jù)調(diào)用問題的思考
- 下一篇:沒有了!
相關(guān)文章
-
沒有相關(guān)內(nèi)容