交易员容易编码:建立自己的指标

渴望图表指示器尚不存在?为什么不自己写它?所有它所需要的就是知道您的ThinkScript®ABC。

https://tickertapecdn.tdameritrade.com/assets/images/pages/md/coding for Traders.
读了5分钟
照片由Getty Images

关键的外卖

  • 通过ThinkScift,普通的交易员可以创建自己的自定义图表和数据
  • 学习使用thinkScript进行技术分析、自定义数据和回测
  • 您还可以为您的TD AmerItrade移动应用程序脚本提醒

回到思想斯威姆的早期®,交易员们要求为他们的图表提供越来越多的技术研究和策略测试,每一种都有自己喜欢的格式和输入。最初,开发团队用平台相当复杂的编程语言单独编写了所有这些工具。这对业绩很好,但对于“从30天移动平均线中减去10天移动平均线”这样的简单想法来说就有点笨拙了。

今天,我们的程序员仍然为用户编写工具。但为什么不给交易者提供开发自己的工具的能力,使用简单的编码语言创建自定义图表数据?随着这个想法的这种闪电,Thinkscift出生了。

从那里,想法传播。而不是强制我们的平台和我们的用户使用预定义的所有图表,警报,扫描,订单,列 - 我们扩展了ChinkScript的自定义内容和格式的能力全部这些工具。如果您如此倾向,那么您可以使用全球定制。

据说,ThinkScript旨在为每个人直截了当,不仅仅是电脑瘾君子。像你这样的普通交易员可以学习足够的关于ThinkScript,以使我们的日常任务更轻松,少时间投资。在关闭贝尔,这篇文章是普通人。不是程序员。

让我们来哼哼

ThinkScript最常使用图表MarketWatch.标签。想想访问它同样添加技术研究,因为ThinkScript编辑器允许您在图表研究和引号页面内存中存在ThinkScript代码。

启动图表的脚本

  1. 单击“研究”按钮。
  2. 在打开的新窗口中选择“编辑研究”。
  3. 单击左下角的“创建”按钮。为默认ThinkScript代码打开ThinkScript编辑器(图1)。您可以删除该代码并开始键入您自己的代码。

TD Ameritrade的ThinkScript为思想WIMIM

图1:thinkScript编辑器在thinkkorswim图表。仅供说明。

请注意编辑器窗口右侧的ThinkScript命令和函数的菜单。这是一个具有每个函数的快速定义的thinkscript库。

启动引号脚本

  1. 在“MarketWatch”选项卡上,单击顶部菜单中的“引号”。
  2. 从引号页面中,单击右上角的小齿轮,或右键单击任何列标题(如“符号”)。
  3. 从下拉菜单中选择“自定义...”。
  4. 向下滚动“可用项”列表,然后单击其中一个“自定义”列。
  5. 双击滚动图标以打开图表上的相同Thinkscript编辑器窗口(图2)。
  6. 对于一个自定义引用,在完成代码编写后,单击“Apply”保存更改。然后点击“添加项目(s)”在自定义报价菜单上添加它到您选择的列集。对于一个定制图表研究,只需在完成编码时单击“确定”,您的新研究将自动应用于您所在的图表。单击“编辑研究”菜单上的“确定”退出。
请记住,您可以脚跟到您想要的任何内容(当然,在原因内)。要开始,让我们来看看你可能想要尝试的一些很酷的例子。

TD Ameritrade的ThinkScript为思想WIMIM

图2:一旦您在ThinkorSwim中脚本您的个人指标,您可以在图表中查看。此图表来自图1中的脚本。仅供说明。

1.技术指标:移动平均交叉

首先是最重要的,ThinkScript是为了解决技术分析。下面是图2中所示的移动平均交叉的代码,您可以在图表上看到10天和30天的简单移动平均值。按照上面描述的步骤进行图表脚本,然后输入以下内容:

Def tenday = reference simplemovingavg (length=10);
Def thirtyday = reference simplmovingavg (length=30);
绘图数据1 =倾向;
绘制Data2 =三十天;

嗯?让我们回过头来澄清一下术语。

  • def- 在ThinkScript中确定一些东西。它说:“定义命名为”倾向“的这件事作为引用”SimpleMovingavg“的研究,它使用10个数据。”“def”还将“三个星期日”定义为使用30个数据条的简单移动平均值。
  • 参考-a命令,将研究拉到您在ThinkScript中已编写的代码中。如您所知,开发人员已经创造了数百项研究。尽可能拯救自己的时间并使用“参考”。在这里,ThinkScift正在拉动一个名为“SimpleMovingavg”的研究。您可以在ThinkorSwim图表上找到“SimpleMovingavg”。一旦您找到一个学习,请在代码中引用它。在这个移动的普通交叉码中,“推点”正在讲述SimpleMovingavg的研究使用“长度= 10”这意味着在移动平均计算中使用10个价格标准。“长度= 30”告诉“三十天”简单的移动平均水平,使用30巴的价格数据。
  • 情节- 您已定义图表的内容,请使用“plot”命令显示它们。在这个移动的平均交叉中,我们绘制了两条线 - 一个10天的移动平均线和30天的移动平均水平。所以我们需要创建两个地块并称之为不同的东西。在这里,我们创建了“Plot Data1”和“Plot Data2”并告诉它们以显示我们刚定的内容。“绘图数据1 =倾向于”意味着“绘图命令将显示称为”DATA1“的信息,我们将上面定义为”趋势“。”“PLOT DATA2 =三十天”对30天的简单移动平均线进行同样的事情。

顺便说一下,在Chinkscript代码的每行结束时,您将注意到分号(“;”)。这告诉ThinkScript这个命令句子结束了。如果您在刚输入的代码上看到任何红色亮点,请仔细检查拼写和间距。该平台非常擅长突出代码中的错误。

通过一些练习和知识,您可以为此交叉研究添加各种定制颜色和样式,以微调您的体验,但现在不要担心。只学习足够的思考,让你开始。你会去邦克斯试图立即弄清楚它。

2.自定义波动率:IV百分位数

如果您希望当前当前不存在的选项数据作为平台功能,为什么不创建它?这是另一个方便的技巧:ThinkScript允许观看列表显示您创建自己的任何自定义列。您可能已经熟悉交易页面的“当前IV百分位数”在“当今的当今选项统​​计”部分中。该数字显示了股票期权的当前整体隐含波动性,相对于过去一年的高到低范围。但如果你想看到不同的时间框架的IV百分位,比如,三个月怎么样?(见图3.)

ThinkScript定制波动率百分位数
图3:自定义Vol百分位数。不想要12个月的波动?写一个剧本得到三个。仅供说明。

遵循上述引号脚本的步骤,输入以下内容:

def ivol = if!isnan(Imp_volatility)然后IvolatIve ily IVOL;
Def lowvol = low (vol,60);
def highvol =最高(ivol,60);
def currentvol = inm_volatility;
绘图数据=((CurrentVol - LowVol)/(HighVol - LowVol)* 100);

这个thinkScript代码定义了四种东西——“ivol”、“lowvol”、“highvol”和“currentvol”,并基于“imp_volatility”的值来定义它们。“imp_volatility”是一项研究,它提供给你平台的“Vol Index”数字,即股票期权的总体隐含波动率。如果一个符号的Vol索引不可用,则返回0。“lowest”和“highest”是对thinkScript进行排序,以找到过去60天内最低或最高的“ivvol”。“plot”命令使用我们定义的内容显示公式的结果。

您可以将“60”更改为范围内的任何数字。请记住,每个月大约有20个交易日,所以60个交易日大约是三个月。如果你想显示一个年的数字,请使用“262”,这大约是一年的交易日。控件上的这些步骤可以将其放入WatchList中MarketWatch.标签:

  1. 单击引号子组织。
  2. 单击“引号”选项卡的左上角单词“符号”左侧的点。
  3. 从下拉菜单中选择“自定义”。
  4. 打开“自定义引号”框时,单击“可用项”列表中的“自定义”选项之一。开启“自定义报价公式”框,您可以在其中单击ThinkScript编辑器选项卡并在代码中写入。R.emember到命名您的ThinkScript代码所以你可以将它添加到您的引号!您可以使用默认的“自定义”名称添加列和研究,但一旦您的收藏开始发展,良好的命名计划就会让它们更容易。

3.回溯

thinkScript也可以作为技术分析回测工具用于thinkorswim图表。有了这个功能,你可以看到技术信号产生的假设交易的潜在利润和损失。请记住,策略产生的市盈率价值不包括理论佣金成本。

用thinkscript重新开始

图4:使用thinkscript反馈。您可以将指标转换为策略。对于图1和2中的10日和30天移动平均值的脚本,例如,您可以绘制它们在给定时期交叉的次数。仅供说明。

参见图4。让我们回顾一下当10日移动均线高于30日移动均线时做多(购买股票或期权),当30日移动均线高于10日移动均线时做空(出售股票或期权)的策略结果。为此,我们可以回收图表研究中使用的一些旧代码,但是我们需要向代码条件中添加回测“BUY”和“SELL”交易。

要到达策略创建菜单并创建一个,请按照下列步骤操作:

  1. 右键单击图表,选择“研究”,然后选择“编辑研究”。
  2. 这次,单击左上角的“策略”选项卡。
  3. 接下来,点击左下角的“New”。当thinkScript Editor选项卡打开时,输入以下脚本:
    def sma10 =参考simpleemovingavg(长度= 10);
    Def sma30 =引用simplemovingavg(长度=30);
    AddOrder(OrderType.buy_auto,sma10> sma30,tickcolor = getcolor(6),arrowcolor = getColor(6));
    AddOrder(OrderType.sell_auto,sma10
  4. 给它一个明确的名字,比如voortavgross。
  5. 单击右下角的“确定”以关闭ThinkScript编辑器。
  6. 点击“申请”。

请注意图4中的图表上的购买和销售信号。要仔细右键单击其中一个图表的交易信号。然后,从下拉菜单中选择“显示报告”。ThinkScript代码通过“添加顺序”命令执行此操作。当“SMA10”小于“SMA10”小于“SMA30”时,此代码指定“Buy_auto”和“SMA30”和“SELL_AUTO”。他们一起创建了图表的假设购买和销售。ThinkScript还有开放和关闭买入订单的命令,以便您可以创建特定的测试方案。

“播音机”,“ArrowColor,”和“GetColor”是命令ThinkScript用于添加颜色以购买和销售信号。数字“5”和“6”分别参考红色和绿色。

奖金脚本:脚本警报

被绑在市场上并不意味着与您的计算机绑定。If you’re out and about, and don’t have time to watch the SPX on your TD Ameritrade mobile trading app, the alert functionality on the thinkorswim platform lets you write custom technical indicators and have messages sent to your phone or mobile device when the indicator reaches a certain level or value.

  1. 在“市场监视”选项卡上,单击“警报子台”,然后输入要监视的符号。
  2. 单击右上角的“学习警报”按钮。
  3. 当Study Alerts框打开时,单击“thinkScript编辑器”选项卡。
  4. 你将被呈现“SimpleMovingAvg()”开始你。如果你不想收到移动平均线的提醒,就删除它。但是作为一个例子,这是你要写的代码,当30天移动平均线移动到10天移动平均线之上时,你会收到警告。在“研究提醒”框中还有其他控件,比如顶部的“汇总”时段,可以让你选择当天、每日、每周或每月的数据。

如果ThinkScript研究的价值符合某些条件,还有“触发器,如果​​”下拉菜单会提醒您。单击右下角的“创建警报”按钮,您几乎已完成。

要确保您收到触发警报的消息:

  1. 单击平台右上角的应用程序设置。
  2. 单击“通知”子组织。
  3. 在“通知”列表中,选择“警报被触发”。
  4. 检查“警报设置”下的通知方法,如电子邮件或短信。你需要一个确认的电子邮件地址或电话号码来设置提醒通知,你可以在“通知”子标签的顶部做。

你有它。使用thinkscript获取警报,您永远不会再次错过交易信号!

好的,我们忍不住在最后一个脚本上有一点点令人讨厌,但我们只划伤了Thinkscript可以做的事情的表面。参观思想斯威姆学习中心有关所有可用的ThinkScript参数和预设研究的全面参考。如果您对自己的专有研究有一个想法,或者想要调整现有的学习,ThinkScift是关于最方便和最有效的方法。而且你可能会玩得开心。

打印

关键的外卖

  • 通过ThinkScift,普通的交易员可以创建自己的自定义图表和数据
  • 学习使用thinkScript进行技术分析、自定义数据和回测
  • 您还可以为您的TD AmerItrade移动应用程序脚本提醒

有关的影片

打电话给我们
800-454-9272

仅供教育/信息目的的内容。不是投资建议或任何安全,战略或账户类型的建议。

在尝试下任何贸易之前,请务必了解每个策略所涉及的所有风险,包括佣金费用。在交易之前,客户必须考虑所有相关的风险因素,包括他们自己的个人财务状况。

回溯测试是利用历史数据对特定交易策略的评估。提出的结果是假设的,他们没有实际发生,他们可能不会考虑所有的交易费用或税收,你将在实际交易中招致。正如一种证券过去的表现不能保证未来的结果一样,一种策略过去的表现也不能保证该策略在未来会成功。结果可能会大不相同,可能会导致损失。

adChoices广告

市场波动,卷和系统可用性可能会延误账户访问和贸易执行。

过去的履行安全或策略并不能保证未来的结果或成功。

选择不适合所有投资者,因为期权交易所固有的特殊风险可能会使投资者暴露出潜在的快速和大量损失。选项交易须缴纳TD Ameritrade审核和批准。请阅读标准选择的特点和风险在投资期权之前。

对任何索赔,比较,统计数据或其他技术数据的支持文档将根据要求提供。

这不是任何管辖权的提议或征集,我们未被授权开展业务或者此类要约或征求会违反该管辖权的当地法律和法规,包括但不限于居住在加拿大的澳大利亚的人员,香港,日本,沙特阿拉伯,新加坡,英国和欧盟国家。

TD Ameritrade, Inc.成员美国金融业监管局/SIPCmanbetx3.0网页登陆

滚动到顶部