以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  请教基础问题  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=65627)

--  作者:qq代人发帖
--  发布时间:2014/5/29 16:55:44
--  请教基础问题
请教:
1,如果我选择了3分钟线,第一根K线是9:40,第二根K线就是9:43?第三根K线9:46,那么公式就是9:40运行一次,9:43运行一次,9:46运行一次?
2,我现在想写在开盘后第一根K线运行一句公式,第二根K线运行另外一句公式,第三根K线运行另外一句,这样用序列还是逐K?

--  作者:yukizzc
--  发布时间:2014/5/29 16:59:15
--  

1.运行频率是和你选择固定轮询或走完k来决定的,这个是k线周期不是公式运行周期。

2.不管序列还是逐K,公式从头到下都会运行的。你想不同k线执行不同语句,那你自己添加个if条件。

比如: if todaybar=1 then

begin

....      //这里写你希望第一根k执行的语句

end              


--  作者:fengzhong
--  发布时间:2014/5/29 17:14:25
--  回复:(yukizzc)1.运行频率是和你选择固定轮询或走完...
1.那请问我想每次运行公式的时候,满足我设计的条件的时候,开仓,如果过了2根K线没有买入,就放弃交易,怎么写呢?‘
2.您刚刚说的是在逐K模式下还是序列模式下呢?

--  作者:lichenghu
--  发布时间:2014/5/29 17:26:20
--  

1,隔多少根K线撤掉单子,精细化的控制需要试用后台程序化

如果您刚接触,建议使用图表程序化,然后使用系统自带的追撤单功能(把2根周期近似换成未成交多少s后撤单)

http://www.weistock.com/WeisoftHelp/chengshihuajiaoyi.htm

 

2,图表都是逐K模式下,用IF条件语句控制


--  作者:fengzhong
--  发布时间:2014/5/29 18:06:39
--  回复:(lichenghu)1,隔多少根K线撤掉单子,精细化的控...
如果要采用后台程式化
怎么在后台程式化设置分析周期?
您能具体回答下我想要:
当开始运行公式之后,一直等,当a>b的时候(a,b是我自己算出来的两个中间变量)执行开仓操作,如果过了2个K线没有买入或者卖出,就取消交易,然后退出

--  作者:yukizzc
--  发布时间:2014/5/29 19:36:13
--  

分析周期是在交易-后台程序化交易,里面添加策略的时候有设定周期的
图片点击可在新窗口打开查看此主题相关图片如下:td$3wq2ak1rj~1w`q498n0q.jpg
图片点击可在新窗口打开查看

 

tbuy(a>b,1,mkt);            
IF TISPRVREMAIN(1)>0 and TENTERPRICE>2 THEN                  //上笔委托没有成交且开仓历史大于2
TCANCEL(1,1);                                                                      //执行撤单操作

[此贴子已经被作者于2014/5/29 20:24:53编辑过]

--  作者:fengzhong
--  发布时间:2014/5/29 20:08:29
--  回复:(yukizzc)分析周期是在交易-后台程序化交易,...
这个是在序列模式运行还是逐K模式运行呢?
我叙述一遍我想实现的公式吧。
1.开盘之后,读取TRIX和TRMA(TR1:= EMA(EMA(EMA(CLOSE,P),P),P); 
TRIX := (TR1-REF(TR1,1))/REF(TR1,1)*100; //白线
TRMA :=  MA(TRIX,N); //黄线
2.刚开始TRIX<TRMA时,一直计算TRIX>TRMA?  , 当TRIX>TRMA的时候,开仓
3.判断过了2根K线没有交易成功时,取消交易。同时输出MSGOUT(1,"交易失败");
4.在2根K线内交易成功,输出MSGOUT(1,"交易成功");

--  作者:yukizzc
--  发布时间:2014/5/29 20:33:45
--  

序列模式即可,如还有代码问题请在公示区发帖咨询,谢谢。

TR1:= EMA(EMA(EMA(CLOSE,P),P),P); 

TRIX := (TR1-REF(TR1,1))/REF(TR1,1)*100; //白线
TRMAX:=  MA(TRIX,N); //黄线

tbuy(TRIX>TRMAX,1,mkt);            
IF TISPRVREMAIN(1)>0 and TENTERPRICE>2 THEN      

begin
TCANCEL(1,1);

MSGOU(1,"交易失败");

end

 

else if TENTERPRICE<2 and TISPRVREMAIN(1)>0

MSGOUT(1,"交易成功");


--  作者:fengzhong
--  发布时间:2014/5/29 20:46:35
--  回复:(yukizzc)序列模式即可,如还有代码问题请在公...
这样怎么保证9点半来盘后,实时获得数据并做出相应的操作?
序列模式不是只执行一次,取最后一个K线数据进行操作吗?
那么实时根据数据的不同而做出开仓?等操作

--  作者:yukizzc
--  发布时间:2014/5/29 20:50:52
--  

序列模式是只刷新最后一个周期而不会像逐K每次刷新都是从k线头到尾刷新,并不是说只执行一次。