以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  固定10个点止盈止损,如何做到分别出场?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=156802)

--  作者:qq代人发帖
--  发布时间:2017/8/14 15:06:04
--  固定10个点止盈止损,如何做到分别出场?
比如我均线跟现价收盘价在均线之上多做,一天可以产生很多多单,每一次进场我都有固定10个点止盈止损,如何做到分别出场,目前只会做到最近一次进场点位然后同时出场

--  作者:pyd
--  发布时间:2017/8/14 15:28:12
--  

KD:= CROSS(ma(c,10),ma(c,50));
PD:CROSS(ma(c,50),ma(c,10)) ;            


variable:n[]=0,num=1;
if KD THEN
begin
buy(1,1,marketr);
num:=num+1;
n:=close;
end

if PD and holding>0 then
BEGIN
for i=num-1 downto 1 do
begin
            if close>n[i] and n[i]>0 then
            begin
                    sell(1,1,marketr);
                    n[i]:= 0;
                    
              end
end


end

ho:holding;

http://vip.weistock.com:8081/forum.php?mod=viewthread&tid=2914&extra=page%3D1&page=2

来自于本帖18楼

[此贴子已经被作者于2017/8/14 15:31:48编辑过]

--  作者:332046997
--  发布时间:2017/8/14 16:07:57
--  
谢谢
--  作者:332046997
--  发布时间:2017/8/16 13:53:45
--  
 出场思路是这样:每次进场点位如果10根k线内盈利10跳就出场,如果第十根收盘价再开仓价格+1跳以下,就变成行情波动价格》=开仓价+1出场,如果到晚上8点还没出场,直接全部平仓。

不论是否有持仓,有信号就进场目前写完结果,偶尔一单会按节奏出场,其他的都需要收盘才平仓,请帮忙看看什么情况


图片点击可在新窗口打开查看此主题相关图片如下:467105306693337538.png
图片点击可在新窗口打开查看



INPUT : POSNUM(1,1,20,1) ;
VARIABLE : POSITION=0 ;
INPUT: lo(30,10,200,3);
variable:n[]=0,num=1;

m:=14;
TYP := (HIGH + LOW + CLOSE)/3;
ccip:=(TYP-MA(TYP,M))/(0.015*AVEDEV(TYP,M));

A4:=BARSLAST(REF(CROSS(CCIP,-200),1));
B1:REF(C,A4)>REF(C,0) AND CROSS(CCIP,-200);



Tmin:= ((TIME < 193000 )AND (TIME > 030000));
//多头进场
IF   B1 AND Tmin THEN BEGIN
MYENTRYPRICE := CLOSE ;

        BUY( b1,POSNUM,LIMITR,MYENTRYPRICE);
        num:=num+1;
        n:=close;
END 

if  holding>0 then 
BEGIN
for i=num-1 downto 1 do
begin
   if ENTERBARS>10 AND OPEN<(n[i]+1*MINDIFF) and n[i]>0 then
        begin
         sell(HIGH>=(n[i]+20*MINDIFF),1,LIMITR,n[i]+20*MINDIFF);
         n[i]:= 0;
                    
    end
    IF ENTERBARS>10 and OPEN >= (n[i]+1*MINDIFF) and n[i]>0 then
        begin
       sell(1,1,LIMITR,OPEN);
         n[i]:= 0;
    END   
    IF HOLDING>0 AND enterbars>0 and ENTERBARS <10   and n[i]>0 then
        begin
         sell(HIGH>=(n[i]+lo*MINDIFF),1,LIMITR,n[i]+lo*MINDIFF);
         n[i]:= 0;
                    
    end
end


end


if TIME > 200000 THEN SELL(TIME > 200000,POSNUM,LIMITR,CLOSE);

--  作者:yukizzc
--  发布时间:2017/8/16 16:11:05
--  

请问您是哪一步有问题吗?很抱歉对于这种整个交易环节的编写,工作人员也没有多很多精力去帮您做维护

如果您可以细分下,比如某个部分某个地方有问题可以提下


--  作者:332046997
--  发布时间:2017/8/16 16:46:17
--  
主要就是看下哪里有问题,没办法达到每一个进场对应出场,我自己找不到哪里出错了麻烦了