以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 请教老师:样编怎写。 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=183726) |
|
-- 作者:诗与远方 -- 发布时间:2021/1/4 10:58:46 -- 请教老师:样编怎写。 请教老师:样编怎写。 1.多单,价格突破前一根K线高点买入,(不停突破,会不停的加仓)。跌破前一根K线底点止损(所有多单) 2.空单,价格跌破前一根K线底点买出,(不停跌破,会不停的加仓)。突破前一根K线底点止损(所有空单) 3.周期为1分钟,收盘前强平所有单。(下午3点前强平,晚上11点前强平。)
|
|
-- 作者:FireScript -- 发布时间:2021/1/4 11:13:51 -- 收盘强平这个 你现在是走完K模式还固定轮询模式? |
|
-- 作者:诗与远方 -- 发布时间:2021/1/4 11:36:56 -- 走完K模式 |
|
-- 作者:诗与远方 -- 发布时间:2021/1/4 12:25:56 -- 交易下单时,不用走完一根K线,只要有一单突破就下单。 |
|
-- 作者:FireScript -- 发布时间:2021/1/4 13:15:21 -- 1. 你走完K 就只能等K线走完才能发单。这个模式就是这样的,无法从代码上突破这个限制的。 2. 如果是走完K模式的话,那就只能在收盘前一个K上出信号,然后收盘K上刚好按照信号下单。 if h>ref(h,1) then buy(1,1,market);//当前最高价大于上个K最高价 if l<ref(l,1) then //当前最低价低于上个K最低价 begin sell(1,holding,market); buyshort(holding=0,1,market); end if l>ref(l,1) then sellshort(1,holding,market);//当前最低价大于上个K最低价 if time=185900 or time=045900 then //走完K模式下收盘前一个K出信号,否则就只能在下次开盘K上开仓了。 begin 收盘强平1:sell(1,holding,market); 收盘强平2:sellshort(1,holding,market); end |
|
-- 作者:诗与远方 -- 发布时间:2021/1/4 13:46:58 -- 你好,改用固定轮询模式呢? |
|
-- 作者:诗与远方 -- 发布时间:2021/1/4 13:48:11 --
|
|
-- 作者:FireScript -- 发布时间:2021/1/4 14:03:37 -- 如果改成固定轮询模式 就是可以实现满足条件就下单。 相应的,这里时间判断改成判断收盘K就行了。因为信号会在最后一个K上直接触发 并下单。 if time=190000 or time=050000 then //走完K模式下收盘前一个K出信号,否则就只能在下次开盘K上开仓了。
begin 收盘强平1:sell(1,holding,market); 收盘强平2:sellshort(1,holding,market); end |
|
-- 作者:诗与远方 -- 发布时间:2021/1/4 14:30:37 -- 不好意思,这里写错了,请修改一下! 2.空单,价格跌破前一根K线底点买出,(不停跌破,会不停的加仓)。突破前一根K线高点止损(所有空单) |
|
-- 作者:FireScript -- 发布时间:2021/1/4 14:36:19 -- 那这样子: if h>ref(h,1) then sellshort(1,holding,market);//当前k最高价格大于上个K最高价 if h>ref(h,1) then buy(1,1,market); if l<ref(l,1) then //当前最低价低于上个K最低价 begin sell(1,holding,market); buyshort(holding=0,1,market); end 这里还是说明下。这里上下突破我选择用的是当前K的最高 最低价来处理的。和直接用收盘价是有点区别的。但是你这里用的是固定轮询 用最高最低价会更合理些。
|