if (Buys==true )
{
int count_buy_stops=0; int count_pos_buy=0;
CalOrders_Buy(count_buy_stops); CalPosition_Buy(count_pos_buy);
if(count_buy_stops==0 && count_pos_buy==0) && isNewBar())
{
BuyStop();
}
}
isNewBar() 函数本身来自例子和code.base文章。
bool isNewBar()
{
//--- в статической переменной будем помнить время открытия последнего бараstaticdatetime last_time=0;
//--- текущее времяdatetime lastbar_time=(datetime)SeriesInfoInteger(Symbol(),Period(),SERIES_LASTBAR_DATE);
if(last_time==0)//--- если это первый вызов функции
{
last_time=lastbar_time; //--- установим время и выйдем return(false);
}
if(last_time!=lastbar_time)//--- если время отличается
{
last_time=lastbar_time; //--- запомним время и вернем truereturn(true);
}
//--- дошли до этого места - значит бар не новый, вернем falsereturn(false);
}
但我没有找到任何建议,例如如何将这一条件编程为类似于OHLC M1的条件,这是否可能?
到目前为止,我在同一类型的设置上得到了以下分歧。
"OHLC M1;8年;1681次交易。(最初我用的是这种方法)
"开盘价";8年;1655次交易。
"所有蜱虫 "8年;1676次交易。
该算法似乎很稳健,我甚至可能能够分别改进每种方法的结果。
但它会失去多功能性,显得多余。
简而言之,举个例子,如果你的TP买入头寸设置在1.16000,那么 "所有点数 "将在这个价格左右关闭。OHLC将在1.16000以上的价格收盘,这可能是一个相当大的差异,所以总是OHLC会显示出更好的结果。与 "按开盘价"的情况相同。
简而言之,举个例子,如果TP买入头寸设置在1.16000,那么 "所有点位 "将在大约这个价格上关闭。OHLC将以高于1.16000的价格收盘,这可能是一个相当大的差异,所以总是OHLC将显示更好的结果。与 "按开盘价"的情况相同。
诺里斯,谢谢你。我理解(我可以猜测)为什么不同的方法会有不同的结果。但我想了解的是,这一点。
如果测试者模拟了 "OHLC M1 "方法,那么如何在专家顾问中以编程方式重复同样的方法。
测试人员以某种方式再现了它...
诺里斯,谢谢你。我理解(我可以猜测)为什么不同的方法会有不同的结果。但我想了解的是,这一点。
如果测试者模拟了 "OHLC M1 "方法,那么如何在专家顾问中以编程方式重复同样的方法。
测试人员不知何故重现了它...
相信我,你不需要这样的精度,优化结果并在所有刻度上运行,最好的选择 ...
如果你没有3-4个点的距离,即使收盘时多两个点或少两个点也不会有太大区别......
在专家顾问中回放一些东西不会使你的时间变快,相反,它会使你的时间变慢......
相信我,你不需要这样的精度,优化结果并在所有刻度上运行,最好的选择是......
如果你没有3-4个点的差距,那么,如果你以多两个点或少两个点收盘,也没有什么大的区别......
在专家顾问中回放一些东西并不会加快时间,相反,它会减慢时间...
谢谢你。如果没有人继续实施"OHLC M1 " 方法,那么我就只能听从你的建议了))
谢谢你。如果没有人继续使用"OHLC M1 " 的方法,我将被谴责使用你的建议))))。
如果你没有想到一个特别高明的想法,那么区别就在于刻度线的方向,在真正的交易中,在刻度线上,蜡烛可能会开盘、见底、见顶、收盘,如果蜡烛很大,你可以在底部买入,在收盘时获利,在模拟交易中,蜡烛形成开盘、见顶、见底、收盘,比方说开盘和见顶与见底和收盘也重合,那么在这样一个蜡烛上,你可以买入,但不能获利,如果市场已经下跌,那么这里你有一个挂损单 ...
...因此出现分歧...
谢谢你。如果没有人继续讨论如何实现"OHLC M1 " 方法,我就只能接受你的建议了)))。
谢谢你。如果没有人继续讨论如何实施"OHLC M1 " 方法,我就只能接受你的建议了)))。
专家顾问中的开仓/平仓不是按价格水平而是按开仓。有一个开仓/平仓信号,等待下一个1M蜡烛并开仓/平仓。
该方法不言而喻。在你的EA中只使用当前条形图中包括的所有分钟条形图的OHLC价格。
Artyom,我已经试过了。在所有的条件下,开仓和修改订单,我都通过布尔函数isNewBar()设置了一个条件 "在新条的诞生"。
像这样。
isNewBar() 函数本身来自例子和code.base文章。
它似乎在工作,并且只在一个新的酒吧下单和修改,但由于某些原因,有一个差异。
我在没有isNewBar() 的 情况下应用 的M1上的OHLC 和使用isNewBar() 函数的 "所有ticks " 之间存在差异。
我期望通过对 "所有点 " 应用isNewBar() ,我将得到与 当前价格 上的OHLC相同的结果。
因此,我不明白我是否一定是把代码弄错了,或者是我没有正确理解OHLC 模式,并期望它不可能。
我不知道该去哪里挖。
阿尔乔姆,如果不难的话,多告诉我一些。
订单可以在新的条形图上设置和修改,但SL和TP(在测试器中)无论如何都会在旧的条形图中工作?