avglength(40),atrlength(40),ss(10,10,100,10)
avglength是否是三价均线参数?后面带的(40)该如何理解?如果换成(20)呢?
atrlength是否是真实波幅参数?后面带的(40)该如何理解?如果换成(20)呢?
ss定义为手数,后面的(10,10,100,10)分别该如何理解?
if holding>0 then begin//若持有多单
if 加多仓条件 then//且满足加多条件
buy(10,10);//加多单
end
以上语法是否正确?(10,10)是否理解为(默认10手,10手)
若不正确,想写“若持有多单,且满足加多条件,加多单(X手)”该如何写?谢谢各位大神!!
1.avglength(40),atrlength(40),ss(10,10,100,10)
这个是不完整的代码吧?

此主题相关图片如下:temp.png

正常应该是这种形式的,是用input定义的,这其实就是几个参数而已。至于是不是你说的三均价参数得看你后面代码怎么用得这个参数了。
“ss定义为手数,后面的(10,10,100,10)分别该如何理解?” 这个你看下input的函数说明。
申明并设置参数
语法:
INPUT:PNAME1(DFT,MIN,MAX,STEP),PNAME2(DFT,MIN,MAX,STEP)...;
PNAME表示参数名, DFT表示缺省值
MIN表示最小值,MAX表示最大值
STEP表示优化步长,除DEFAULT外都可省略
例如:
INPUT:N(5), M(10,1,100,2);
表示定义参数N,缺省值为5
定义参数M,缺省值为10,最小值为1,最大值为100,优化步长为2
所属函数组:控制语句
2.
“ buy(10,10);//加多单”
buy第一个参数是下单条件(0或1,或者能返回0或1的变量),第二个参数是下单手数。具体看下buy函数说明,里面有解释啊,鼠标在函数上停留下就能看到函数说明了,或者在函数上右键-定位到参考位置。
3.
buy(holding>0 and 加仓条件,x,market);//若持有多单,且满足加多条件,加多单(X手)
感谢FireScript大神的耐心讲解,仍想进一步请教:
1.
RUNMODE:0;
//中间变量
INPUT:AVGLENGTH(40),ATRLENGTH(40),SS(1,1,10000,1);//定义参数值
MA1:=REF(MA((HIGH+LOW+CLOSE)/3,AVGLENGTH),1);//定义MA1
手数:=ss;
//交易条件
以上是金字塔软件中肯特纳系统示范模型,是否完整?
2.
INPUT:N(5), M(10,1,100,2);
N(5)与后面的M(10,1,100,2)两者是什么关系?还是无关系,只是对不同的参数进行定义?
表示定义参数N,缺省值为5
定义参数M,缺省值为10,最小值为1,最大值为100,优化步长为2
所属函数组:控制语句
假设M为手数,那么是否理解为(默认10手,最小1手,最大100手,优化步长2)优化步长该如何理解呢?
3.
“ buy(10,10);//加多单”
buy第一个参数是下单条件(0或1,或者能返回0或1的变量),第二个参数是下单手数。具体看下buy函数说明,里面有解释啊,鼠标在函数上停留下就能看到函数说明了,或者在函数上右键-定位到参考位置。
看了函数说明了,是不是假设前句成立,则返回1,那么假设写"buy(1,10)"是否完整?可否理解为“ if 加多仓条件 then”(加多仓条件成立),返回1,买10手多?
4..
buy(holding>0 and 加仓条件,x,market);//若持有多单,且满足加多条件,加多单(X手)
可否理解为该句将如下三句浓缩:
if holding>0 then begin//若持有多单
if 加多仓条件 then//且满足加多条件
buy(1,x);//加多单
浓缩为:
buy(holding>0 and 加仓条件,x,market);//若持有多单,且满足加多条件,加多单(X手)
此处的market是否理解为按市价下单成交?
1.系统自带指标仅供参考。主要是作为写代码的范例。实际使用肯定是要自行调整和修改的。
2.N(5)这个是参数缺省了。N,M是分别定义的属于不同变量。
你定义好编译之后会发现是这样的:
此主题相关图片如下:temp.png

和N(5,5,5,1)没区别,
3.步长。如果参数最小值是1,步长是2.那么参数只能从最小的1开始依次为 1 3 5 7 9 ....。
4.
buy(1,10,markrt) 参数尽量完整,虽然这样编译也可以,加载也有信号,但是这只是程序多包容了下,没必要在不规范边缘游荡。以免出了问题不好排查。
5.是的,那段代码是简化过了。market的确是市价指令。
谢谢老师!还有个问题~
if holding>0 then begin//若持有多单
if exitlongcond then//且满足平多条件
sell(10,holding,limitr,min(open,ma1));//平多单
end
请问这样写规范吗?
或者说想写“若持多单,且满足平多条件,则将持有的多单全部抛出”该如何写?