以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [原创]请老师把海龟的自动交易功能加上好吗? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=2512) |
-- 作者:jery -- 发布时间:2010/8/18 6:59:07 -- [原创]请老师把海龟的自动交易功能加上好吗? 我是金字塔的用户,想利用海龟进行一下模拟程序化交易,但实现不了这个功能,打开这个公式,非常复杂,得加上几个语句才能实现,但试了几次,都无法完成,也请了一些程序员,也无法完成,请老师给指点迷津,多谢谢了。 |
-- 作者:jery -- 发布时间:2010/8/18 7:05:46 -- [原创]海龟的开3和开4就不需要了,固定仓位就可以 海龟的开3和开4就不需要了,固定仓位就可以了,比如固定多少手,例如,出现开1信号时开1手,出现开2信号时,开10手,同时完成平的动作。谢谢老师了 |
-- 作者:jery -- 发布时间:2010/8/18 7:06:35 -- 图表交易能利用上海龟模型吗? |
-- 作者:Likai -- 发布时间:2010/8/18 9:08:38 -- 可以为你定制。 |
-- 作者:jery -- 发布时间:2010/8/24 6:59:21 -- 如何定制? 多少费用?另外,海龟模型信号发出提示后如何加上提示音?请教了 |
-- 作者:fly -- 发布时间:2010/8/24 8:59:27 -- 加提示音:PLAYSOUND函数 |
-- 作者:jery -- 发布时间:2010/8/24 9:06:04 -- 在哪个位置加PLAYSOUND这个函数呀?怎么加? VARIABLE:dayCount=1,PositionCount=1,SellSign=0; MA1:MA(C,5); M:=MA(TR,20); ss:n,linethick0; IF BARPOS>=21 THEN BEGIN |
-- 作者:wattwei -- 发布时间:2010/8/24 10:01:04 -- 帮助文档写有: 播放一首指定位置的一个声音文件,可以是MP3或者WAV等格式. 用法:PLAYSOUND(COND,PATH),当最后一个周期得COND条件成立时,播放指定位置PATH的一个声音文件 声音文件可以是绝对路径,也可以只是一个声音文件,只有一个文件名时用户需要将它安放在DOCUMENT目录. 例如:PLAYSOUND(CLOSE>OPEN,\'D:\\ONTIFY.MP3\'),当最后一个周期为阳线时播放D:\\ONTIFY.MP3位置的声音文件. 所属函数组:特色函数 VARIABLE:dayCount=1,PositionCount=1,SellSign=0; VARIABLE:EntAndExitSign=1,EntPoint=0,ExitPoint=0; VARIABLE:N=0; MA1:MA(C,5); MA3:MA(C,10); M:=MA(TR,20); BUYHHV:=HHV(H,20); SELLLLV:=LLV(L,10); ss:n,linethick0; IF BARPOS>=21 THEN BEGIN IF BARPOS=21 THEN N:=M; IF DayCount=6 OR BARPOS=21 THEN BEGIN{5天调整N值} N:=(19*N+TR)/20;{计算N值} DayCount:=2; END DayCount:=DayCount+1; EntPoint:=ENTERBARS+1; IF EntPoint=EntAndExitSign THEN BEGIN{说明STOP指令买进头寸成功} PositionCount:=PositionCount+1;{头寸计数} SellSign:=True;{开始以STOP卖出,如果达到指定的价格} END IF PositionCount=1 THEN BEGIN{第一头寸} HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模} 开1:BUY(1,HOW,STOP,BUYHHV);{在20日新高STOP指令买进} PLAYSOUND(1,\'C:\\WINDOWS\\Media\\ringin.wav\'); END IF PositionCount=2 THEN BEGIN{如到第二头寸} HOW:=CASH(0)*0.01/N;{波动性百分比决定头寸规模} 开2:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);{在上头寸(即第一头寸)+0.5个N以STOP指令买进} PLAYSOUND(1,\'C:\\WINDOWS\\Media\\ringin.wav\'); END IF PositionCount=3 THEN BEGIN{如到第三头寸} HOW:=CASH(0)*0.01/N; 开3:BUY(1,HOW,STOP,ENTERPRICE+0.5*N);{在上头寸(即第二头寸)+0.5个N以STOP指令买进} PLAYSOUND(1,\'C:\\WINDOWS\\Media\\ringin.wav\'); END IF PositionCount=4 THEN BEGIN HOW:=CASH(0)*0.01/N; 开4:BUY(1,HOW,STOP,ENTERPRICE+0.5*N); PLAYSOUND(1,\'C:\\WINDOWS\\Media\\ringin.wav\'); END IF SellSign=True THEN BEGIN ExitPoint:=EXITBARS+1; IF ExitPoint=EntAndExitSign THEN BEGIN {说明卖出成功} PositionCount:=1;{头寸计算复原} SellSign:=False; END IF ENTERPRICE-2*N then SELL(1,100%,STOP,SELLLLV);{退出离盈利头寸} ELSE SELL(1,100%,STOP,ENTERPRICE-2*N);{退出亏损头寸} END PLAYSOUND(1,\'C:\\WINDOWS\\Media\\ringout.wav\'); END; 读懂代码,然后在交易语句出现处,添加发音函数。以上例子中对开仓,和平仓发出不同的声音 留个问题给楼主自行解决,如果对于开仓,平仓的不同情况希望发出不同的声音,如果修改? |
-- 作者:jery -- 发布时间:2010/8/24 15:28:40 -- 多谢老师指点了,这回明白这个函数的用法了,如果对于开仓、平仓使用不同的声音,只要更改一下这个语句中的链接文件即可。如最后平仓那句,可以这样 END IF ENTERPRICE-2*N then SELL(1,100%,STOP,SELLLLV);{退出离盈利头寸} ELSE SELL(1,100%,STOP,ENTERPRICE-2*N);{退出亏损头寸} END PLAYSOUND(1,\'C:\\WINDOWS\\Media\\flourish.wav\'); END; |
-- 作者:jery -- 发布时间:2010/8/24 15:31:45 -- 明天盘中测试一下,就不用盯着看了,谢谢老师了,呵呵 |