Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:案例中,空单始终监控开始后的最低价,如何处理

1楼
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
//******************************
2楼
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编辑过]
3楼
wenarm 发表于:2018/10/31 14:34:23

你说的的空单指的是没有持仓还空头持仓。

持仓为0的情况下,不会记录最高价的。它记录的原则是,持仓以后的最高价。

如果是空头的处理,你这段代码是多头的处理逻辑,吧空头的贴出看

[此贴子已经被作者于2018/10/31 14:35:34编辑过]
4楼
wjxkjs 发表于:2018/10/31 14:35:22
好像不对。第一个IF后,DD的值应该是1啊,第二个IF的条件不会触发
5楼
FireScript 发表于:2018/10/31 14:39:40
 第一个IF之后 DD已经赋值成1了啊。EXTGBDATA('DD' )>0  肯定满足的。
6楼
wjxkjs 发表于:2018/10/31 15:08:44
最新价,小于1不会出现啊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
7楼
banzhuan 发表于:2018/10/31 15:18:31
1、DD初始值为0, 当 TSELLHOLDINGEX( '','' ,1)>0 AND EXTGBDATA('DD' )=0 后,赋值为1了 ; 您的疑问是什么?
8楼
wenarm 发表于:2018/10/31 15:45:49

看你代码中的注释,DD代码3中情况,其中两种是状态以及最高价,你可以先理解下代码的处理逻辑、dd在不同情况下,其作用不同。

//当A=1时表示当前有持仓,A=0时表示移动止损执行完毕

9楼
wjxkjs 发表于:2018/10/31 23:12:25
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的情况????
10楼
wenarm 发表于:2018/11/1 8:27:00

VARIABLE:DD=0;  VARIABLE:KK=0;

IF TSELLHOLDINGEX( '','' ,1)>0 AND EXTGBDATA('DD' )=0 THEN BEGIN
EXTGBDATASET( 'DD',DYNAINFO(  7) );//或者你把这个值赋值为一个比较大的值,例如999999
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

 

这样就行了。

共10 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.03711 s, 2 queries.