问题标签 [thinkscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
thinkscript - 所有 thinkscript Stock Fundamentals API 返回 NaN?
我正在使用 thinkscript 为 thinkorswim 的图表软件制作一个简单的标签覆盖。
我注意到我所做的所有“基本”API 调用都返回 NaN。此处记录了这些“股票基本面”API 调用:https ://tlc.thinkorswim.com/center/reference/thinkScript/Functions/Stock-Fundamentals
这是我对 API 调用“OperatingProfitMargin”的用法:
我的标签呈现为“123”,这表明 API 返回的是 NaN。
我一直未能在官方文档、you tube 或堆栈溢出上找到这些函数的示例用法。
我假设我在滥用 API,因为它返回了某种对象或元组,我应该以某种方式对其进行后处理/解构。
有没有人成功使用这些“股票基础”API 调用?
pine-script - ThinkScript 到 PinScript 转换问题
我正在将 ThinkScript 指标转换为 PineScript。我目前在将ThinkScript 的 barNumber()函数转换为 PineScript 时遇到问题。我想我知道用什么作为它的等价物,但即使在阅读了文档和示例之后,我也不确定我是否理解 barNumber()。
该指标基本上用作进入/退出指标。我认为使用 barNumber() 的代码正在执行的操作是在绘制新信号时删除信号,但如果该新信号无效,则它会恢复为先前的信号。
这是我对前几个 def 后面有更多内容感到困惑的代码部分,只是解释它们都应该作为浮点数返回是无关紧要的(def stateUp 到 def linDev):
该代码使用了很多条件语句,以下是该代码的其他一些用法:
在 PineScript 中是否有一种简单的方法来解决这个问题?
感谢您的帮助!
thinkscript - 如何将特定烛台的 ATR 保留在变量中,而不随每个新烛台而改变
这是我的代码:
def TrueRange = ATR(14)[1];
在每个新烛台上,thinkorswim 都会生成一个新的 ATR 值,TrueRange 会使用前一个烛台的 ATR 值进行填充。
我正在寻找一种方法来将图表上第一个烛台的 ATR 值保持在 TrueRange 内,而不会随着每个新烛台的变化而变化。
谁能帮我?
curl - 如何使用 curl 下载为 ThinkOrSwim (TOS) 编写的脚本?
名为ThinkOrSwim的交易平台(由TD Ameritrade提供)正在使用一个特殊的 URL 来共享指标脚本,直接进入交易平台。但是,这些脚本只是文本文件,因此您应该能够使用curl下载这些脚本。但是服务器端似乎有某种过滤器来检查脚本请求的内容(或谁)。
例如,这里是一个脚本的 URL http://tos.mx/A1PZUml
,它应该显示许多不同的移动平均线。对于实际脚本的示例,在.
问:如何使用 curl 直接下载 TOS 代码?
PS。我已经添加了 SO 标签thinkorswim
,因为平台有它自己的语言thinkScript
,已经添加到 SO 标签中。
更新:从这里npthinkorswim.dll
查看文件的内容nptossc.dll
,它似乎使用了至少 3 种不同的自定义且未记录的MIME 类型:
更新:2021-04-24
我在这里取得了一些进步。
您应该可以运行该应用程序并使用以下任何一种导入脚本:
但是,这仍然没有产生任何关于如何使用 curl 获取脚本的信息。
recursion - 我正在尝试编写一个尾随值,该值仅在 ThinkScript 中满足条件时才调整为新值
与仅在出现新低或新高时才更改其值的预定义研究“PriceChannel”类似,我希望它仅在满足条件时更改其值,然后保持该值直到再次满足。
这是我到目前为止的代码,现在它检查最后一个柱的“b”值,如果它> 0,那么它绘制“b”,如果不是,它从第二个最近的柱再试一次,然后是第三个等,直到找到大于 0 的“b”值。
代码有效,但我必须为过去的每第 n 个柱添加一个新的“else if”语句,300 个柱就足够了,但这意味着我必须输入同一行 300 次,然后更改number 每次,我想避免这样做,另外,如果它检查 n=n+1 次会更干净。
关于我应该做什么的任何建议?
python - TOS thinkScript“rec”逻辑
我正在尝试将下面的 TOS 脚本转换为 python 逻辑。我无法获得rec
TOS 脚本中的逻辑。
这是我到目前为止的内容,请帮助我验证下面传输的python逻辑的正确性
python - 如何在 Python 中重写线性偏差代码?
Thinkscript 在他们的网站上有 Lindev 代码:
此处的原始代码:https ://tlc.thinkorswim.com/center/reference/thinkScript/Functions/Statistical/LinDev
我正在尝试将其转换为 python,但出现关键错误。我的代码如下:
有任何想法吗?谢谢,
pine-script - PineScript 中 Thinkscript 的 GetValue()
我一生都无法弄清楚如何在 Pinescript 中重新创建这一行 Thinkscript。我尝试过使用 valuewhen、highest、highestall、highestbars 和 pivothigh,但它们最终都没有达到与 thinkorswim 中测试的结果相同的结果。(图片是自 4 月以来的特斯拉日报)thinkorswim 结果图片
pine-script - 将 linreg() 函数从 pinescript 转换为 thinkscript
我在这个论坛上看到很多帖子询问 pinescript 中的这个函数,但到目前为止,没有一个回答如何使用第三个参数“offset”来修改函数内部的计算。
以下是 TradingView 提供的该功能的说明:
https://www.tradingview.com/pine-script-reference/v4/#fun_linreg
我发现,如果您在 pinescript 中为 offset 参数提供零值,则输出与 Thinkorswim 上名为“Inertia()”的函数完全相同。TD Ameritrade 提供了如何计算其函数的详细示例。此处列出:
https://tlc.thinkorswim.com/center/reference/thinkScript/Functions/Statistical/Inertia
这是该链接中的代码:
我的问题是这个。如何修改 Thinkorswim 代码中的公式,使其包含一个与 pinescript 中的“offset”参数等效的参数。