以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 案例中,空单始终监控开始后的最低价,如何处理 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=166241) |
-- 作者:wjxkjs -- 发布时间:2018/10/31 14:12:44 -- 案例中,空单始终监控开始后的最低价,如何处理 VARIABLE:DD=0; VARIABLE:KK=0; //移动止损模块部分******************************* //A有三种数值状态:1,0,最新价; //当A=1时表示当前有持仓,A=0时表示移动止损执行完毕,A=最新价时用于比较价格是否回落 //将A赋值为1,表示当前有持仓 IF TBUYHOLDINGEX( \'\',\'\' ,1)>0 AND EXTGBDATA(\'DD\' )=0 THEN BEGIN EXTGBDATASET( \'DD\',1 ); END //使A始终表示监控开始后的最高价 IF DYNAINFO( 7)>EXTGBDATA(\'DD\' ) and EXTGBDATA(\'DD\' )>0 THEN BEGIN EXTGBDATASET( \'DD\',DYNAINFO(7)); END //发现价格回落止损,并将A赋值为0表示移动止损动作完成 IF EXTGBDATA(\'DD\' )-DYNAINFO( 7)>5*MINDIFF and EXTGBDATA(\'DD\' )>0 THEN BEGIN TSELL(1t=-1 AND 多头持仓>0,1,MKT ); EXTGBDATASET( \'DD\',0); END //******************************
|
-- 作者:FireScript -- 发布时间:2018/10/31 14:32:13 -- VARIABLE:DD=0; VARIABLE:KK=0; IF TSELLHOLDINGEX( \'\',\'\' ,1)>0 AND EXTGBDATA(\'DD\' )=0 THEN BEGIN EXTGBDATASET( \'DD\',1 ); END //使A始终表示监控开始后的最低价 IF DYNAINFO( 7)<EXTGBDATA(\'DD\' ) and EXTGBDATA(\'DD\' )>0 THEN BEGIN EXTGBDATASET( \'DD\',DYNAINFO(7)); END //发现价格回落上涨,并将A赋值为0表示移动止损动作完成 IF DYNAINFO( 7)-EXTGBDATA(\'DD\' )>5*MINDIFF and EXTGBDATA(\'DD\' )>0 THEN BEGIN TSELLshort(1t=-1 AND 空头持仓>0,1,MKT ); EXTGBDATASET( \'DD\',0); END [此贴子已经被作者于2018/10/31 14:33:03编辑过]
|
-- 作者:wenarm -- 发布时间:2018/10/31 14:34:23 -- 你说的的空单指的是没有持仓还空头持仓。 持仓为0的情况下,不会记录最高价的。它记录的原则是,持仓以后的最高价。 如果是空头的处理,你这段代码是多头的处理逻辑,吧空头的贴出看 [此贴子已经被作者于2018/10/31 14:35:34编辑过]
|
-- 作者:wjxkjs -- 发布时间:2018/10/31 14:35:22 -- 好像不对。第一个IF后,DD的值应该是1啊,第二个IF的条件不会触发 |
-- 作者:FireScript -- 发布时间:2018/10/31 14:39:40 -- 第一个IF之后 DD已经赋值成1了啊。EXTGBDATA(\'DD\' )>0 肯定满足的。 |
-- 作者:wjxkjs -- 发布时间:2018/10/31 15:08:44 -- 最新价,小于1不会出现啊F TSELLHOLDINGEX( \'\',\'\' ,1)>0 AND EXTGBDATA(\'DD\' )=0 THEN BEGIN EXTGBDATASET( \'DD\',1 ); END //使A始终表示监控开始后的最低价 IF DYNAINFO( 7)<EXTGBDATA(\'DD\' ) and EXTGBDATA(\'DD\' )>0 THEN BEGIN EXTGBDATASET( \'DD\',DYNAINFO(7)); END |
-- 作者:banzhuan -- 发布时间:2018/10/31 15:18:31 -- 1、DD初始值为0, 当 TSELLHOLDINGEX( \'\',\'\' ,1)>0 AND EXTGBDATA(\'DD\' )=0 后,赋值为1了 ; 您的疑问是什么? |
-- 作者:wenarm -- 发布时间:2018/10/31 15:45:49 -- 看你代码中的注释,DD代码3中情况,其中两种是状态以及最高价,你可以先理解下代码的处理逻辑、dd在不同情况下,其作用不同。 //当A=1时表示当前有持仓,A=0时表示移动止损执行完毕 |
-- 作者:wjxkjs -- 发布时间:2018/10/31 23:12:25 -- F TSELLHOLDINGEX( \'\',\'\' ,1)>0 AND EXTGBDATA(\'DD\' )=0 THEN BEGIN EXTGBDATASET( \'DD\',1 ); END //使A始终表示监控开始后的最低价 IF DYNAINFO( 7)<EXTGBDATA(\'DD\' ) and EXTGBDATA(\'DD\' )>0 THEN BEGIN EXTGBDATASET( \'DD\',DYNAINFO(7)); END 第一个if DD肤质了1,怎么可能出现最新价小于1的情况????
|
-- 作者:wenarm -- 发布时间:2018/11/1 8:27:00 -- VARIABLE:DD=0; VARIABLE:KK=0; IF TSELLHOLDINGEX( \'\',\'\' ,1)>0 AND EXTGBDATA(\'DD\' )=0 THEN BEGIN
//使A始终表示监控开始后的最低价
//发现价格回落上涨,并将A赋值为0表示移动止损动作完成
这样就行了。 |