以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  策略编写求助区  (http://222.73.7.161/bbs/list.asp?boardid=11)
----  SAR趋势下单策略求助  (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=164167)

--  作者:Morzlk
--  发布时间:2018/6/26 16:14:55
--  SAR趋势下单策略求助
想在SAR由多转空后从第二根SAR点K线开始如果低于第一根SAR点K线最低点时反手开空单,反过来就是由空转多时第二根
图片点击可在新窗口打开查看此主题相关图片如下:sar.png
图片点击可在新窗口打开查看
SAR点K线如果
高于第一根SAR点K线最高点时反手开多!有大神能帮忙编写下吗
--  作者:FireScript
--  发布时间:2018/6/26 17:01:22
--  
 1.sar多转空:指sar趋势由上升趋势转下降趋势,空转多则是先下降后上升?
 2.开仓只能在你图中箭头标识的K的下一个K才能开仓,因为你标识的位置是需要进行未来引用才能判断趋势走向发生了变化。

--  作者:Morzlk
--  发布时间:2018/6/27 9:02:23
--  
1,你提到的问题1是你理解的意思.
2.你提到的问题2,是我没考虑到,是你说的这样,要引用当前标注的单根K线
按照你说的能否写出来呢?

--  作者:FireScript
--  发布时间:2018/6/27 10:05:36
--  
 INPUT:N(10,2,100,1),S(2,1,100,1),M(20,1,100,1);

A:sar(N,S,M);

多转空:ref(A,1)>A and ref(A,2)<ref(A,1);
空转多:ref(A,1)<A and ref(A,2)>ref(A,1);

if 多转空 then
begin
sell(holding>0,holding,market);
buyshort(holding=0,1,market);
end

if 空转多 then
begin
sellshort(holding<0,holding,market);
buy(holding=0,1,market);
end
--  作者:Morzlk
--  发布时间:2018/6/27 10:36:21
--  
大神啊...谢谢啦!
--  作者:Morzlk
--  发布时间:2018/6/27 11:01:49
--  
能不能再加入一个规则,比如空转多的时候前期30跟K线有低于前期K线30跟的低点,则不作多平仓,如果多转空时,此根K线往前数30根K线有新高的,则平仓不做空!公式如下:
H>=HHV(H,30)
L<=LLV(L,30)

--  作者:FireScript
--  发布时间:2018/6/27 13:27:23
--  
 完全可以的。
把限制条件加在开仓语句里面就行了
比如:

if 多转空 then
begin
sell(holding>0,holding,market);
buyshort(holding=0 and H>=HHV(H,30) ,1,market);
end