以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  不止盈请问程序哪出问题了  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=171837)

--  作者:我心飞翔
--  发布时间:2019/8/28 23:54:40
--  不止盈请问程序哪出问题了
前十几分钟发了个贴问了问题,退出后发现再也进不去哪个问题,所以不好意思只有再问一次。

部分程序代码如下:

{参数设定}
VARIABLE:HIGHPRICE:=0;
TURN:=SARTURN(20,1,20);
.
.
.
IF TURN=1 THEN BEGIN
   BUY(1,1,MARKET);
   HIGHPRICE:=OPEN;
END
.
.
.
{止盈}
IF HOLDING>0 THEN BEGIN
   IF HIGH>HIGHPRICE THEN BEGIN
      HIGHPRICE:=HIGH;
   END
   {盈利超过30点后最高价回撤50%止盈}  
   IF (HIGHPRICE-AvGENTERPRICE)>=30 THEN BEGIN
      IF (HIGHPRICE-CLOSE)>0.5*(HIGHPRICE-AvGENTERPRICE) THEN BEGIN
         SELL(1,0,MARKET);
      END
   END
.
.
.
刚才我的甲醇01合约(运行在”15分钟K线,走完K线模式“下)最高到了2174点(01:30这根K),后回落到2151点(03:00这根K),而我的开仓均价为2141,按点数符合止盈条件,可程序却没有止盈,请问程序哪写得不对?

--  作者:wenarm
--  发布时间:2019/8/29 8:44:17
--  

你说的开仓均价2141是你账号栏的均价吧。

你输出你的止盈条件和因子值,在k线图上对应的位置看下就知道了。图表都是根据历史k线计算的。

 

注:你策略确认时加仓模式?是的话,你HIGHPRICE:=OPEN;在每次开仓有都会被打断从新记录。

 

[此贴子已经被作者于2019/8/29 9:06:58编辑过]

--  作者:我心飞翔
--  发布时间:2019/8/29 9:12:11
--  
老师您认为是2141不准确的原因?2141是我真实帐户里的开仓均价,最近两天没有加新仓。
--  作者:我心飞翔
--  发布时间:2019/8/29 9:16:07
--  
HIGHPRICE:=OPEN;这句话我的本意是用最新加仓的那根k线的开盘价作为比较的基准。这样合适不?
--  作者:FireScript
--  发布时间:2019/8/29 9:45:31
--  
 
 “老师您认为是2141不准确的原因?2141是我真实帐户里的开仓均价,最近两天没有加新仓。 ”  图表上不是按照实际持仓的价格去进行止盈止损的。它是按照开仓K位置上的价格进行止盈止损的。

也就是说(HIGHPRICE-avGENTERPRICE)>=30 这种计算 这里的avGENTERPRICE并不是2141 这个实际持仓均价,另外你如果还有其他开仓加仓的代码avGENTERPRICE 的返回值也会受到影响的。 所以最好在图表上把这些判断都输出出来,这样看得比较直接点。


另外建议你简单描述下你的思路,这样方便我们判断。


--  作者:我心飞翔
--  发布时间:2019/8/29 10:45:00
--  
谢谢老师,我知道问题出在哪了.