以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 请教自动添减开仓手数如何写? (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=164917) |
-- 作者:hsm822 -- 发布时间:2018/8/14 15:06:13 -- 请教自动添减开仓手数如何写? 我是后台日内自动交易程序,想要添加一个自动加减开仓手数的公式:当连续盈利时自动将开仓手数加倍。一旦出现亏损时将开仓手数降为1手。经电话咨询上海金字塔顾问,说是连续盈亏次数的表达式只能用在图表而后台则不能用。并让我在论坛上请教你们看看如何表述此意。拜托!请写下源代码,多谢! |
-- 作者:FireScript -- 发布时间:2018/8/14 15:41:46 -- 后台也有对应函数的,如下所示 TNUMSEQLOSS 连亏 TNUMSEQWIN 连盈 假设手数是ss ss:5;//手数 if TNUMSEQLOSS>=3 then ss:=1;//连亏三次 手数重设为1 if TNUMSEQWIN>=3 then ss:=3*ss;//连赢3次,开仓手数乘3
|
-- 作者:hsm822 -- 发布时间:2018/8/14 18:06:36 -- 请教:若日内交易,该品种尚未有任何成交时,TNUMSEQLOSS是=0 吗? 那 TNUMSEQWIN此时是否也=0? |
-- 作者:yukizzc -- 发布时间:2018/8/15 8:49:20 -- 你开仓和平仓是分开来两个策略,必须按照我另一个贴中和您说的 用全局变量ini文件去做中间转换,没有其他办法 ini文件就好比运输车,用来传递你两个策略之间的货物 |
-- 作者:FireScript -- 发布时间:2018/8/15 8:54:22 -- 如果没有成交肯定是返回0的。 |
-- 作者:hsm822 -- 发布时间:2018/8/15 9:08:12 -- 请您指教, 以下这个写法有何不对的地方?(kcss是指开仓手数)此公式放在开仓公式内。是否可以不用全局变量啦? if tnumseqwin>=1 and tnumseqwin<=2 then KCSS:=tnumseqwin*2 ; if (tnumseqloss>=0 or tnumseqwin>=3) then KCSS:=1; 若日内尚无成交时,若首次开仓只能是1手。 这么写有哪点错误?
|
-- 作者:FireScript -- 发布时间:2018/8/15 9:15:32 -- 上面代码你是想实现什么思路呢? 我只能从你想要实现的思路去判断代码是否有偏差。 |
-- 作者:hsm822 -- 发布时间:2018/8/15 10:14:49 -- 我是后台日内多品种自动交易程序,想要添加一个自动加减开仓手数的公式:当连续盈利时自动将开仓手数加倍。一旦出现亏损时将开仓手数降为1手。当日内尚未开仓时,若首次开仓,则开仓手数为1手。以下写的有哪点不对,为什么?多谢费心指教!! if TNUMSEQWIN>=1 then ss:=2*TNUMSEQWIN; if TNUMSEQLOSS>=0 then ss:=1; |
-- 作者:FireScript -- 发布时间:2018/8/15 10:39:34 -- ss:=1;//必须有一个初始定义才行 if TNUMSEQWIN>=1 then ss:=2*TENTERVOL; //利用了一个上次开仓量函数。
if TNUMSEQLOSS>=0 then ss:=1; |
-- 作者:hsm822 -- 发布时间:2018/8/15 11:25:40 -- 您使用上次开仓量函数TENTERVOL(ss:=2*TENTERVOL;),那若上次开仓量是亏损,怎么办?它能自动鉴别上次是连续赢还是连续亏吗? |