hhv(h,TYPEBAR(1,1));
llv(l,TYPEBAR(1,3));
[此贴子已经被作者于2019/11/12 9:01:01编辑过]
dlen:TYPEBAR(1,1);//最近一次开多距离当前的周期跨度
klen:TYPEBAR(1,3);
d_hv:hhv(h,dlen);//最近一次开多以来的最高价
k_len:hhv(h,klen);
请问:开多仓后,开多仓以来的动态最高价回抽2%止损止盈,盈利3%止盈;
开空仓后,开空仓以来的动态最低价回抽2%止损止盈,盈利3%止盈;
(类似移动止损)
要怎么写?
先以多头为例:
回撤zyzs:(d_hv-c)/d_hv>=0.02;//收盘价从 最高价回撤大于等于2%
盈利zy:(c-AvGENTERPRICE)/AvGENTERPRICE>=0.03;//盈利3%
if 回撤zyzs or 盈利zy and holding>0 then sell(1,holding,market);
空头的话就是改下盈利计算方式 以及回撤的计算方向
[此贴子已经被作者于2019/11/12 13:48:47编辑过]
此主题相关图片如下:qq截图jzt1.png

MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
DK:=CROSS(MA5,MA10);
KK:=CROSS(MA10,MA5);
if DK then
begin
sellshort(holding<0,holding,market);
buy(holding=0,10%,market),PERTRADER;
end
if KK then
begin
sell(holding>0,holding,market);
buyshort(holding=0,10%,market),PERTRADER;
end
dlen:TYPEBAR(1,1);//最近一次开多距离当前的周期跨度
klen:TYPEBAR(1,3);
d_hv:=hhv(h,dlen);//最近一次开多以来的最高价
k_len:=llv(L,klen);
开多回撤zyzs:(d_hv-c)/d_hv>=0.02;//收盘价从 最高价回撤大于等于2%
开多盈利zy:(c-AvGENTERPRICE)/AvGENTERPRICE>=0.03;//盈利3%
if 开多回撤zyzs or 开多盈利zy and holding>0 then sell(1,holding,marketr);
开空回撤zyzs:=(c-k_len)/k_len>=0.02;//收盘价从 最低价回撤大于等于2%
开空盈利zy:=(AvGENTERPRICE-c)/AvGENTERPRICE>=0.03;//盈利3%
if 开空回撤zyzs or 开空盈利zy and holding<0 then sellshort(1,holding,marketr);
像上面这样写对吗?但我应用于K线时显示的怎么是同一K线开仓,就在同一K线上平仓了?没实现思路。
[此贴子已经被作者于2019/11/12 23:08:44编辑过]
1.你这个统计有点问题。
dlen 以及klen初始值都是0.在开仓K上会导致hhv统计的是全部K的最高价。
2.需要知道你统计的范围是否需要保护开仓K。
3.幅度有点小吧。很容易触发的。
[此贴子已经被作者于2019/11/13 9:38:23编辑过]
上面的代码全对吗?有没有错误的地方?
如加跨周期2小时的MA5 MA10要怎么写?
跨周期2小时的MA5:= ;
跨周期2小时的MA10:= ;
DK:=CROSS(MA5,MA10) && CROSS(跨周期2小时的MA5,跨周期2小时的MA10);
1.代码有一点问题, 看下7楼的回复。
2.跨周期用stkindi函数。
你可以自己写一个ma的指标,然后金叉死叉也在这个指标里面定义好。最后用stkindi函数去调用即可。
你好,文华的下列代码转化为金字塔的要怎样表达,谢谢
Close<=HHV(High,BarsBK)*0.95;//
Close>=LLV(Low,BarsSK)*1.05;//
Close>=BKPrice*1.03;//
Close<=SKPrice*0.97;//
Trade_Other:Auto;//