以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=182621)

--  作者:李小军
--  发布时间:2020/10/21 9:57:59
--  立马形成止损单
在  老师好  想在开仓后  在开仓的这一根k线的最高点  最低点   立马形成止损单       谢谢老师
--  作者:李小军
--  发布时间:2020/10/21 10:18:03
--  
 谢谢老师
--  作者:FireScript
--  发布时间:2020/10/21 10:22:39
--  
 你是图表程序化还是后台程序化?
思路是开仓K的最高价,最低价作为止盈止损的位置?

--  作者:李小军
--  发布时间:2020/10/21 14:51:53
--  
是图表    止盈止损是最高价和最低价    就是 k线走完后  我开仓 开仓后 直接自动   止盈止损是最高价和最低价  
--  作者:李小军
--  发布时间:2020/10/21 14:53:26
--  
不写开仓    只写自动止盈止损
--  作者:FireScript
--  发布时间:2020/10/21 15:11:08
--  
 那不行的。图表模型必须有开有平,需要这样一个闭环的逻辑才行。
无法手工开仓,然后实现这种半自动的止盈止损的。你这个必须开平都在图表上操作才行。


--  作者:李小军
--  发布时间:2020/10/21 15:38:11
--  
只写自动止损
--  作者:FireScript
--  发布时间:2020/10/21 16:05:53
--  
图表程序化 只写平仓的是不行的。要么纯自动化,要么纯手工,半自动是不行的。只有平仓的代码,图表上是出不了信号的。
--  作者:李小军
--  发布时间:2020/10/21 23:08:58
--  
MA150:Ma(C,150);

input:SS(1,1,100,1),M(12,1,100,10),LL(-6,-40,-1,4),LH(6,1,40,4);

BIAS :=(CLOSE-MA(CLOSE,M))/MA(CLOSE,M)*100;
手数:=SS;
//交易条件

开多平空条件:=CROSS(LL,BIAS*100);//开多平空条件
开空平多条件:=CROSS(BIAS*100,LH);//开空平多条件

手数:=SS;
KD:=  CROSS  (LL,BIAS*100);  //开多条件
PD:=  CROSS   (BIAS*100,LH);//平多条件
KK:=  CROSS  (BIAS*100,LH);//开空条件
PK:=  CROSS  (LL,BIAS*100); //平空条件

Dir:=MA150>REF(MA150,1);

平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
开多:BUY(Dir>0 and KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);                       //平多信号
开空:BUYSHORT(Dir=0 and KK AND HOLDING=0,1,THISCLOSE);     //开空信号    
     




持仓:holding,linethick0;
资产:asset,noaxis;
可用现金:cash(0),linethick0;

老师  在这个程序中   加入  自动止损是最高价和最低价    就是开仓的这根k线  走完后 开仓     然后  直接挂止损  

--  作者:FireScript
--  发布时间:2020/10/22 9:45:10
--  
 平空:SELLSHORT(PK,1,THISCLOSE);                  //平空信号
DTZS:VALUEWHEN(Dir>0 and KD AND HOLDING=0,L);
开多:BUY(Dir>0 and KD AND HOLDING=0,1,THISCLOSE);          //开多信号
平多:SELL(PD,1,THISCLOSE);   //平多信号
KTZS:VALUEWHEN(Dir=0 and KK AND HOLDING=0,H);                   
开空:BUYSHORT(Dir=0 and KK AND HOLDING=0,1,THISCLOSE);     //开空信号   

IF Holding>0 and c<DTZS then sell(1,holding,market);//多头止损,最新价小于开仓K的最低价
IF Holding<0 and c>KTZS then sellshort(1,holding,market);//空头止损,最新价大于开仓K的最高价
    

走完K开仓不是在代码里面设置,你自己选走完K的程序化交易模式即可。