以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=182673) |
-- 作者:337666422 -- 发布时间:2020/10/25 13:24:35 -- 代码编写求助 您好老师,求助个问题。我的想法是要求是J在上穿某个数值的时候一定开多仓平空。当J和F,G线任意两条线上穿K1的时候开仓做多平空。当J上穿另一个极限数值的时候一定开空平多。当J和F,G任意两线下穿D1的时候平多开空。所有的开仓,在利润达到20%的时候执行移动止损,以10%为利润最低点。譬如在利润达到30%的时候,移动止损店就是原来盈利20%的那条线。在选择方向错误的时候止损就是本金的8%。麻烦老师看看给个答复 |
-- 作者:FireScript -- 发布时间:2020/10/26 9:56:11 -- X1:40; X2:80; cd1:CROSS(J,X1); cd2:CROSS(J,K1); cd3:CROSS(F,K1); cd4:CROSS(G,K1); cd5:CROSS(J,X2); cd6:CROSS(D1,J); cd7:CROSS(D1,F); cd8:CROSS(D1,G); if cd1 then //上穿某个数值 平空开多 begin sellshort(holding<0,holding,market); buy(holding=0,1,market); end if cd5 then //上穿某个极值 平多开空 begin sell(holding>0,holding,market); buyshort(holding=0,1,market); end if (cd2 + cd3 + cd4)>=2 then //三个上穿条件 满足其二 平空开多 begin sellshort(holding<0,holding,market); buy(holding=0,1,market); end if (cd6 + cd7 + cd8)>=2 then //三个下穿条件 满足其二 平多开空 begin sell(holding>0,holding,market); buyshort(holding=0,1,market); end maxProfit1:HHV(H,ENTERBARS+1)-AVGENTERPRICE;//最大盈利,以持仓阶段最高价位置计算最大盈利 maxProfit2:AVGENTERPRICE-llv(l,ENTERBARS+1); currentProfit1:AVGENTERPRICE-c;//多头当前盈利 currentProfit2:c-AVGENTERPRICE; DTYDZS:=(maxProfit1-currentProfit1)/maxProfit1>=0.1 and maxProfit1>=0.2;//从最高盈利回落 且最高盈利大于20% KTYDZS:=(maxProfit2-currentProfit2)/maxProfit2>=0.1 and maxProfit2>=0.2; 多头止损:SELL(DTYDZS,0,MARKET); 空头止损:SELLSHORT(KTYDZS,0,MARKET); 仅供参考。你提到的那些线啊 ,指标值啥的你自己自行补全下。
[此贴子已经被作者于2020/10/26 10:01:18编辑过]
|
-- 作者:337666422 -- 发布时间:2020/10/26 17:12:28 -- 谢谢老师 |