欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 后台程序化交易的手数设置

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3803人关注过本帖树形打印复制链接

主题:后台程序化交易的手数设置

帅哥哟,离线,有人找我吗?
zj564335
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:20 积分:0 威望:0 精华:0 注册:2020/1/7 15:06:22
后台程序化交易的手数设置  发帖心情 Post By:2020/1/10 9:22:10    Post IP:119.137.55.242[只看该作者]

 同一个模型,我想不同品种的手数设置不同,这个要怎么进行 

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/1/10 9:24:48    Post IP:180.169.30.6[只看该作者]

 把手数设置成参数。
INPUT函数就行了。
但是你依然还是要设置多个后台预警才行。每个预警单独修改INPUT参数。
[此贴子已经被作者于2020/1/10 9:43:22编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
zj564335
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:20 积分:0 威望:0 精华:0 注册:2020/1/7 15:06:22
  发帖心情 Post By:2020/1/10 10:58:17    Post IP:119.137.55.242[只看该作者]

这个模型你帮我修改一下,白银2005合约,下5手;另外原油2003合约,下1手,应该怎么修改;


 回到顶部
帅哥哟,离线,有人找我吗?
zj564335
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:20 积分:0 威望:0 精华:0 注册:2020/1/7 15:06:22
  发帖心情 Post By:2020/1/10 10:58:59    Post IP:119.137.55.242[只看该作者]

 B1:=MA(C,150);
MID:=MA(CLOSE,140);
TMP2:=STD(CLOSE,140);
TOP:=MID+2*TMP2;
BOTTOM:=MID-2*TMP2;


N1:=BARSLAST(DATE<>REF(DATE,1))+1;
N:HHV(N1,300);
HH:REF(HhV(MA((O+H)/2,5),3*N),1);
LL:REF(LlV(MA((O+L)/2,5),3*N),1);
BSK:(HH/LL)*1000<2040;
QQ1:=CROSS(C,TOP) and BSK and C>B1 and C>HH;
PP1:=CROSS(MID,C)||(C<HHV(H,ENTERBARS+2)-ENTERPRICE*0.012);
QQ2:=CROSS(BOTTOM,C) and BSK and C<B1 and C<LL;
PP2:=CROSS(C,MID) OR (C>LLV(L,ENTERBARS+2)+ENTERPRICE*0.012);

IF HOLDING=0 and QQ1 THEN BUY(1,10,MARKET);//多空持仓为0并且最高价与前K线HH金叉,做多10手。
IF HOLDING=0 and  QQ2 THEN BUYSHORT(1,10,MARKET);//多空持仓为0并且最低价与前K线LL死叉,做空10手。



IF HOLDING>0 and PP1 THEN SELL(1,HOLDING,MARKET);//多头持仓大于0并且满足M点止损条件,多单全平。
IF HOLDING<0 and PP2 THEN SELLSHORT(1,HOLDING,MARKET);//空头持仓大于0并且满足M点止损条件,空单全平。

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2020/1/10 11:11:00    Post IP:180.169.30.6[只看该作者]

最前面加上INPUT : N(1,1,100,1) ;//手数1到100,默认为1手

 

 

然后吧代码中的下单函数的第二个参数改成N.

例如:

buy(..,N,....) ;

sell(..,N,....) ;

 

 

这样下单手数就可以变成可调节的。只需要将公式加载到对应的窗格后,在该窗格上的公式名称右键,“调整参数”设置当前品种N的值就行了。

[此贴子已经被作者于2020/1/10 11:14:56编辑过]


编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/1/10 11:11:59    Post IP:180.169.30.6[只看该作者]

参考这里的14楼。
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=173894&authorid=0&page=0&star=2

这个问题之前已经回复过了的。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/1/10 11:13:42    Post IP:180.169.30.6[只看该作者]

就2个步骤:
1.手数设置成可修改的参数
2.建立多个框架。每个框架单独设置周期,品种。指标加载上去后再修改手数参数即可:
类似下面这样
2个品种 下面手数一个10,一个8

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


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/1/10 11:15:06    Post IP:180.169.30.6[只看该作者]

还有就是你上面的代码是图表程序化的,并非你说的后台程序化的代码。图表和后台是2种程序化的方式,代码上并非完全通用。还请注意下。


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
zj564335
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:20 积分:0 威望:0 精华:0 注册:2020/1/7 15:06:22
文华代码翻译成金字塔  发帖心情 Post By:2020/1/10 13:49:23    Post IP:119.137.55.242[只看该作者]

VAR0:=EMA(C,14);
VAR2:=EMA(C,31) ;
MA240:= EMA(C,240);
CONDITION1:=CROSS(VAR0,VAR2);
CONDITION2:=CROSS(VAR2,VAR0);
 
BKX:=IF(CONDITION1,BARPOS,REF(BKX,1));
BKA:=IF(CONDITION2,BARPOS,REF(BKA,1));

CONDITION3:=CONDITION1 AND BKX>BKA AND  BKX>0 AND BKA>0 AND BARPOS>0;
VAR3SS:=HHV(H,(BKX-BKA)+1);
VAR3:IF(CONDITION3,VAR3SS,REF(VAR3,1));

CONDITION4:= CONDITION2  AND BKA>BKX AND BKX>0 AND BKA>0 AND BARPOS>0; 
VAR4SS:=LLV(L,(BKA-BKX)+1);
VAR4:IF(CONDITION4,VAR4SS,REF(VAR4,1));

MIDE:=MA(CLOSE,30); 
TMP2 := STD(CLOSE,100);
TOP : MIDE + 0.2*SQRT(30)*TMP2; 
BOTTOM : MIDE- 0.2*SQRT(30)*TMP2;

BOLT:=(TOP/BOTTOM)*1000<1030;

CONDITION5:= VAR0>VAR2 AND C>VAR3 ;
CONDITION5>0 AND MA(C,100)>MA240 &&BOLT && C>TOP,BK;

CONDITION6:= VAR0<VAR2 AND  VAR4>C;
CONDITION6>0 AND MA(C,100)<MA240 &&BOLT && C<BOTTOM,SK;

C<=BKPRICE-0.01*BKPRICE||C<=HHV(H,BARSBK+1)-0.015*BKHIGH,SP;
C>=SKPRICE+0.01*SKPRICE||C>=LLV(L,BARSSK+1)+0.015*SKLOW,BP;

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/1/10 14:29:23    Post IP:180.169.30.6[只看该作者]

 
VAR0:=EMA(C,14);
VAR2:=EMA(C,31) ;
MA240:= EMA(C,240);
CONDITION1:=CROSS(VAR0,VAR2);
CONDITION2:=CROSS(VAR2,VAR0);
 
BKX:=VALUEWHEN(CONDITION1,BARPOS);
BKA:=VALUEWHEN(CONDITION2,BARPOS);

CONDITION3:=CONDITION1 AND BKX>BKA AND  BKX>0 AND BKA>0 AND BARPOS>0;
VAR3SS:=HHV(H,(BKX-BKA)+1);
VAR3:VALUEWHEN(CONDITION3,VAR3SS);

CONDITION4:= CONDITION2  AND BKA>BKX AND BKX>0 AND BKA>0 AND BARPOS>0;
VAR4SS:=LLV(L,(BKA-BKX)+1);
VAR4:VALUEWHEN(CONDITION4,VAR4SS);

MIDE:=MA(CLOSE,30);
TMP2 := STD(CLOSE,100);
TOP : MIDE + 0.2*SQRT(30)*TMP2;
BOTTOM : MIDE- 0.2*SQRT(30)*TMP2;

BOLT:=(TOP/BOTTOM)*1000<1030;

CONDITION5:= VAR0>VAR2 AND C>VAR3 ;
IF CONDITION5>0 AND MA(C,100)>MA240 and  BOLT and C>TOP then buy(holding=0,1,market);

CONDITION6:= VAR0<VAR2 AND  VAR4>C;
if CONDITION6>0 AND MA(C,100)<MA240 and BOLT and  C<BOTTOM then buyshort(holding=0,1,market);

IF C<=ENTERPRICE-0.01*ENTERPRICE or C<=0.985*HHV(H,ENTERBARS+1)  THEN SELL(HOLDING>0,HOLDING,MARKET);
IF C>=ENTERPRICE+0.01*ENTERPRICE or C>=1.015*LLV(L,ENTERBARS+1) THEN SELLSHORT(HOLDING<0,HOLDING,MARKET);

供参考。


命数如织,当如磐石。
 回到顶部
总数 12 1 2 下一页