以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  怎么控制交易信号  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=73222)

--  作者:qq代人发帖
--  发布时间:2014/12/18 11:03:04
--  怎么控制交易信号
请教:
如何在一根K线里,只发出一个信号。

--  作者:pyd
--  发布时间:2014/12/18 11:05:10
--  

是无论是开还是平都只出一个信号?

[此贴子已经被作者于2014/12/18 11:07:56编辑过]

--  作者:weileze
--  发布时间:2014/12/18 11:25:29
--  回复
我想给我的客户发送交易信号。
我想用指标的方式。

IF OPEN<REF(OPEN,1) AND HOLDING>=0 THEN BEGIN
SELL(1,1,MARKET);
BUYSHORT(1,1,MARKET);
Result4:=SENDMSG3(0);
END

IF OPEN>REF(OPEN,1)  AND HOLDING<=0  THEN BEGIN
SELLSHORT(1,1,MARKET);
BUY(1,1,MARKET);
Result2:=SENDMSG4(0);
END 

但是他不会停下来,会一直发。

--  作者:weileze
--  发布时间:2014/12/18 11:26:53
--  回复上方
如何出现一个交易信号,只给QQ群发一次信号,而不是不停的发,感觉我逻辑没问题。
--  作者:weileze
--  发布时间:2014/12/18 11:31:07
--  回复
应该跟自定义函数没有关系,我的自定义函数是如下写的。

Function SENDMSG4(Formula,Num1)
    \'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    Set Grid = Technic.GetGridByName("Main")
\'得到该窗格所对应的动态行情对象
Set ReportData = Grid.GetReportData()
\'取当前最新价
NewPrice = ReportData.NewPrice
    Set obj = CreateObject("WWSCommon.TCGroup")
\'call obj.TransMessage("笑傲江湖","开仓")
call obj.TransMessage("测试金字塔","当前价位平空:" & ReportData.NewPrice)
Set obj = Nothing
    SENDMSG4=0

End Function

--  作者:weileze
--  发布时间:2014/12/18 11:35:22
--  回复
 当前价位平多:1.23468
 该消息由金字塔交易决策系统提供。
当前价位平空:1.23468
 该消息由金字塔交易决策系统提供。
当前价位平多:1.23468
 该消息由金字塔交易决策系统提供。
当前价位平空:1.23468
 该消息由金字塔交易决策系统提供。
当前价位平空:1.23468
 该消息由金字塔交易决策系统提供。


按照我写的指标,会发送这样的数据。在一秒内发送好几个。 

--  作者:yukizzc
--  发布时间:2014/12/18 13:43:25
--  

代码是逐k的会在图表所有k上去分析如果成立则会执行相应代码,自己把发送消息的代码放到类似下面的条件中去

 

if c>o  and islastbar and barpos>EXTGBDATA(\'bar\' ) THEN                   //只判断最后一根k的条件是否满足 
begin
msgout(1,\'ss\');
EXTGBDATASET(\'bar\' , barpos);
end


--  作者:weileze
--  发布时间:2014/12/19 10:00:23
--  谢谢
一直想用全局变量来解决这个问题,谢谢。