Thursday, June 27, 2019

firefox:怎么避免“the connection is not secure" 提示?

about:config,
找到
security.insecure_field_warning.contextual.enabled;false
双击true变成false。

Thursday, June 20, 2019

小角掠射是什么

http://muchong.com/html/201005/1702365.html
小角掠射XRD分析
一、两种方式[1, 2]
1)In plane (平面内)
测量与样品表面近垂直的晶面(入射角度<1°),2θ单独连续扫描
2)Out of plane (平面外)
测量与样品表面近平行的晶面2θ/θ(2θ/ω)扫描(图略,见参考文献)
二、小角掠入射的特点
1)由于入射角很小,X射线和材料的作用区域较大,提高了X射线对表层信息检测的灵敏性,可以避免来自衬底的强烈信号,特别适合对于较薄的膜材料的结构分析;
2)通过改变不同的入射角,可以得到不同深度的结构信息;
3)当薄膜材料为无择优取向的多晶时,小角掠射衍射峰与常规的XRD衍射峰相同,分析方法亦相同;当薄膜材料中有一定的择优取向时,掠入射衍射峰就会和常规的XRD衍射峰不一样,将体现出择优取向的相关信息,如以上的两种方式分别可以得出于表面内的和垂直于表面方向的晶粒取向分布;当择优取向很强烈时,或材料为单晶时,衍射线只会在某些特定的方向出现[2](原则上不是很适合研究取向很强的材料)。

三、例子
1、检测表面信息,避免衬底信号
从下图[3]可以看出,使用常规XRD方法时,来自衬底的强大信号已经把薄膜的信号掩盖了,而使用GIXRD法可以敏感地测出薄膜的信息,规避衬底的干扰。
(图略,见参考文献)
2、检测不同深度的信息
通过计算不同入射角下X射线的穿透深度,可以通过控制掠射的角度得到不同深度的结构信息。给出一篇相关文献[4]。(图略,见参考文献)

3、择优取向的问题
1)有一定的择优取向[1]
(图略,见参考文献)
2)有较强的择优取向
孙柏等人[5]用常规XRD和小角掠射XRD分析ZnO薄膜,常规XRD衍射峰显示所制备的ZnO薄膜具有(002)择优生长取向,如图一。而GIXRD衍射峰中无来自衬底的信息,且出现的是(100)衍射峰,如图四。以上现象说明垂直于样品表面有(100)织构,而沿着薄膜生长方向为(002)取向。(图略,见参考文献)
 
用GIXRD研究择优取向问题其他相关的文献:[6-9]
参考文献
(注:有些文献是在GOOGLE上搜索的资料,如PPT等)
1.马礼敦, 神通广大的X射线粉末衍射与粉末衍射仪(PPT). 2008.
2.Cai, Y.F., et al., Surficial phase-identification and structural profiles from weathered natural pyrites: A grazing-incidence X-ray diffraction study. Applied Surface Science, 2009. 255(7): p. 4066-4073.
3.Craciun, Grazing Incidence X-ray Diffraction (GIXD)
4.Kotschau, I.M. and H.W. Schock, Depth profile of the lattice constant of the Cu-poor surface layer in (Cu2Se)(1-x)(In2Se3)(x), evidenced by grazing incidence X-ray diffraction. Journal of Physics and Chemistry of Solids, 2003. 64(9-10): p. 1559-1563.
5.孙柏, ZnO/α-Al2O3 界面结构的掠入射X 射线衍射研究. 核技术, 2009. 32(7).
6.Zhang, Y., et al., Crystal orientation in poly(ethylene 2,6-naphthalate) ultrathin films revealed by reflection-absorption infrared spectroscopy and grazing incidence X-ray diffraction. Surface Science, 2006. 600(7): p. 1559-1564.
7.Resel, R., et al., The epitaxial sexiphenyl (001) monolayer on TiO2(110): A grazing incidence X-ray diffraction study. Surface Science, 2006. 600(19): p. 4645-4649.
8.De Marco, R., et al., In situ synchrotron radiation grazing incidence X-ray diffraction - A powerful technique for the characterization of solid-state ion-selective electrode surfaces. Electrochimica Acta, 2006. 51(23): p. 4886-4891.
9.Craciun, TRANSPARENT AND CONDUCTING INDIUM TIN OXIDE THIN FILMS GROWN BY PULSED LASER DEPOSITION AT LOW TEMPERATURES. Journal of Optoelectronics and Advanced Materials, 2003. 5.

Tuesday, June 18, 2019

策略易,轻松实现程序化自动交易!

通用设置
交易帐户:帐户下拉选择框,选择当前的交易帐户;

商品选择:要进行交易的商品,先选择交易所,再选择商品代码,也可以通过点击键盘按钮进行快速设置,还可以直接从行情报价拖拉商品到本窗体上进行商品切换;

模板管理:点击该按钮显示模板管理的菜单,可以进行模板管理,模板选择等操作;

多空设置:点击多空字样按钮,进行多空选择;

单笔数量:每次行情触发时对该商品交易的数量;

最大仓位:最大的持仓数量;

委托间隔:设定分步开平仓的时间间距;

下单偏移:买入使用叫卖价,卖出使用叫买价,在这个基础上,为了保证成交,可增加一定的偏移值。

开仓设置
价格触发:类似于触发单,设定触发价格,但价格达到条件即进行交易;

区间限定:价格触发时为了降低成本,设定一个范围,只有当触发价格在这个范围内才进行交易;

盘口量限定:条件满足时,判断对应的买卖盘数量是否足够,只有当盘口数量大于等于设定值才进行交易;

开仓公式条件:一到三个开仓公式条件满足时,进行交易,关于公式条件的详细说明参见:公式条件。

风险控制
平仓基准价格:选择以什么价格作为平仓计算的基准价,可选择第一笔开仓价,或者所有开仓单的委托均价;

止损:设定止损跳数,当亏损大于等于设定值,即进行止损平仓;

止赢:设定止赢跳数,当盈利大于等于设定值,即进行止赢平仓;

跟踪止损:当盈利大于设定跳数时,启动跟踪止损,跟踪止损可以按照百分比或固定跳数进行设置。当盈利缩小到设定值,即进行平仓操作。

平仓设置
价格触发:类似于触发单,设定触发价格,但价格达到条件即进行交易;

定时平仓:当时间达到设定值,进行平仓操作;

盘口量限定:条件满足时,判断对应的买卖盘数量是否足够,只有当盘口数量大于等于设定值才进行交易;

平仓公式条件:一到三个平仓公式条件满足时,进行交易,关于公式条件的详细说明参见:公式条件。

状态监控
当前头寸:当前的持仓头寸;

盈利峰值价:开仓后盈利最大位置的价格,用于计算跟踪止损;

开仓均价:所有开仓单的委托均价;

第一笔开仓价:第一笔开仓单的委托价;

统计信息:累计的平仓次数,关闭窗体后清零;

更新:如果需要手工更改当前头寸,盈利峰值价,开仓均价或第一笔开仓价,修改后须点击更新按钮使设置生效;

重置开仓标志:在产生任何平仓动作之后,该按钮将会变为有效,如果不清除该标志,将不会再进行任何开仓动作;

启动、暂停:点击该按钮,即可启动策略易的监控,您可在中途暂停并进行参数修改。

公式条件
策略易的开仓和平仓各有三个条件,三个条件之间的关系可以设置为[条件相与]或者[条件相或],表示并且与或者的逻辑关系。

每一个条件由以下三部分组成:

左表达式:该表达式为一个字符串,我们称之为:条件关键字,通过该条件关键字和商品代码,可以唯一确定一个值;

逻辑关系:左右表达式进行条件判断的逻辑关系,有六种类型;>,>=,<,<=,==,<>;

右表达式:右表达式可以和左表达式一样,设置为一个条件关键字,还可以设置为一个数值,通过点击选择"V"和"K"图样的图标进行状态切换,当图标为"K"图样,表示右表达式为条件关键字,此时应该在编辑框输入一个字符串,当图标为"V"图样,表示右表达式为数值,此时需要在编辑框输入一个数字。

如上图的第一个公式开仓条件,表达的意思是当[M1_MA1]条件关键字的值大于[M1_MA2]条件关键字的值时,进行买入操作。即当1分钟周期的MA1均线大于MA2均线时,进行买入操作。

为了更直观的进行条件关键字的设置和公式编写,我们约定条件关键字的格式如下:周期_关键字,周期的值分别为T1,T10,M1,M5,M15,M30,M60,M240,D1,W1,MON1。表示从Tick到月线的各种周期。关键字为公式中取值的名字,您也可以根据自己的需求建立对应的编码规则。

为了配合策略易开仓条件功能的执行,我们需要配套的公式进行执行,对于上面的例子,我们需要将均线指标进行一些简单的修改,我们打开系统内置的MA指标,复制出其中的代码,新建一个新的指标为MAEx,粘贴MA的代码,增加一些新的代码,完整的代码如下:

Params
Numeric Length1(5);
Numeric Length2(10);
Numeric Length3(20);
Numeric Length4(30);
Vars
Numeric MA1;
Numeric MA2;
Numeric MA3;
Numeric MA4;
String strKey1;
String strKey2;
String strKey3;
String strKey4;
Begin
MA1 = AverageFC(Close,Length1);
MA2 = AverageFC(Close,Length2);
MA3 = AverageFC(Close,Length3);
MA4 = AverageFC(Close,Length4);
PlotNumeric("MA1",MA1);
PlotNumeric("MA2",MA2);
PlotNumeric("MA3",MA3);
PlotNumeric("MA4",MA4);

// 下面代码将均线值写入数据库,供策略易使用
strKey1 = BarTypeStr()+"_MA1";
strKey2 = BarTypeStr()+"_MA2";
strKey3 = BarTypeStr()+"_MA3";
strKey4 = BarTypeStr()+"_MA4";

SetTBProfileString(Symbol,strKey1,Text(MA1));
SetTBProfileString(Symbol,strKey2,Text(MA2));
SetTBProfileString(Symbol,strKey3,Text(MA3));
SetTBProfileString(Symbol,strKey4,Text(MA4));
End

上面公式用到了一个用户函数BarTypeStr,该函数按照前面我们叙述的规则自动获取当前的周期的字符串表达式。您可以自行建立该用户函数,返回值为字符串类型,详细代码如下:

Vars
String strKey;
String str1;
String str2;
Begin
if(BarType == 0)
{
str1 = "D";
}else if(BarType==1)
{
str1 = "M";
}Else if(BarType==2)
{
str1 = "T";
}else if(BarType==3)
{
str1 = "V";
}else if(BarType==4)
{
str1 = "W";
}else if(BarType==5)
{
str1 = "MON";
}
str2 = Text(BarInterval);
strKey=str1+str2;
Return strKey;
End

将上面的两个公式都编译成功之后,打开超级图表,选择对应的商品,设置为1分钟周期,插入MAEx指标,即可通过公式驱动策略易进行自动交易。

如果需要进行多个周期的公式计算并驱动策略易交易,您需要同时打开不同周期的超级图表,插入公式应用

Monday, June 17, 2019

文华财经程序语法

■ 自编公式支持的操作符:
  ⒈+操作符,表示“加法运算”。
  ⒉-操作符,表示“减法运算”。
  ⒊* 操作符,表示“乘法运算”。
  ⒋/ 操作符,表示“除法运算”。
     例如:
   CLOSE+OPEN表示求收盘价及开盘价的和。
   CLOSE-OPEN表示求收盘价及开盘价的差。
   CLOSE*OPEN 表示求收盘价及开盘价的积。
   CLOSE/OPEN 表示求收盘价及开盘价的商。

  ⒌&&(AND)操作符,表示“与运算”。
  ⒍||(OR)操作符,表示“或运算”。
  ⒎> 操作符,表示“大于运算”。
  ⒏< 操作符,表示“小于运算”。
  ⒐>=操作符,表示“大于等于运算”。
  ⒑<=操作符,表示“小于等于运算”。
  ⒒<>操作符,表示“不等于运算”。
  ⒓= 操作符,表示“等于操作符”。
    例如:
   CLOSE>OPEN表示判断当前周期是否收阳。
   CLOSE=OPEN表示判断当前周期是否平盘。

  ⒔:=操作符,表示定义一个局部变量(这个变量在画图时是不画的)。
  ⒕: 操作符,表示声明了一个变量,并且在画图时画出它并且按这个名字显示。
    例如:
   TMP1:=(OPEN+CLOSE)/2;
   MA(TMP1,10);
  上面的公式的第一个语句定义了一个局部变量TMP1,在下面一行中引用了这个局部变量,但是要注意的是这    个公式在画图的时候只画了第二条语句所求出的结果。
  相反下面这个公式则需要画出两条线,第一条是自己定义的均价线,同时显示了均价的名称为AVP,第二条线    是均价的简单移动平均线。
   AVP:(OPEN+CLOSE)/2;
   MA(AVP,10); 
 
  ■ 自编公式语法:
  1. 关于公式名称。公式的名称不可以和已经存在的公式重复。
  2. 关于参数。每个自编公式最多可以定义四个参数,参数的定义如下, 首先是参数名称,然后是参数    的     最小值,最大值,最后是参数的默认值。在定义参数时要注意的是参数名称不可以重复。
 3. 关于变量名称。变量名称不可以互相重复,不可以和参数名重复,不可以和函数名称重复。
 4. 关于公式内容。公式的每个语句应该以分号结束,包括最后一条语句。在数据公式的时候请您注意一 定要  使用半角输入。在编写公式的过程中,如果您不记得某个函数的确切写法,可以选择插入函数来插入函数。
 5. 如果您在编写公式之后,想给这个公式加上注释,说明之类的东西,可以使用公式说明来输入。
注:WH3的指标、策略模型编写不再支持If Else 的语句,条件语句支持IFELSE,具体用法请参考指标、策略模型逻辑判断函数语法列表。

Wednesday, June 5, 2019

Hide default context menu items in Firefox 57 and later using simpleMenuWizard

To remove entries from the context menu you need to
  1. Find your profile folder (profile names are different for everyone):
    Address bar > Enter about:support > Click Open Folder.
  2. Download this project and unzip it.
  3. Move userChrome.css and simpleMenuWizard into [...]\profile.folder\chrome\ directory.
    If chrome folder doesn't exist, create it.
    If userChrome.css already exists, do not overwrite and proceed here.
  4. Open userChrome.css with a texteditor for a general overview and some options.
  5. Open the simpleMenuWizard directory and edit each .css file (except beginning with opt_) to customize them to your needs.
    Activate option to remove menu item: Remove /* at the beginning of the line.
    Deactivate option to leave menu item: Add /* at the beginning of the line.
    Each file is for another context:
    • blank-context.css when right-clicking on a blank area or text
    • frame-context.css when right-clicking on an iframe
    • image-context.css when right-clicking on an image
    • input-context.css when right-clicking on an input-field
    • link-context.css when right-clicking on a link
    • main-hamburger.css when left-clicking on the three lines on top right
    • main-menubar.css when left-clicking on the main menubar (open with ALT key - file, edit, view, ...)
    • media-context.css when right-clicking on media like audio or html5 video
    • select-context.css when right-clicking on selected text or object
    • sidebar-context.css when right-clicking on items in bookmark- or history sidebar
    • sidebar-header.css when left-clicking the sidebar dropdown menu
    • source-context.css when right-clicking a blank area on view-source pages
    • tab-context.css when right-clicking on a tab
    • toolbar-context.css when right-clicking on toolbar or tabbar
    • urlbar-context.css when right-clicking on the addressbar
    • urlbar-pageaction.css when left-clicking the three dots in the addressbar
  6. Restart Firefox to make changes work.
Important notes:
  • All options are disabled by default, so if you don't edit the files, nothing will happen.
  • Items that appear in different contexts with the same ID will disappear in all those contexts when activated only once. This is because many menus internally share the same very big context menu and are separated here for more convenience.
    For specific problems please open an issue, there may be workarounds.

Hide Pocket / Sync / Screenshots

If you don't use either of those "internal addons" at all, you can just disable them, which will also remove their context menu entries everywhere.
How to do it: Set the respective value in about:config.
  • For Pocket, load about:config?filter=extensions.pocket.enabled into addressbar and switch to false.
  • For Sync, load about:config?filter=identity.fxaccounts.enabled into addressbar and switch to false.
  • For Screenshots, load about:config?filter=extensions.screenshots.disabled into addressbar and switch to true.

Using simpleMenuWizard together with other custom modifications

Easiest thing to do is renaming the userChrome.css that came with the zip package of simpleMenuWizard. Rename it to simpleMenuWizard.css and put it into chrome directory next to the already existing userChrome.css.
Open the old userChrome.css which is filled with foreign code and add @import url("./simpleMenuWizard.css"); to the very top. That's it!
You can now edit simpleMenuWizard.css for a general overview and some options or continue with step 5.

Uninstall simpleMenuWizard

Delete all the files and folders that came with this project.
So if you don't use other modifications, you can simply delete the whole [...]\profile.folder\chrome\ directory.