谁想要一个战略?很多,而且是免费的) - 页 63

 

是的,邮件是正确的。

一分钟前我给你发了一条私人信息

 

哦,我都忘了私人线路的事了 :))))))

它已经堆积在那里了:)。伙计们--如果我没有及时回答,很抱歉,我只是通常关闭了论坛上的个人信息,出于习惯甚至没有注意这里:)...


Miroslav - 那么现在我将准备一个信息(答案),并通过邮件发送...

 

**记住,条形图开盘条形图收盘--持仓点的 问题不限于此,常用指标的值很可能用在那里。因此,可以在一个酒吧的 "中间 "开仓(很容易!)。(可以这么说,只在条形图的交叉点计算指标值...正如我所说--这个条件 "并不总是 "可行的;))**


如果理解正确的话,你认为我们必须在每一个tick上重新计算一个指标,如果入口点是在柱子的中间(比方说在一个MA)。我可以承受不同意你的观点。


为了进行可靠的回测(使用MT、FSB或其他测试器),所有的指标包括进入/退出点都必须固定。这并不限制EA在条形图期间使用市场进入。

例子。


1.在移动平均线(21,收盘)处进入。

在这种情况下,我们不能使用当前的MA,因为它是向上/向下移动的,直到条形收盘价被固定。因此,我们必须使用前一栏的MA。这样做,就没有必要在每次打勾时重新计算了。


2 在移动平均线处进场(21,开放)。

这里我们可以使用当前的MA。它是固定的,因为MA的基础价格--Bar Opening已经是固定的。我们也不需要在每次打勾时重新计算。


--------

编辑。

当然,这是我的个人意见。

我并不打算以这种方式强迫你进行回溯测试。

谢谢!


编辑2。

如果我错过了什么,请给我看一个用FSB准备的策略的例子,当你必须在每个tick上重新计算一个指标时。

 

嗯,Miroslav,我明白了(而且是很久以前的事)!

我只是被我上面给出的指标代码中的结构所迷惑。

                    case "The position opens above the MA value":
                        component[0]. PosPriceDependence = PositionPriceDependence. BuyHigherSellLower;
                        component[0]. UsePreviousBar     = iPrvs;
                        component[1]. DataType           = IndComponentType. Other;
                        component[1]. ShowInDynInfo      = false;
                        component[2]. DataType           = IndComponentType. Other;
                        component[2]. ShowInDynInfo      = false;
                        break;

即:组件[0]PosPriceDependence = PositionPriceDependence买高卖低

事实并非如此,是吗?重要的是要明白,我不是在谈论指标的计算,本身就是如此。其中的价值,是的,是静止在一个酒吧内。但关于在这种情况下(我在上面引用的),我们必须将最后的价格值与它进行比较?为了做出开仓的决定。在FSB中,这是由内部程序完成的(如果我理解正确的话)。但由于它们 "不为我们所知"(实际上是为了什么)--我建议在这种情况下,在每一个刻度上重新计算指标,以便在逻辑条件上得到一个明确的 "是"/"否"。换句话说,让指标本身来做这个结论,而不是让它外部的代码来做。我是认真的!

我的意思是,嗯,再一次--我同意 该指标应该在 "交叉 "条上计算一次的论点。但在指标给出开仓信号的情况下,在MT中应用未来的EA(s)工作时,我们应该只依赖这些值(YES/NO),而不是比较当前价格和指标价格(是静态的)。让指标本身为我们比较一下。而我们将只考虑其YES/NO。就这样吧...:)


还是我在什么地方遗漏了什么?:D?("有一点儿妈咪...")

 

因此,这意味着我需要对这种计算方法再做一次修改(我现在正在思考),以正确比较Close[iBar]与当前或之前的指标值(其中的指标值是静态的)(iPrvs应该被考虑)。但在这个想法中,我认为我没有错......!?



(我们甚至在讨论什么:))?指标仍然会在任何地方用IndicatorCounted()核算工作!!!。我就是不愿意用其他方式来做 :)。它们不仅可以被EA作者使用,也可以被那些需要视觉部分(和实时值)的用户使用。原有的代码没有一点变化!通常情况下,你只需在开头添加一个位,初始化自我引用的变量的 "原始 "值。没有比这更多的了...有时这被赋予 "小血"。有时不是那么多(如每小时高低的例子)。但无论如何,身体上的努力是最小的(还没有):)


或者是全球方面?那么就没有什么好讨论的了--iPrvs是很好的!:)句号!但没有人反驳它:)!


(我发了一封电子邮件......我将尝试在这里亲自回答)

 
如果 "该位置在MA值之上打开"。
component[0].PosPriceDependence = PositionPriceDependence.BuyHigherSellLower。


这种逻辑不能从指标本身来管理,因为信号取决于进入点指标。

这个逻辑不像其他逻辑那样给出买入/卖出(1 , 0)信号。

FSB的工作程序如下。

1.在做出交易决定时,它最初会忽略这个指标。
2.如果所有其他的逻辑规则都得到满足,并且FSB知道进入点,它就在实际执行之前检查这个指标以允许或禁止进入。

这包括在回测器中。

在EA中的应用有三种选择。

1.首先计算入口点(在一个数组中)。之后将这个数组发送给指标,以计算出买入/卖出信号。

2.有一个基础方法EntryPrice(int iBar),返回头寸的开盘价。
仓位在MA值上方打开。
for(int iBar ...)
{
SignalLong[iBar] = EntryPrice(iBar) > MA[iBar] ?1 : 0;
SignalShort[iBar] = EntryPrice(iBar) < MA[iBar] ?1 : 0;
}

3.在实际进入前调用该指标。
double EntryPrice = ....;
如果(EntryPrice > fsb_MA(...))
OrderSend(...)。


----

有几个指标不设置1:0的信号。
- 所有具有 "在...上方/下方开仓 "逻辑的指标
- "时间 "指标:进入时间、进入小时、星期。
- 帐户百分比 停止
- ATR停止
- 停止限制
- 止损
- 获取利润
- 拖曳式止损
- 追踪止损限制
- 批量限制器

这些 "指标 "在交易时给予进入/退出许可。










 

米罗斯拉夫--"知道了"!不是指最终理解了什么 :)(用指标逻辑操纵FSB的想法)。

我很久以前就明白了(我没有考虑到 "止损 "和其他东西,我还没有看这些东西)。

我终于想起 了一些事情,这么说吧 :)


我们只是在同一背景下谈论不同的应用(指应用本身(FSB和MT)和 "应用于")。

关键点是在回测程序本身之前,FSB指标 进行一次计算

在测试本身之前,FSB根本无法明确计算出1/0这样的条件("头寸高于/低于......开仓")!

因此,它使用的逻辑完全正确。

1.在做出交易决定时,它最初会忽略这个指标;
2.如果所有其他逻辑规则得到满足,并且FSB知道进入点,它在实际执行前检查这个指标以允许或禁止进入。
但对于我们的(实时)案例来说,这并不是强制性的。或者说是--"不断地、飞快地 "计算指标--我们在任何特定时刻都会有
在任何特定的时刻,我们对这个逻辑条件会有一个明确的答案1/0。
我们仍然 "无法 "不以最后的可用价格(Close[0])建仓。那么,为什么不把指标与之相比呢?
还有,为什么不象其他情况那样输出一个逻辑1/0(对不起,格式 "不对",我不想研究HTML(没有必要 "吓坏")。
case MA_POS_OPENS_ABOVE:
for (iBar = iFirstBar; iBar>= 0; iBar--) {
LPIndBuffer[iBar] = Close[iBar] > adMA[iBar];
SPIndBuffer[iBar] = Close[iBar] < adMA[iBar];
}
break;

//在考虑到iPrvs的情况下,这显然是更正确的重写(今天我才 "恍然大悟",知道如何绕过这个问题)

case MA_POS_OPENS_ABOVE:
对于 (iBar = iFirstBar; iBar>= 0; iBar--) {
LPIndBuffer[iBar] = Close[iBar] > adMA[iBar + iPrvs];
SPIndBuffer[iBar] = Close[iBar] < adMA[iBar + iPrvs];
}
break;

//考虑到除了[0](实时)以外的所有条形上的值都将是 "不完全正确的"(或者说,对于Close[iBar]来说是固定的),我们可以这样修改代码

case MA_POS_OPENS_ABOVE:
for (iBar = iFirstBar+ 1; iBar>= 0; iBar--) {
如果 (iBar > 0 {
LPIndBuffer[iBar] = 0。0;
SPIndBuffer[iBar] = 0.0;
} else {
LPIndBuffer[iBar] = Close[iBar] > adMA[iBar + iPrvs];
SPIndBuffer[iBar] = Close[iBar] < adMA[iBar + iPrvs];
}
}
break;

// T。也就是说,对于所有的条形图,除了[0],指标将显示这个条件没有得到满足(没有得到满足)--可以说是一个美学问题......仅此而已。

 

(关闭:我试图再次插入代码,作为一个单独的评论--"石花不出":),然后是一个空的评论,然后它只是去了第一页...也许文中有一些元素--"不能消化"...一般来说--所以读(如上):)。

 

先生们,Miroslav昨天将FSB更新到2.8.3.6 Beta 版本。

http://forexsb.com/forum/post/2446/#p2446


信号逻辑已被统一。这些变化影响了绝大多数的指标。指标计算的代码没有改变!

逻辑信号变得不那么容易受到 "噪音 "的影响。在配置文件中,我们添加了两个参数。

  <SIGMA_MODE_MAIN_CHART> 1</SIGMA_MODE_MAIN_CHART>
  <SIGMA_MODE_SEPARATED_CHART> 5</SIGMA_MODE_SEPARATED_CHART>

参数设置从价格变化水平触发信号的 "阈值"(对于图表窗口中的指标和自己窗口中的指标)。

这里给出了MODE值的对应关系。

http://forexsb.com/library/source/Sigma.html


我们相信,"默认 "值是完全足够的(在大多数情况下)。但是...请自由尝试:)。


我特意等到这个版本,以便不做双重工作。我也在放我自己的作品。我目前有20个指标(我不认为其中2个是 "有用的"(Bar Closing / Bar Opening)--它们在将来会有用的;))。

-FSB- Accelerator Oscillator.ex4
-FSB- Accumulation Distribution.ex4
-FSB- ADX.ex4
-FSB- Bar Closing.ex4
-FSB- Bar Opening.ex4
-FSB- Bar Range.ex4
-FSB- Bollinger Bands.ex4
-FSB- Donchian Channel.ex4
-FSB- Envelopes.ex4
-FSB- Force Index.ex4
-FSB- Heiken Ashi.ex4
-FSB- Hourly High Low.ex4
-FSB- Ichimoku Kinko Hyo.ex4
-FSB- Keltner Channel.ex4
-FSB- Moving Average.ex4
-FSB- Price Oscillator.ex4
-FSB- RSI MA Oscillator.ex4
-FSB- RSI.ex4
-FSB- Starc Bands.ex4
-FSB- Steady Bands.ex4

计算算法和信号逻辑完全符合FSB标准(好吧......应该如此 :D)......。

包括指标值!!。( FSB (应用) = -FSB- (转换) = MT (内部) )(至于任何标志)。

例外是 "-FSB- Accumulation Distribution.ex4" - Miroslav在那里有一个棘手的代码,还没来得及处理(与MT不完全匹配,没有用FSB检查)


我继续按字母顺序排列(好吧,几乎是)。如果有人需要更优先的东西,请写...(与每小时最高价和最低价的人在某处消失了,我还不明白--它是否有帮助:D?!)


同时,我们开始开发EA,它将能够与这些版本的指标一起操作。在最后应该有一种羊群。

FSB -> 输出的策略文件 -> EA,基于转换后的指标和内部交易逻辑,与FSB兼容...


好运!祝大家节日快乐!!!。

我会在接近本周初的时候出现...敬请关注...

附加的文件:
 
Stellarator >> :

先生们,Miroslav昨天将FSB更新到2.8.3.6 Beta版本。

http://forexsb.com/forum/post/2446/#p2446


我正在下载一些东西,而档案被破坏了......: