[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 376

 
你好。朋友们,请帮忙--埋在某处的一个关于重新设计指标的鞭策。如何使指标 在每个条形上只计算 一次(在每个时间段)? 我记得--开始后就有一个RETURN断路器--但我不记得是什么情况。
 
你去吧。
Taim0 = iTime(NULL,0,0);
       if ( Taim0 == taim_open)
        {
        return;
        } 

并把开始放在函数的最后

taim_open = Taim0; 
谢谢大家。;-)
 
locol91 писал(а)>>
你去吧。

并把开始放在函数的最后

>>谢谢大家。;-)

https://www.mql5.com/ru/forum/118402

 

我安装了三个不同经纪商的新终端,在真实交易条件下测试专家顾问的演示,突然我发现

我得到了错误130=无效的停止。这是一个地狱般的事情--一切都在我之前的平台上工作。

在一个有问题的测试器中也没有错误,没有测试其他的。我已经开始分析他们,似乎这三个人都已经被禁止开单了

SL和TP同时进行(还不是100%,但我认为这就是问题所在)。

- 有人遇到过这样的事情吗?如果是真的,"无效的停止 "并没有真正的帮助...

- 平台测试员与经纪人的条款和条件无关?

 

chief2000 писал(а) >>

...-平台测试员与经纪人的条款和条件没有任何联系?

测试员的工作,必须根据其来自特定经纪商的终端条款来工作。

 

显然,"作品 "和 "应该 "是不同步的 :)

今天,一个 "有问题 "的经纪商确认,禁止用相同的SL和TP开立真实订单。

但在他们的测试器中是可以做到的(其他经纪公司的测试器也有其他情况)。

 

下午好,朋友们。


请对这种情况提出建议。


我的经纪人不允许我交易股指期货...因此,我无法在我的终端看到这些指数的图表...

问题出现了。

我在哪里可以得到道琼斯工业平均指数、DAX指数、日经指数、美国和欧洲债券(如10年)以及所谓的 "美元指数 "的报价,我怎样才能把它们加载到终端,以便终端可以用它们来绘制价格,把它们作为数据使用。


如果你有机会,请向我建议。


事先非常感谢你。
 
Morzh09 писал(а)>>

下午好,朋友们。

请对这种情况提出建议。

我的经纪人不允许我交易股指期货...因此,我无法在我的终端看到这些指数的图表...

问题出现了。

我在哪里可以得到道琼斯工业平均指数、DAX指数、日经指数、美国和欧洲债券(例如10年)以及所谓的 "美元指数 "的报价,以及我如何将它们加载到终端,以便终端可以将它们用于价格图表,将它们作为数据使用。

如果你将有机会,请告知。

事先非常感谢你。

从Alpari服务器下载它们。道琼斯指数、DAX指数、日经指数、美元指数他们都有。你可以从Alpari演示服务器上进行。在他们的网站上寻找地址。或者安装他们的MT4版本,开一个模拟账户。他们没有欧洲债券。

 

打破了我的大脑,但知识不够用。我在我的指标中使用WindowPriceMax和WindowPriceMin函数。问题是,当我转移到另一个时间框架进行指标 的初始计算 时,这些函数从以前的窗口中获取数据(例如,以前的图表是4H,最大和最小窗口是1.4000和1.2000,当我转移到D,最大和最小窗口变成1.5000和1.1000,但第一个指标是用最大和最小的旧值计算的,只有在新的刻度上才会有新值。而且你可以等待很长时间来寻找新的蜱虫,例如,在晚上...如何避免这个问题?

//***************************************
int init() {
IndicatorBuffers(3);
SetIndexStyle(0,DRAW_LINE);
    SetIndexBuffer(0, zz);
    SetIndexBuffer(1, fxH);
    SetIndexBuffer(2, fxL);
if ( Points!=0 && Percent==0) di=10* Points*Point;
return(0); }
//-----------------------------------------------
int deinit(){ ObjectsDeleteAll(0,21); return(0);}
//********************************************************
int start() {
int i, n, cb0;
int counted_bars=IndicatorCounted();
if ( counted_bars<0) {Print("Indicator Error (Counted bars < 0)!" ); return(-1); }
if (Bars<100) {Print("Indicator Error (Bars < 100)!" ); return(-1); }
int cbi=Bars-2;
if ( counted_bars>2) { cbi=Bars- counted_bars; }
//======================================================================================================================
for ( i= cbi; i>=0; i--) {
//-----------------Functions------------------------------
fxH[ i]=High[ i];  
fxL[ i]=Low[ i];
Max=(WindowPriceMax()-WindowPriceMin())/100;
 
kon12 >>:

Люди, помогите!!! Мозги сломал, но знаний не хватает. В индикаторе использую функции WindowPriceMax и WindowPriceMin. Беда в том, что при переходе на другой таймфрейм для начального расчета индикатора эти функции берут данные с предыдущего окна (например, предыдущий график был 4Н и мах и мин окна были допустим 1.4000 и 1.2000, перехожу на D, и мах и мин окна становятся 1.5000 и 1.1000, но сначала индикатор расчитывается по старым значениям мах и мин, и только с приходом нового тика считает новые значения. А нового тика можно ждать долго, например ночью... Как обойти эту заморочку?

我可以建议用这个技巧来检查。

看看WindowFirstVisibleBar()和WindowBrsPerChart()函数在你的情况下是否正确工作。如果它们的返回值与新图表相对应,那么你可以使用ArrayMaximum()和ArrayMinimum()来计算图表上的最大和最小价格值。

原因: