Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共8 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:后台程序编写,帮看看那里有问题。

1楼
系统使用者 发表于:2014/5/8 12:09:05
根据阿火:后台下单模板;编写的模型。
if holding=0 then 
buy(val1>0,100,LIMIT,O,0);
buyshort(val1>0,100,LIMIT,O,0);
ee:=enterprice;
 //多头平仓 
IF (h-ee)>3 and (h-ee)<50 THEN SELL(1,10,LIMIT,ee+3,0),ORDERQUEUE;
  SELL(1,10,LIMIT,EXITPRICE+3,0),ORDERQUEUE;
IF (ee-l)>1 and (ee-l)<50 THEN SELL(1,10,LIMIT,ee-1,0),ORDERQUEUE;
  SELL(1,10,LIMIT,EXITPRICE-3,0),ORDERQUEUE;  
IF TSELLHOLDING(1)>0 THEN BEGIN 
 //空头平仓
 IF (h-ee)>1 and (h-ee)<50 THEN SELLSHORT(1,10,LIMIT,ee+1,0),ORDERQUEUE;
  SELLSHORT(1,10,LIMIT,EXITPRICE+3,0),ORDERQUEUE;
 IF (ee-l)>3 and (ee-l)<50 THEN SELLSHORT(1,10,LIMIT,ee-3,0),ORDERQUEUE;
  SELLSHORT(1,10,LIMIT,EXITPRICE-3,0),ORDERQUEUE;
tm:=50;//撤单时间
cc800988:=holding;
drawtextex(1,1,800,0,'虚拟持仓为:'+numtostr(cc800988,0));//在图表上输入虚拟持仓监控
if not(islastbar) or workmode<>1 then exit;
xiadan800988:=cc800988-hold;
if xiadan800988>0.5 and tsubmit(0)>tm then tcancelex(0,0,cc800988,stklabel);//撤单功能。
tsell(1,10,mkt);
tsellshort(1,10,mkt);
if xiadan800988>0.5 then begin
 cang:=min(xiadan800988,abs(hold));
 
 if hold<0 then begin
  if (h-ee)>1 and (h-ee)<50 then
  tsellshort(1,10,LMT,tenterprice+1,0,'800988'),ALLOWREPEAT;
  tsellshort(1,10,LMT,TEXITPRICE+3,0,'800988'),ALLOWREPEAT;
  if (ee-l)>3 and (ee-l)<50 then
  tsellshort(1,10,LMT,tenterprice-3,0,'800988'),ALLOWREPEAT;
  tsellshort(1,10,LMT,TEXITPRICE-3,0,'800988'),ALLOWREPEAT;
  debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平空 %.0f',cang);
 end
 cang:=xiadan800988+min(hold,0);
 if cang>0 then begin
  if (TIME>=085600 AND TIME<=90000) then  
  tbuy(1,100,LMT,DYNAINFO(54),0,'800988');
  if (currenttime>=93000 and currenttime>=144000) then 
  tbuy(1,100,LMT,O,0,'800988'),ALLOWREPEAT;
  debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开多 %.0f',cang);
 end
end
if xiadan800988<-0.5 then begin
 cang:=min(abs(xiadan800988),abs(hold));
 if hold>0 then begin
  if (h-ee)>3 and (h-ee)<50 then
  tsell(1,10,LMT,tenterprice+3,0,'800988'),ALLOWREPEAT;
  tsell(1,10,LMT,TEXITPRICE+3,0,'800988'),ALLOWREPEAT;
  if (ee-l)>1 and (ee-l)<50 then
  tsell(1,10,LMT,tenterprice-1,0,'800988'),ALLOWREPEAT;
  tsell(1,10,LMT,TEXITPRICE-3,0,'800988'),ALLOWREPEAT;
  debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平多 %.0f',cang);
 end
 cang:=abs(xiadan800988)-max(hold,0);
 if cang>0 then begin
  if (TIME>=085600 AND TIME<=90000) then  
  tbuyshort(1,100,LMT,DYNAINFO(55),0,'800988');
  if (currenttime>=93000 and currenttime>=144000) then 
  tbuyshort(1,100,LMT,O,0,'800988'),ALLOWREPEAT;
  debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开空 %.0f',cang);
  end
 end
end
hold:=cc800988;


在图上看不到与阿火一样的标示。
请问那里出了问题。

2楼
系统使用者 发表于:2014/5/8 12:10:14
这是阿火模型;
Globalvariable:hold=drawnull;
//蓝色部分改为你自己的模型
buycond:=h>ref(hhv(h,10),1);
sellcond:=l<ref(llv(l,10),1);
if holding>0 and sellcond then sell(1,1,market);
if holding<0 and buycond then sellshort(1,1,market);
if holding=0 and buycond then buy(1,1,market);
if holding=0 and sellcond then buyshort(1,1,market);
cc800988:=holding;//这句放在信号稳定的地方

drawtextex(1,1,800,0,'虚拟持仓为:'+numtostr(cc800988,0));//在图表上输入虚拟持仓以便监控
if not(islastbar) or workmode<>1 then exit;
xiadan800988:=cc800988-hold;
if xiadan800988>0.5 then begin
 cang:=min(xiadan800988,abs(hold));
 if hold<0 then begin
  tsellshort(1,cang,mkt,0,0,'800988'),allowrepeat;
  debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平空 %.0f',cang);
 end
 cang:=xiadan800988+min(hold,0);
 if cang>0 then begin
  tbuy(1,cang,mkt,0,0,'800988'),allowrepeat;
  debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开多 %.0f',cang);
 end
end
if xiadan800988<-0.5 then begin
 cang:=min(abs(xiadan800988),abs(hold));
 if hold>0 then begin
  tsell(1,cang,mkt,0,0,'800988'),allowrepeat;
  debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 平多 %.0f',cang);
 end
 cang:=abs(xiadan800988)-max(hold,0);
 if cang>0 then begin
  tbuyshort(1,cang,mkt,0,0,'800988'),allowrepeat;
  debugfile('D:\800988.txt',numtostr(hold,0)+' '+numtostr(cc800988,0)+' 开空 %.0f',cang);
 end
end
hold:=cc800988;

3楼
jinzhe 发表于:2014/5/8 13:29:08
把你的公式贴完整
4楼
系统使用者 发表于:2014/5/8 15:05:40
完整
5楼
jinzhe 发表于:2014/5/8 15:06:24
贴完整的公式,
6楼
系统使用者 发表于:2014/5/8 15:06:46
buy(val1>0,100,LIMIT,O,0);
val1>0可以随便条件
7楼
系统使用者 发表于:2014/5/8 15:11:25
If holding=0  AND h>ref(hhv(h,3),1) Then 
buy(1,100,LIMIT,O,0);
buyshort(1,100,LIMIT,O,0);

[此贴子已经被作者于2014/5/8 15:11:48编辑过]
8楼
jinzhe 发表于:2014/5/8 15:34:18

代码不完整我不能确认到底是缺的那些代码问题还是其他问题,你贴出你写的全部代码

共8 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03516 s, 3 queries.