大佬教程收集整理的这篇文章主要介绍了如果条形图仅返回 10000 条柱形,该策略如何进行超过 10000 次交易?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法理解这个问题。我写了一个非常简单的策略来测试一些东西。 ema 13 和 ema 34 交叉。
乍一看,它似乎运行良好,但是当 TradingvIEw 图表仅返回免费账户的 10000 条柱时,它进行了 12450 笔交易。 enter image description here
这一定是我计算交易的方式或其他什么?
这是代码
//@version=4
study(title="test")
e1= ema(close,13)
e2= ema(close,34)
seed = input(100,"seed size")
size = seed/close
var float entry = 0.0
var int inTrade = 0
var int Trades = 0
var float exit = 0.0
var float diff = 0.0
var float profit = 0.0
var int wins = 0
buy = crossunder(e1,e2) and inTrade == 0
sell = crossover(e1,e2) and inTrade == 1
if buy
entry := close
inTrade := 1
if sell
Trades := 1
exit := close
diff := (exit - entry)
profit := size*diff
wins := profit >= 0 ? 1 : 0
inTrade := 0
@R_903_10586@lprofit = cum(profit)
@R_903_10586@lTrades = cum(Trades)
@R_903_10586@lwins = cum(wins)
@R_903_10586@llosses = @R_903_10586@lTrades - @R_903_10586@lwins == 0? 1: @R_903_10586@lTrades - @R_903_10586@lwins
plot(@R_903_10586@lprofit)
overvIEw = input(true,"Trade results")
var label result = na
results = 'Tot prof = '+ toString(@R_903_10586@lprofit,'#.#USD')
+ '\nTrades: ' + toString(@R_903_10586@lTrades,'#')
+ '\nWinrate: ' + toString(@R_903_10586@lwins/@R_903_10586@lTrades,'#.#%')
if overvIEw and barstate.islast
result := label.new(bar_index,close,results,xloc.bar_index,yloc.price,color.new(color.white,100),label.style_label_left,color.black,size.normal,text.align_left)
label.delete(result[1])
这是一个仅用于多头交易的代码,因此每次卖出时,Trades
都会附加 1。至少我正在尝试这样做。
当柱形数字甚至不可用时,怎么可能获得这么多交易?它有什么问题。我很感激任何帮助。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的如果条形图仅返回 10000 条柱形,该策略如何进行超过 10000 次交易?全部内容,希望文章能够帮你解决如果条形图仅返回 10000 条柱形,该策略如何进行超过 10000 次交易?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。