Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共18 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:请老师帮忙修改程序化模型

1楼
关树源 发表于:2018/3/11 21:43:01
老师帮忙修改成金字塔程序化交易模型

第一个指标出现(抄底)信号后结合MACD金叉后下一根K线买入多单,止损点放在下单前5根K线点最低点,浮盈超过百分之十后设置百分之五的保本动态止损

A11:=MA(CLOSE,5);
A12:=MA(CLOSE,10);
A13:=MA(CLOSE,20);
A14:=MA(CLOSE,30);
均线多头排列:IF(A11 > A12 AND A12 > A13 AND CROSS(A13,A14) AND C > O,18,0),STICK,LINETHICK2,COLOR00BBFF;
DRAWTEXT(A11 > A12 AND A12 > A13 AND CROSS(A13,A14) AND C > O,35,'均线多头排列'),COLOR00FFFF;
VAR1:=HHV(HIGH,9)-LLV(LOW,9);
VAR2:=HHV(HIGH,9)-CLOSE;
VAR3:=CLOSE-LLV(LOW,9);
VAR4:=VAR2/VAR1*100-70;
VAR5:=(CLOSE-LLV(LOW,60))/(HHV(HIGH,60)-LLV(LOW,60));
VAR6:=(2*CLOSE+HIGH+LOW)/4;
VAR7:=SMA(VAR3/VAR1*100,3,1);
VAR8:=LLV(LOW,34);
VAR9:=SMA(VAR7,3,1)-SMA(VAR4,9,1);
VAR10:=IF(VAR9 > 100,VAR9-100,0);
VAR11:=HHV(HIGH,34);
VAR12:=EMA((VAR6-VAR8)/(VAR11-VAR8)*100,13);
VAR13:=EMA(0.667*REF(VAR12,1)+0.333*VAR12,2);
VAR13,COLOR000000;
STICKLINE(VAR12-VAR13 > 0,VAR12,VAR13,8,0),COLOR0055FF;
STICKLINE(VAR12-VAR13 < 0,VAR12,VAR13,8,0),COLOR00FF00;
A1:=HHV(HIGH,50)/LLV(LOW,100) > 1.5;
A2:=(HHV(HIGH,50)-LOW)/(HHV(HIGH,50)-LLV(LOW,100));
A3:=(LOW-LLV(LOW,100))/(HHV(HIGH,50)-LLV(LOW,100));
VAR2W:=100-100*(HHV(HIGH,14)-CLOSE)/(HHV(HIGH,14)-LLV(LOW,14));
MW:= EMA(VAR2W,3);
VAR3W:=EMA(VAR2W,7);
M1:= EMA(VAR3W,5);
MB1:=CROSS(MW,M1) AND M1 < 20;
抄底 :IF((MB1),40,0),LINETHICK2,COLORFFFFFF;
DRAWTEXT(抄底 ,62,'★'),COLOR00FFFF;
DRAWTEXT(抄底 ,52,'抄底 '),COLORFF00FF;

2楼
yukizzc 发表于:2018/3/12 9:25:45

variable:n=0;

if 抄底 then n:=1'

if not(抄底) then n:=0;

//n=1表示之前出过抄底信号了

if n=1 and cross(diff,dea) then

begin

buy(1,1,marketr);

ll_price:=ref(close,5);

end

 

if close<ll_price and holding>0 then sell(1,1,marketr)

3楼
关树源 发表于:2018/3/12 9:57:05
测试通不过
4楼
yukizzc 发表于:2018/3/12 10:15:03

你要把macd的代码放进来的,cross(diff,dea)这个就是macd金叉

具体细节需要您自行完成

5楼
关树源 发表于:2018/3/12 11:05:17
通不过,麻烦老师帮忙修改一下

DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA), COLORSTICK;

variable:n=0;
if 抄底 then n:=1'
if not(抄底) then n:=0;
//n=1表示之前出过抄底信号了
if n=1 and cross(diff,dea) then
begin
buy(1,1,marketr);
ll_price:=ref(close,5);
end
 
if close<ll_price and holding>0 then sell(1,1,marketr)
6楼
FireScript 发表于:2018/3/12 11:07:11

编译不通过都是有提示的。

 

s没定义,按照下图处理下

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
7楼
关树源 发表于:2018/3/12 11:08:22
好的
8楼
关树源 发表于:2018/3/12 15:49:19
我比较菜鸟,修改还是没通过,提示未定义的变量,字符串缺少引号
麻烦老师帮我修改一下,万分感谢!

DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
variable:n=0;
if 抄底 then n:=1'
if not(抄底) then n:=0;
//n=1表示之前出过抄底信号了
if n=1 and cross(diff,dea) then
begin
buy(1,1,marketr);
ll_price:=ref(close,5);
end
 
if close<ll_price and holding>0 then sell(1,1,marketr)

9楼
FireScript 发表于:2018/3/12 16:01:03

DIFF : EMA(CLOSE,S) - EMA(CLOSE,P);
DEA  : EMA(DIFF,M);
MACD1 : 2*(DIFF-DEA), COLORSTICK;
variable:n=0;
if 抄底 then n:=1;
if not(抄底) then n:=0;
//n=1表示之前出过抄底信号了
if n=1 and cross(diff,dea) then
begin
buy(1,1,marketr);
ll_price:=ref(close,5);
end
 
if close<ll_price and holding>0 then sell(1,1,marketr);

 

试下吧。

10楼
关树源 发表于:2018/3/12 19:53:17
测试通不过
提示:REF 函数在逐K线模式下不能直接在IF控制语句之内引用
共18 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.07031 s, 3 queries.