金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 佰昌阳投

怎样控制出现开仓信号按照设定手数连续开仓或平仓而不加仓

 关闭 [复制链接]

15

主题

134

帖子

134

积分

等级: 免费版

注册:
2022-3-6
曾用名:
 楼主| 发表于 2022-8-28 11:46 | 显示全部楼层
怎样控制在止盈后如果再次出现同方向开仓信号后不继续同方向开单而是等反方向信号出来后开仓
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-29 08:44 | 显示全部楼层
这个只能用全局变量来处理了。就是每次止盈后 用全局变量做标记,下次开仓时候 首先判断前面的标记的情况。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

134

帖子

134

积分

等级: 免费版

注册:
2022-3-6
曾用名:
 楼主| 发表于 2022-8-29 09:40 | 显示全部楼层
具体是怎么写的呢?
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-29 09:56 | 显示全部楼层
[PEL] 复制代码

VARIABLE:mark:=0;

if 开多条件 and mark>=0 then 
begin 
	
end 


if  多止盈条件 and holding>0  then 
begin 
//平仓语句
mark:=-1;
end 


if 开空条件 and mark<=0 then 
begin 
	
end 


if  空止盈条件 and holding<0 then 
begin 
//平仓语句
mark:=1;
end 


大体上就是这样做。 全局变量赋值地方条件要控制好,必须保证和平仓动作是完全一致的就行了。

亦或者你也可以判断上次信号如果是平仓且盈利,本次就不开仓。但是前提是只有单一的离场条件,比如只要一个止盈或者止损,否则是不行的,就是这种方式有局限性。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

134

帖子

134

积分

等级: 免费版

注册:
2022-3-6
曾用名:
 楼主| 发表于 2022-8-29 10:26 | 显示全部楼层
这样写好像有问题,图表上没有开平仓信号
截图202208291025441307.png
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-29 10:29 | 显示全部楼层
我只在平仓时候重置全局变量,你看看你写的。你写的不对。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

134

帖子

134

积分

等级: 免费版

注册:
2022-3-6
曾用名:
 楼主| 发表于 2022-8-30 09:26 | 显示全部楼层
代码如下不知如何修改
if VAR19 AND NNN>MMM AND NNN>LLL and ref(CLOSE>MMM,1) and ref(CLOSE>MMM,2) and ref(CLOSE>MMM,3)then
begin
sellshort(1,holding,MARKET);
buy(holding=0,ss,MARKET);  

end




if VAR1A AND NNN<MMM AND NNN<LLL  AND ref(CLOSE<MMM,1) AND ref(CLOSE<MMM,2) AND ref(CLOSE<MMM,3)then
begin
sell(1,holding,MARKET);
buyshort(holding=0,ss,MARKET);

end

VARIABLE:mark:=0;

if  VAR19 AND NNN>MMM AND NNN>LLL and ref(CLOSE>MMM,1) and ref(CLOSE>MMM,2) and ref(CLOSE>MMM,3) and mark>=0 then
begin
     
end


if  abs(h-ENTERPRICE) >38 and holding>0  then
begin
sellshort(1,holding,MARKET);
mark:=-1;
end


if VAR1A AND NNN<MMM AND NNN<LLL  AND ref(CLOSE<MMM,1) AND ref(CLOSE<MMM,2) AND ref(CLOSE<MMM,3) and mark<=0 then
begin
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-30 09:40 | 显示全部楼层
你代码贴完整点,另外也不知道哪个是你的止盈条件啊。你那个操作是和止盈语句在一起才行。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

15

主题

134

帖子

134

积分

等级: 免费版

注册:
2022-3-6
曾用名:
 楼主| 发表于 2022-8-30 09:50 | 显示全部楼层
VARIABLE:mark:=0;前面的是开仓条件
止盈条件为;abs(close-ENTERPRICE) >38也就是现价与开仓价的价差大于38
回复

使用道具 举报

20

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2022-8-30 10:16 | 显示全部楼层
VARIABLE:mark:=0;



if  abs(h-ENTERPRICE) >38 and holding<0  then //平空 holding要小于0
begin
sellshort(1,holding,MARKET);
mark:=1;//空止盈这里赋值给1,多止盈这里赋值为-1
end



if VAR19 AND NNN>MMM AND NNN>LLL and ref(CLOSE>MMM,1) and ref(CLOSE>MMM,2) and ref(CLOSE>MMM,3) and  mark>=0 then
begin
sellshort(1,holding,MARKET);
buy(holding=0,ss,MARKET);  
end



if VAR1A AND NNN<MMM AND NNN<LLL  AND ref(CLOSE<MMM,1) AND ref(CLOSE<MMM,2) AND ref(CLOSE<MMM,3) and mark<=0  then
begin
sell(1,holding,MARKET);
buyshort(holding=0,ss,MARKET);
end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 18:42 , Processed in 0.258517 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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