以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  老师,帮帮忙  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=87312)

--  作者:么么
--  发布时间:2015/11/16 9:13:04
--  老师,帮帮忙
在开盘价上方设置5条线,每条线间隔5个单位,开盘时,在开盘价and60日均线处买开1手,上去盈利3个点平仓,返回来来时,则在第1次开仓的地方重新买开1手,如果没有被平仓,在这个地方则不在买入,如果上去盈利3个点平仓后继续往上走,则在第2条线上买开1手,平仓后到第2条线中间不在开仓,后面继续重复以上操作

variable:n=0,m1=0,m2=0,m3=0;
oo:=VALUEWHEN(todaybar=1,o);
ma60:=ma(c,60);
if c>oo+5 and c>ma60 then begin 
buy(1,1,market);
end
if c>oo+10 and c>ma60 then begin 
buy(1,1,market);
end

if c>oo+15 and c>ma60 then begin 
buy(1,1,market);
end

if c>oo+20 and c>ma60 then begin 
buy(1,1,market);
end

if c>oo+25 and c>ma60 then begin 
buy(1,1,market);
end


就会这么点,老师,麻烦了,谢谢老师

--  作者:jinzhe
--  发布时间:2015/11/16 9:33:42
--  
variable:n=0,m1=0,m2=0,m3=0;
oo:=VALUEWHEN(todaybar=1,o);
ma60:=ma(c,60);
if c>oo+5 and c>ma60 and holding=0 then begin 
buy(1,1,market);
end
if c>oo+10 and c>ma60 and holding=0 then begin 
buy(1,1,market);
end

if c>oo+15 and c>ma60 and holding=0 then begin 
buy(1,1,market);
end

if c>oo+20 and c>ma60 and holding=0 then begin 
buy(1,1,market);
end

if c>oo+25 and c>ma60 and hodling=0 then begin 
buy(1,1,market);
end
 
if c>enterprice+3 then then sell(1,0,market);

--  作者:么么
--  发布时间:2015/11/16 9:52:47
--  
如果开空,则就是;
variable:n=0,m1=0,m2=0,m3=0;
oo:=VALUEWHEN(todaybar=1,o);
ma60:=ma(c,60);
if c<oo-5 and c<ma60 and holding=0 then begin 
buyshort(1,1,market);
end
if c<oo-10 and c<ma60 and holding=0 then begin 
buyshort(1,1,market);
end

if c<oo-15 and c<ma60 and holding=0 then begin 
buyshort(1,1,market);
end

if c<oo-20 and c<ma60 and holding=0 then begin 
buyshort(1,1,market);
end

if c<oo-25 and c<ma60 and  holding=0 then begin 
buyshort(1,1,market);
end
 
if c<enterprice-3  then sellshort(1,0,market);


--  作者:jinzhe
--  发布时间:2015/11/16 9:59:04
--  

对,

可以省略全局变量的定义


--  作者:么么
--  发布时间:2015/11/16 13:20:00
--  
那老师,如果加1个条件每天3点钟之前30秒清仓,怎么写??
--  作者:jinzhe
--  发布时间:2015/11/16 13:30:14
--  

if ((timetot0(dynainfo(207))>=time0-30) or not(islastbar)) and time=closetime(0) then begin

    sell(1,0,market);

    sellshort(1,0,market);

end

[此贴子已经被作者于2015/11/16 13:30:39编辑过]

--  作者:么么
--  发布时间:2015/11/16 14:09:42
--  
老师,你看一下,我的这个命令怎么在同一价位成交了2次

GLOBALVARIABLE:n1=0,n2=0,n3=0;

GLOBALVARIABLE:tt1=0,tt2=0,tt3=0;

oo:=VALUEWHEN(todaybar=1,o);

ma60:=ma(c,60);

 

if c>oo+1*mindiff and c>ma60 and n1=0 and time<>tt1  then begin

tbuy(1,1,mkt);

n1:=1;

tt1:=time;

end

 

if c>oo+2*mindiff and c>ma60 and n2=0 and time<>tt2 then begin

tbuy(1,2,mkt);

n2:=1;

tt2=TIME;

END

 

if c>oo+3*mindiff and c>ma60 and n3=0 and time<>tt3 then begin

tbuy(1,3,mkt);

n3:=1;

tt3=time;

end

if time=closetime(0) then begin

n1:=0;

n2:=0;

n3:=0;

tt1:=0;

tt2:=0;

tt3:=0;

end

 


--  作者:jinzhe
--  发布时间:2015/11/16 14:12:11
--  
什么叫“成交了2次”?一个单子分两次成交的?
[此贴子已经被作者于2015/11/16 14:12:16编辑过]

--  作者:么么
--  发布时间:2015/11/16 14:14:58
--  
不是,我写的达到条件后一个命名只成交1次,为什么它执行了2次,还有,平仓的时候亏着平仓呢,

GLOBALVARIABLE:num=0;

PD:=(DYNAINFO(7)-TAVGENTERPRICEEX2(\'\',\'\',0))*TBUYHOLDING(1)*DYNAINFO(209)>500;

debugfile(\'D:\\test.txt\',\'当前盈亏为%.2f\',TOPENPROFIT);

盈亏:=(DYNAINFO(7)-TAVGENTERPRICEEX2(\'\',\'\',0))*TBUYHOLDING(1)*DYNAINFO(209);

debugfile(\'D:\\test2.txt\',\'当前盈亏为%.2f\',盈亏);

if PD  and tbuyholding(1)>0 and num=0 THEN begin

tsell(1,5,mkt);

num:=1;

end

PD2:=(DYNAINFO(7)-TAVGENTERPRICEEX2(\'\',\'\',0))*TBUYHOLDING(1)*DYNAINFO(209)>1000;

if PD2  and tbuyholding(1)>0 and num=1 THEN begin

tsell(1,10,mkt);

num:=2;

end

 

PD3:=(DYNAINFO(7)-TAVGENTERPRICEEX2(\'\',\'\',0))*TBUYHOLDING(1)*DYNAINFO(209)>2000;

if PD3  and tbuyholding(1)>0 THEN begin

tsell(1,TbuyHOLDING(1),mkt);

end

 



--  作者:jinzhe
--  发布时间:2015/11/16 14:17:26
--  

1为什么下单了两次:看下单日志里面的记录情况

2为什么不满足条件但是平仓了:贴调试记录,看看调试的情况是什么样的