我是后台日内自动交易程序,想要添加一个自动加减开仓手数的公式:当连续盈利时自动将开仓手数加倍。一旦出现亏损时将开仓手数降为1手。经电话咨询上海金字塔顾问,说是连续盈亏次数的表达式只能用在图表而后台则不能用。并让我在论坛上请教你们看看如何表述此意。拜托!请写下源代码,多谢!
后台也有对应函数的,如下所示
TNUMSEQLOSS 连亏
TNUMSEQWIN 连盈
假设手数是ss
ss:5;//手数
if TNUMSEQLOSS>=3 then ss:=1;//连亏三次 手数重设为1
if TNUMSEQWIN>=3 then ss:=3*ss;//连赢3次,开仓手数乘3
你开仓和平仓是分开来两个策略,必须按照我另一个贴中和您说的
用全局变量ini文件去做中间转换,没有其他办法
ini文件就好比运输车,用来传递你两个策略之间的货物
请您指教, 以下这个写法有何不对的地方?(kcss是指开仓手数)此公式放在开仓公式内。是否可以不用全局变量啦?
if tnumseqwin>=1 and tnumseqwin<=2 then KCSS:=tnumseqwin*2 ;
if (tnumseqloss>=0 or tnumseqwin>=3) then KCSS:=1; 若日内尚无成交时,若首次开仓只能是1手。 这么写有哪点错误?
上面代码你是想实现什么思路呢? 我只能从你想要实现的思路去判断代码是否有偏差。
我是后台日内多品种自动交易程序,想要添加一个自动加减开仓手数的公式:当连续盈利时自动将开仓手数加倍。一旦出现亏损时将开仓手数降为1手。当日内尚未开仓时,若首次开仓,则开仓手数为1手。以下写的有哪点不对,为什么?多谢费心指教!!
if TNUMSEQWIN>=1 then ss:=2*TNUMSEQWIN;
if TNUMSEQLOSS>=0 then ss:=1;
ss:=1;//必须有一个初始定义才行
if TNUMSEQWIN>=1 then ss:=2*TENTERVOL; //利用了一个上次开仓量函数。
if TNUMSEQLOSS>=0 then ss:=1;