金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100020061

移动止损

[复制链接]

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-20 15:47 | 显示全部楼层
你以实际数值举个例子吧。 我直接写一个范例,就不看你那个代码了。我到时候直接给你一个可以直接运行的范例。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-3-20 15:57 | 显示全部楼层
技术009 发表于 2023-3-20 15:47
你以实际数值举个例子吧。 我直接写一个范例,就不看你那个代码了。我到时候直接给你一个可以直接运行的范 ...

回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-3-20 16:46 | 显示全部楼层
技术009 发表于 2023-3-20 15:47
你以实际数值举个例子吧。 我直接写一个范例,就不看你那个代码了。我到时候直接给你一个可以直接运行的范 ...

{因为我的 10日区间 和 20日区间 是不同品种的参数赋值,模型自动根据品种变更 这个不能改变 这里就用 P 和PP代替}
P:=20;PP:=40;(实际P 和 PP 不是倍数关系)
空头:
KZS1:=1日前30日内的最高价;
KZS2:=1日前3日内的最高价;

开仓止损价为 KZS1(如果 KZS1-空入场价<P,KZS1 就改为空入场价+P/2, 如果 KZS1-空入场价>P 那么KZS1 改为 KZS2 )
如果盈利大于 P  KZS1 改为空入场价
如果盈利大于 P*2    KZS1 改为 空入场价-P
如果盈利大于 P*3    KZS1 改为 空入场价-P*2
.............{这里需要一个移动止损线跟着走}

如果盈利大于 PP*2    KZS1 改为 空入场价-PP {这里P和PP 交界的地方,区间从P转到PP会出现PP 的价格>当前P的价格 会让新的止损线移到P的上面去了,这里处理下 如果是这种情况,那么当前 PP在小于P的时候才能成为新的止损线}
如果盈利大于 PP*3    KZS1 改为 空入场价-PP*2
...............................{这里需要一个移动止损线跟着走}
如果盈利大于 PP*3 且 C<MA55 的天数大于20日 上穿MA55止损

如果盈利大于 P 且 减仓 KZS1 改为 上一次的  KZS1
// ............后面止损线继续移...................{这里需要一个移动止损线跟着走}
/////////////////////////////////////////////////   
多头:
DZS1:=1日前30日内的最低价;
DZS2:=1日前3日内的最低价;

开仓止损价为 DZS1(如果 入场价-DZS1<P,DZS1 就改为入场价-P/2, 如果 DZS1-入场价>P 那么DZS1 改为 DZS2 )
如果盈利大于 P  DZS1 改为多入场价
如果盈利大于 P*2    DZS1 改为 多入场价+P
如果盈利大于 P*3    DZS1 改为 多入场价+P*2
.............{这里需要一个移动止损线跟着走}

如果盈利大于 PP*2    DZS1 改为 多入场价+PP
如果盈利大于 PP*3    DZS1 改为 多入场价+PP*2
...............................{这里需要一个移动止损线跟着走}
如果盈利大于 PP*3 且 C>MA55 的天数大于20日 下穿MA55止损


如果盈利大于 P 且 减仓 DZS1 改为 上一次的   DZS1
// ............后面止损线继续移...................{这里需要一个移动止损线跟着走}

//输出线的时候需要有持仓判断,这样不会跟以前的线相连  {DZS1:if(holding>0 and DZS1<>0,DZS1,DRAWNULL);}


// 我有  VARIABLE:CC:=0; 作为持仓和加仓判断  第一次开仓CC:=(1 OR -1) 后面递增,平仓为0;加仓以后上面的止损线上移一级
//如果还有全局变量老师帮我写个开平仓完整的形式,开平仓重新赋值的这些语句 避免我开平仓差个赋值 会导致整个系统出现问题



回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-3-20 20:19 | 显示全部楼层
技术009 发表于 2023-3-20 15:47
你以实际数值举个例子吧。 我直接写一个范例,就不看你那个代码了。我到时候直接给你一个可以直接运行的范 ...

if 空止损1=0 and  holding<0  AND CC<0 then 空止损1:=if(空止损价1-ENTERPRICE<=(10日区间/2),空止损价1+(10日区间/2)*MINDIFF, IF(空止损价1-ENTERPRICE>10日区间,入场前高,空止损价1));
if C<空止损1-20日区间 AND HOLDING<0  THEN 空止损1:=空止损1-10日区间;
//if C<空止损1-20日区间*2 AND HOLDING<0  THEN 空止损1:=空止损1-20日区间;
//if C<空止损1-20日区间*4 AND HOLDING<0  THEN 空止损1:=空止损1-20日区间*2;
老师 我目前的止损 就前面两行 就实现了移动止损功能 但是我想 把后面两行的功能放进去,盈利以后放大止损区间,让盈利奔跑, 另外就是减仓 止损返回上一级的功能,其他有问题的是我止损以后重新赋值出了错,已经排除。。
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-3-21 08:05 | 显示全部楼层
技术009 发表于 2023-3-20 15:47
你以实际数值举个例子吧。 我直接写一个范例,就不看你那个代码了。我到时候直接给你一个可以直接运行的范 ...

昨天晚上把下面这几个总的赋值放到了首次全局变量止损赋值的下面,所有开平仓的前面。
每次开仓前再次判断持仓CC=0 或者CC=几。每次平仓为0,重置 CC为0,重置止损为0。
感觉有点重复赋值,但是没看到止损线错误的地方了,我也不知道到底哪种方式是对的···

IF HOLDING>0 THEN   BEGIN
CC:=1;
MAXPROFIT:=0;////有仓位时最大获利幅度
        END
///////////////////////////////////////////////////////////////////////////////////////////
IF HOLDING<0 THEN   BEGIN
CC:=-1;
MAXPROFIT:=0;////有仓位时最大获利幅度
    END
IF HOLDING=0 THEN BEGIN
CC:=0;
    空止损1:=0;
  多止损1:=0;
END
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-21 09:34 | 显示全部楼层
你不用贴你的代码,你的代码太混乱 只会导致不必要的理解和沟通成本。我现在只确认下你原始需求是怎样的:
“大概思路就是这样
入场赋值一次, 入场赋值有条件;
盈利一个区间 移动一次;
盈利大于第二种区间 ,区间赋值改变一次;
减仓 且盈利大于 第一个区间的话 止损返回上面一级;
平仓重新赋值变量;”

1.区间具体的定义是什么?比如是盈利多少个点?这个说清楚点。或者我先按照盈利多少点算。
2.开仓后是否有加仓?还是说只有减仓和平仓。减仓时候会产生一个平仓盈亏,但是对现有持仓均价没影响。减仓盈利 是下调(朝着盈利降低方向)止损线?
回答清楚上面2条,其他的请不要过多赘述。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-3-21 10:24 | 显示全部楼层
技术009 发表于 2023-3-21 09:34
你不用贴你的代码,你的代码太混乱 只会导致不必要的理解和沟通成本。我现在只确认下你原始需求是怎样的:
...

1:区间定义我有2中  你就按你的定义去定 两种  分别赋值比如 P1 p2 ,P2 区间大于P1区间 ,方便我到时候更改

2:开仓后 无论加仓还是减仓, 止损线回调一级,回到上次的止损线位置,这样不会在同一级再次止损,如果再次到新的位置 再止损。



补充内容 (2023-3-21 10:26):
止损减仓 盈利减仓 都算减仓。
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-21 10:29 | 显示全部楼层

回调一次是 指 止损线移到盈利更低的价位?那你这个止损线 在没有加仓或者平仓操作时候  是根据浮盈情况来移到,如果是盈利增加,不用说止损线上移,如果是亏损,止损线下移?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-3-21 10:54 | 显示全部楼层
技术009 发表于 2023-3-21 10:29
回调一次是 指 止损线移到盈利更低的价位?那你这个止损线 在没有加仓或者平仓操作时候  是根据浮盈情况 ...

是止损线移到比当前止损线盈利更低的上一级 盈利增加,止损线跟着区间取移动,亏损了上穿止损并减仓,此时止损线回调一级。如果加仓,同理回调一级
回复

使用道具 举报

507

主题

2975

帖子

2985

积分

Rank: 2

等级: 标准版

注册:
2023-2-16
曾用名:
 楼主| 发表于 2023-3-22 10:53 | 显示全部楼层
技术009 发表于 2023-3-21 10:29
回调一次是 指 止损线移到盈利更低的价位?那你这个止损线 在没有加仓或者平仓操作时候  是根据浮盈情况 ...

老师你好  这个还有没有什么问题呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-6-10 11:23 , Processed in 0.181364 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表