以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  相折相应平仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=149623)

--  作者:fxrock4
--  发布时间:2017/3/24 9:54:28
--  相折相应平仓
以A条件开仓的单,以C条件平仓。
以B条件开仓的单,以D条件平仓。
A和B条件相折,C和D条件相折。
请教老师这要如何写,多谢。

--  作者:wenarm
--  发布时间:2017/3/24 10:03:51
--  

相折??

不理解你的意思。策略开仓条件可以限制,平仓条件也可以,但是。两个开仓条件,开的仓位时在一起的。交易所平仓规则是先开先平。你这么做好像没有意义

 

 


--  作者:fxrock4
--  发布时间:2017/3/24 10:12:50
--  
相折就是
A条件开仓,B条件不再开仓;C条件平仓,D条件不再平仓。
对应A条件开仓的单以C条件平仓,B条件开仓的单以D条件平仓。

--  作者:yukizzc
--  发布时间:2017/3/24 10:20:37
--  

variable:a=0;

if a_cond then a:=1;

if a=1 and c_cond then sell();

 

大概逻辑框架,自行了结下算法流程


--  作者:fxrock4
--  发布时间:2017/3/24 10:35:35
--  
逻辑框架错误,只统一执行后一个平仓条件了。
--  作者:yukizzc
--  发布时间:2017/3/24 11:01:07
--  

那你输出前面的平仓条件看下是否满足呢,你的组合很多时候需要自己对变量条件之间做好判断

variable的全拘变量就是给你用来做每个条件的分割,具体一些的需要用户自己处理好中间的关系


--  作者:wenarm
--  发布时间:2017/3/24 11:01:39
--  
VARIABLE:flag1=0,flag2=0;
if aa and holding=0 then BEGIN
 buy(1,1,MARKET);
 flag1=1;
end
if cc and flag=1 then BEGIN
 sell(1,1,MARKET);
 flag1=0;
end
if bb and holding=0 then BEGIN
 buy(1,1,MARKET);
 flag2=1;
end
if dd and flag=1 then BEGIN
 sell(1,1,MARKET);
 flag2=0;
end

--  作者:fxrock4
--  发布时间:2017/3/24 11:31:30
--  
楼上的仍然一样,只执行最后一个平仓条件。
A条件开仓没有执行C条件平仓,只执行D平仓条件。

--  作者:fxrock4
--  发布时间:2017/3/24 14:58:03
--  
不行哦。不行哦
怎么弄怎么弄呢?

--  作者:wenarm
--  发布时间:2017/3/24 15:33:04
--  

VARIABLE:flag1=0,flag2=0;
if aa and holding=0 then BEGIN
 buy(1,1,MARKET);
 flag1=1;
end
if cc and flag=1 then BEGIN
 sell(1,1,MARKET);
 flag1=0;
end
if bb and holding=0 then BEGIN
 buy(1,1,MARKET);
 flag2=1;
end
if dd and flag=2 then BEGIN
 sell(1,1,MARKET);
 flag2=0;
end

上面代码,你试着理解下,标志有个手误写错了。整体逻辑应该就是这样的,