以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://www.weistock.com/bbs/list.asp?boardid=4)
----  添加缺失的代码  (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=138853)

--  作者:苦麻菜真好吃
--  发布时间:2016/8/29 10:58:59
--  添加缺失的代码
麻烦老师帮我写下代码、用后台的写


ZH:=\'\';
PZ1:=\'PP09\';
PZ2:=\'PP01\';
globalvariable:Y=0;
KK1:C1>C2;
KK2:C1<C2;

tt:TIME>131500 AND TIME<185500;

//盈利计算(对于这个模型监控品种的盈利计算)
 盈利>500;

//盈利平仓

IF 盈利>500 THEN  BEGIN
pz1平仓反手;
pz平仓反手;
end

//按条件开仓
IF KK1 AND tt  and  没有持仓  then  begin 
多PZ1;
空pz2;
end

IF KK2 AND tt  and  没有持仓  then  begin 
多PZ2;
空pz1;
end




















--  作者:jinzhe
--  发布时间:2016/8/29 11:11:40
--  
有两个地方我写一下,用户照着写剩下的地方
1.
 盈利:=topenprofit;

 

2.

然后品种1开平仓

tbuy(1,1,lmt,dynainf2(7,pz1),0,\'\',pz1);

tsell(1,1,lmt,dynainf2(7,pz1),0,\'\',pz1);

tbuyshort(1,1,lmt,dynainf2(7,pz1),0,\'\',pz1);

tsellshort(1,1,lmt,dynainf2(7,pz1),0,\'\',pz1);

 

pz1改成pz2就是pz2的开平仓

 

 

 

 

加入持仓判断:

 

tbuy(tbuyholdingex(\'\',pz1,0)=0,1,lmt,dynainf2(7,pz1),0,\'\',pz1);

tsell(1,1,lmt,dynainf2(7,pz1),0,\'\',pz1);

tbuyshort(tsellholdingex(\'\',pz2,0)=0,1,lmt,dynainf2(7,pz1),0,\'\',pz1);

tsellshort(1,1,lmt,dynainf2(7,pz1),0,\'\',pz1);

同样是只要把pz1改成pz2就是pz2的开平仓里面加上持仓判断

 

 

 

[此贴子已经被作者于2016-8-29 11:11:52编辑过]

--  作者:苦麻菜真好吃
--  发布时间:2016/8/29 13:58:31
--  
tt:TIME>130500 AND TIME<185500;
//盈利平仓
YLPC:taccount(4)>=1000;

if YLPC THEN BEGIN
tbuy(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tsell(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuyshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tsellshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);


tbuy(1,14,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tsell(1,14,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuyshort(1,14,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tsellshort(1,14,lmt,dynainfo2(7,pz2),0,\'\',pz2);
END

IF KK1 AND tt then begin
tbuy(tbuyholdingex(\'\',pz1,0)=0,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tsell(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuyshort(tsellholdingex(\'\',pz2,0)=0,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tsellshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
end

IF KK2 AND tt then begin 
tbuy(tbuyholdingex(\'\',pz2,0)=0,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tsell(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuyshort(tsellholdingex(\'\',pz1,0)=0,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tsellshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
end

这样写对吗?


--  作者:苦麻菜真好吃
--  发布时间:2016/8/29 14:07:51
--  
我的想法是、满足条件K1,品种1开多、品种2开空
                满足条件K2,品种1开空、品种2开多        
              
       当盈利>500时,平仓并且反手、



在日内用条件K1、K2条件开仓一次,之后反手也只能开一次仓、若收盘前盈利>0那么清仓、若收盘前盈利<0,那么继续持仓

--  作者:jinzhe
--  发布时间:2016/8/29 14:10:16
--  
if YLPC and  tbuyholdingex(\'\',pz1,0)>0  and tsellholdingex(\'\',\'pz2\',0)>0THEN BEGIN
tsell(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tsellshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuy(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuyshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
end

if YLPC and  tbuyholdingex(\'\',pz2,0)>0  and tsellholdingex(\'\',\'pz1\',0)>0THEN BEGIN
tsell(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tsellshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuy(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuyshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
end

IF KK1 AND tt then begin
tbuy(tbuyholdingex(\'\',pz1,0)=0,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuyshort(tsellholdingex(\'\',pz2,0)=0,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
end

IF KK2 AND tt then begin 
tbuy(tbuyholdingex(\'\',pz2,0)=0,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuyshort(tsellholdingex(\'\',pz1,0)=0,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
end


--  作者:苦麻菜真好吃
--  发布时间:2016/8/29 14:54:52
--  
为啥不能执行平仓反手呢?

图片点击可在新窗口打开查看此主题相关图片如下:cb3tom%d_{byh`an5n4qim.png
图片点击可在新窗口打开查看



YLPC:topenprofit>=500;
if YLPC and  tbuyholdingex(\'\',pz1,0)>0  and tsellholdingex(\'\',\'pz2\',0)>0 THEN BEGIN
tsell(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tsellshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuy(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuyshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
end

if YLPC and  tbuyholdingex(\'\',pz2,0)>0  and tsellholdingex(\'\',\'pz1\',0)>0 THEN BEGIN
tsell(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tsellshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuy(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuyshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
end

--  作者:jinzhe
--  发布时间:2016/8/29 14:59:06
--  
浮动盈亏要用上面的帐号函数
--  作者:苦麻菜真好吃
--  发布时间:2016/8/30 9:33:53
--  
这两个函数、都试过了、都不行、怎么回事呢?
图片点击可在新窗口打开查看此主题相关图片如下:6cr5134ke5`x4xnna}y96.png
图片点击可在新窗口打开查看
YLPC:=taccount(4)>=500;
//YLPC:topenprofit>=500;




if YLPC and  tbuyholdingex(\'\',pz1,0)>0  and tsellholdingex(\'\',\'pz2\',0)>0 THEN BEGIN
tsell(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tsellshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuy(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuyshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
end

if YLPC and  tbuyholdingex(\'\',pz2,0)>0  and tsellholdingex(\'\',\'pz1\',0)>0 THEN BEGIN
tsell(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tsellshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuy(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuyshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
end

IF KK1 AND tt then begin
tbuy(tbuyholdingex(\'\',pz1,0)=0,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuyshort(tsellholdingex(\'\',pz2,0)=0,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
end

IF KK2 AND tt then begin 
tbuy(tbuyholdingex(\'\',pz2,0)=0,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuyshort(tsellholdingex(\'\',pz1,0)=0,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
end

--  作者:jinzhe
--  发布时间:2016/8/30 9:46:39
--  
if YLPC and  tbuyholdingex(\'\',pz1,0)>0  and tsellholdingex(\'\',pz2,0)>0 THEN BEGIN
tsell(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tsellshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuy(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tbuyshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
end

if YLPC and  tbuyholdingex(\'\',pz2,0)>0  and tsellholdingex(\'\',pz1,0)>0 THEN BEGIN
tsell(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
tsellshort(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuy(1,10,lmt,dynainfo2(7,pz1),0,\'\',pz1);
tbuyshort(1,10,lmt,dynainfo2(7,pz2),0,\'\',pz2);
end
 
把每段第一行多的单引号删除了