金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 曲全福

后台程序化

[复制链接]

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-12-27 14:22 | 显示全部楼层
需要看下交易日志,看是哪里触发的平仓动作呢。按理如果对篮子手动开仓,那也只会有开仓动作啊,不会触发成平仓啊。
截图202212271422171718.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2022-12-28 09:17 | 显示全部楼层
请问老师,后台程序化开的单子,我手动平仓,马上,后台又重开了单子,应如何避免后台再开单子
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2022-12-28 09:19 | 显示全部楼层
代码如前
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2022-12-28 09:26 | 显示全部楼层
如何能让后台像图表那样,只认第一个信号,忽略其它信号
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-12-28 09:33 | 显示全部楼层
后台是监控实际账户持仓的啊,你手动平了仓,那tholding就为0了,又满足了开仓条件,自然就开仓了。你人为干预持仓,是对策略运行有影响的啊。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2022-12-28 09:59 | 显示全部楼层
我有一些平仓条件无法量化,老师,可以在代码上实现上面的需求吗
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-12-28 10:02 | 显示全部楼层
那你是什么需求呢?是要即使手动平完仓位,也不要再开仓,等触发了策略的平仓条件后,才可以再次开仓?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2022-12-28 10:13 | 显示全部楼层
是的
回复

使用道具 举报

60

主题

193

帖子

193

积分

等级: 免费版

注册:
2021-7-30
曾用名:
 楼主| 发表于 2022-12-28 10:16 | 显示全部楼层
下面是代码


ss:=intpart(20000/(c*multiplier*taccount(41)));

a10:=jdma20>0.62 and jdupper>0 and jdma5>1 and h>upper and (c-ref(c,1))/ref(c,1)*100>=0.08 and (h-ref(c,1))/ref(c,1)*100>=0.12;

a21:=jdma20<=0 and jdma5<=0;
a22:=c<ref(l,tenterbars+1) and l<ma5;

tbuy(a10 and tbuyholding(1)=0 ,ss ,mkt);
if c<tenterprice then tsell(a22 ,tbuyholding(1) ,mkt);
if c<tenterprice then tsell(a21 ,tbuyholding(1) ,mkt);
if c>tenterprice then tsell(a21 ,tbuyholding(1) ,mkt);

b10:=jdma20<-0.62 and jdlower<-0 and jdma5<-1 and l<lower and (ref(c,1)-c)/c*100>=0.08 and (ref(c,1)-c)/c*100>=0.12 ;
b21:=jdma20>=0 and jdma5>=0;
b22:=c>ref(h,tenterbars+1) and h>ma5;

tbuyshort(b10 and tsellholding(1)=0 ,ss ,mkt);
if c>tenterprice then tsellshort(b22 ,tsellholding(1) ,mkt);
if c>tenterprice then tsellshort(b21 ,tsellholding(1) ,mkt);
if c<tenterprice then tsellshort(b21 ,tsellholding(1) ,mkt);
回复

使用道具 举报

0

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
gxx978
发表于 2022-12-28 10:21 | 显示全部楼层
本帖最后由 技术010 于 2022-12-28 10:23 编辑

那就不要用tholding来作为开仓条件的判断了,可以使用全局变量来控制,参考如下结构,例如:
globalvariable:kg=0;

ss:=intpart(20000/(c*multiplier*taccount(41)));

a10:=jdma20>0.62 and jdupper>0 and jdma5>1 and h>upper and (c-ref(c,1))/ref(c,1)*100>=0.08 and (h-ref(c,1))/ref(c,1)*100>=0.12;

a21:=jdma20<=0 and jdma5<=0;
a22:=c<ref(l,tenterbars+1) and l<ma5;

if a10 and kg=0 then begin
  tbuy(1 ,ss ,mkt);  kg:=1;
  end

if c<tenterprice then begin
   tsell(a22 ,tbuyholding(1) ,mkt);
   kg:=0;
   end
   
if c<tenterprice then begin
   tsell(a21 ,tbuyholding(1) ,mkt);
   kg:=0;
   end
   
if c>tenterprice then begin
   tsell(a21 ,tbuyholding(1) ,mkt);
   kg:=0;
   end

b10:=jdma20<-0.62 and jdlower<-0 and jdma5<-1 and l<lower and (ref(c,1)-c)/c*100>=0.08 and (ref(c,1)-c)/c*100>=0.12 ;
b21:=jdma20>=0 and jdma5>=0;
b22:=c>ref(h,tenterbars+1) and h>ma5;

if b10 and kg=0 then begin
   tbuyshort(1 ,ss ,mkt);
   kg:=1;
   end

if c>tenterprice then begin
   tsellshort(b22 ,tsellholding(1) ,mkt);
   kg:=0;
   end
   
if c>tenterprice then begin
   tsellshort(b21 ,tsellholding(1) ,mkt);
   kg:=0;
   end
   
if c<tenterprice then begin
   tsellshort(b21 ,tsellholding(1) ,mkt);
   kg:=0;
   end
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-29 19:00 , Processed in 0.116753 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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