以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  循环语句怎么写?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=162749)

--  作者:qq代人发帖
--  发布时间:2018/4/13 13:24:26
--  循环语句怎么写?
请教:循环语句怎么写?
定义A默认为0,条件1成立时,A=当前价,当前价上升时A=当前价,当前降下来时,A不变保存条件满足时的最高价
有点像K线中的high,但不能直接用high不然在K线有上下影线的时候满足条件时,就会直接读其最高价了,
但实际,满足条件后当前价没有升到那么高
[此贴子已经被作者于2018/4/13 13:25:04编辑过]

--  作者:FireScript
--  发布时间:2018/4/13 13:32:10
--  
 VARIABLE:m:=0;

if condA and c>m then m:=c;

全局变量就可以实现 了。

--  作者:wenarm
--  发布时间:2018/4/13 13:38:32
--  

1.这种压根不需要用到for循环。如果把k线和k线之前的关系看做横向的,那么for循环就是纵向的。策略在k线的横向上不断循环运行,你纵向的for的结果就是每根k线最终结果。

2.“当前价上升时A=当前价,当前降下来时,A不变保存条件满足时的最高价有点像K线中的high,”

这句话就是取其最高值,k线做成的原则,就是当前价格(最新价),在k生成时,如果当前价格超过当根k的最高价,那么当前k线的最高价就户被更新掉。这种k线生成的过程交易者应该比较清楚。

 

 


--  作者:小飞哥
--  发布时间:2018/4/13 14:40:11
--  
 回复FireScript:
VARIABLE:m:=0;
if condA and c>m then m:=c;
这个我试过了不行,C在下降的时候M也跟着在下降,并没有停在条件成立后的最大C上
还请帮忙告知一下循环函数的简单用法我看赋值两次以上能不能达到这个效果,我好自己研究一下,谢谢!

回复wenarm:
如果是K线与K线之间的对比,这个我知道怎么写,现在是在K线中途达成条件,比如现在K线最高价为100,最低价50,当前价为75,如果直接取H的值,当条件达成后最高价就直接变成100,但是75成立之但没有上升至100,我能想到的就循环函数附值多次看能否达到这个效果!谢谢!

--  作者:FireScript
--  发布时间:2018/4/13 14:45:18
--  
 
图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

你看。我这个m值(用q输出的)就保持在c>o条件成立的最大c值上。

--  作者:wenarm
--  发布时间:2018/4/13 14:57:33
--  

比如现在K线最高价为100,最低价50,当前价为75,如果直接取H的值,当条件达成后最高价就直接变成100,但是75成立之但没有上升至100,我能想到的就循环函数附值多次看能否达到这个效果!谢谢!

你要知道,在最高价是第一次出现100时,你的当前价也是100,随着行情的获取,下一个新的行情75 把当前价100替换了。但是因为其75不在在最高价和最低价之间,所以最高价和最低价没有被更新。

按你的意思,你直接用close好了,每根k线的最终收盘价就是这根k当时最后的当前价。

 

而且你这种透过赋值的结果,在k线上看就是最终的最高价,k线最终也不过4个值,压根也体现不出来其k线在生成过程中的变化。

从变量角度看,pel的序列变量也是依据k线的方向计算的,就像你在一根k上for i to 5 then i:=i+1;其最终计算的结果就是最后的值,你在一根k线上进行这种无意义的循环。(在金字塔的运行机制中,循环的使用一个是用于其中一根k的值和其它k逐个比较的。)

 


--  作者:小飞哥
--  发布时间:2018/4/13 15:05:40
--  
回复FireScript:
你这个是对比历史数值,而且C与O之间对比结果答案不是C就是O,
如果用下面这个来测试,手动点一单多,然后就开始执行下面的语句了,C在达成条件后上升了再上降,M也跟着下降了,当然THOLDING是后台函数,这里只是假设,意思是说在K线中途成立的条件,就是在K线的开盘以后收盘以前达成的条件,此时才开始记录C的最大值!如果是按收盘了的C那就没有必要这么对比了!

VARIABLE:m:=0;
if THOLDING>0 and c>m then m:=c;
Q:m;

--  作者:wenarm
--  发布时间:2018/4/13 15:11:16
--  
建议你先理解金字塔的策略和k线之间的机制问题后,再想这些问题,就好理解了。
--  作者:小飞哥
--  发布时间:2018/4/13 15:22:44
--  
回复wenarm
你这个建议等于没说呀,难道我刚说的问题,你能写的出来?我了解金字塔有很多不能达成的问题,但我都花了很常时间解决了,比如手动下的单也能跟着图表执行条件止损,现在只是最后一道难题,记录手动单成立后的最高价来写移动止盈

--  作者:wenarm
--  发布时间:2018/4/13 15:23:25
--  

抱歉,能力有限实现不了。先不说前面for循环机制问题。

图表能直接对实际仓位进行平仓是因为,图表中的信号触发了动作。这个算是正向的操作的话。图表的机制就是一个不可逆的操作。根本不能自动记录手工处理仓位的值。

 

如果你想手工干预这种方式,只能用后台,并且是通过后台监控进行的手工干预

 

[此贴子已经被作者于2018/4/13 15:37:37编辑过]