金字塔决策交易系统

标题: 优化 [打印本页]

作者: 100020061    时间: 2023-8-9 10:22
标题: 优化
if 持仓最大盈利>=500  then 止损点数:=-500*0.1;
if 持仓最大盈利>=500*2  then 止损点数:=-500*0.1-500*1;
if 持仓最大盈利>=500*3  then 止损点数:=-500*0.1-500*2;  
if 持仓最大盈利>=500*4  then 止损点数:=-500*4*0.5;   

if 持仓最大盈利>=500*5  then 止损点数:=-500*4*0.5-500*1;   
if 持仓最大盈利>=500*6  then 止损点数:=-500*4*0.5-500*2;      
if 持仓最大盈利>=500*7  then 止损点数:=-500*4*0.5-500*3;   
if 持仓最大盈利>=500*8  then 止损点数:=-500*4*0.5-500*4;  

老师这个逻辑可以优化下吗  我把0.1 0.5设置成参数方便进行优化
原理就是没原理增加2000,取新的参数进行分配,每次参数取4个等级


作者: 100020061    时间: 2023-8-9 10:24
if 持仓最大盈利>=500  then 止损点数:=-500*0.1;
if 持仓最大盈利>=500*2  then 止损点数:=-500*0.1-500*1;
if 持仓最大盈利>=500*3  then 止损点数:=-500*0.1-500*2;  
if 持仓最大盈利>=500*4  then 止损点数:=-500*0.1-500*3;  
写错了  应该这样 下面也是这样才对
作者: 技术009    时间: 2023-8-9 10:26
持仓最大盈利/500  你对这个结果取整。比如结果是A。

止损点数:=-500*0.1-500*(A-1);
作者: 100020061    时间: 2023-8-9 10:34
技术009 发表于 2023-8-9 10:26
持仓最大盈利/500  你对这个结果取整。比如结果是A。

止损点数:=-500*0.1-500*(A-1);

if 持仓最大盈利>=500*A  then 止损点数:=-500*0.1-500*(A-1); 这样?
作者: 技术009    时间: 2023-8-9 10:46
你仔细看下我回复的内容好吧。
我让你做个除法取整。

A:INTPART(持仓最大盈利/500);
止损点数:=-500*0.1-500*(A-1);
作者: 100020061    时间: 2023-8-9 10:47
技术009 发表于 2023-8-9 10:46
你仔细看下我回复的内容好吧。
我让你做个除法取整。

我知道取整 我是说取整后的处理
if 持仓最大盈利>=500*A  then 止损点数:=-500*0.1-500*(A-1); 这样?

补充内容 (2023-8-9 10:47):
A>=2
作者: 技术009    时间: 2023-8-9 10:57
不需要再做判断了。止损点数 直接那一句代码就行了。


作者: 100020061    时间: 2023-8-9 16:17
技术009 发表于 2023-8-9 10:26
持仓最大盈利/500  你对这个结果取整。比如结果是A。

止损点数:=-500*0.1-500*(A-1);

老师问下  我在纯碱2401 调用纯碱2405的某个指标进行计算 类似这样的怎么处理
相当于每个品种当前的主力合约调用次主力合约的某个指标。次主力合约我自己算。那个跨周期函数里面要怎么写?
作者: 技术009    时间: 2023-8-9 16:22
跨指标调用 不是可以指定品种代码的嘛。  你直接指定就行了。跨指标调用 函数说明麻烦你看下,里面有指定品种代码的范例。
https://www.weistock.com/docs/PE ... 6%E5%85%AC%E5%BC%8F


作者: 100020061    时间: 2023-8-9 16:43
技术009 发表于 2023-8-9 16:22
跨指标调用 不是可以指定品种代码的嘛。  你直接指定就行了。跨指标调用 函数说明麻烦你看下,里面有指定品 ...

老师再问下  比如我这个次主力是05
STKINDI('OI05','p.P',0,3,0);
我用调用的方式调用到PP=05;
那我要把这个05输出未OI05  进行上面的引用 这段字符串的变换帮我写下吧··
当前是主力合约 我调用到PP=05; 我要合成次主力=OI05;达到下面的引用
STKINDI('OI05','p.P',0,3,0);
作者: 100020061    时间: 2023-8-9 18:20
100020061 发表于 2023-8-9 16:43
老师再问下  比如我这个次主力是05
STKINDI('OI05','p.P',0,3,0);
我用调用的方式调用到PP=05;

次主力代码:if(次主力月>9,STRREPLACE(STKLABEL,STRRIGHT(STKLABEL,2),NUMTOSTR(次主力月,0)),STRREPLACE(STKLABEL,STRRIGHT(STKLABEL,1),NUMTOSTR(次主力月,0)));
老师帮我看下 哪里有问题   次主力月 输出是具体的数字1-12;
白糖这里显示有问题  年份的问题吗?但是我这里只替换右边2个啊 跟前面没关系吧   另外玻璃 也右问题 不显示  不知道怎么的·
作者: 100020061    时间: 2023-8-9 18:26
技术009 发表于 2023-8-9 10:26
持仓最大盈利/500  你对这个结果取整。比如结果是A。

止损点数:=-500*0.1-500*(A-1);

是我这个>=9这里的问题,因为有的品种月份问题 怎么判断 单双位数,我的意思是9以下是单位数




欢迎光临 金字塔决策交易系统 (https://www.weistock.com/bbs/) Powered by Discuz! X3.4