[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 376

 
-xlapex-:

这里我应用了MathAbs函数,Alert显示的是零和零,但我想要一个差值模数和一个条形指数......

int start()
{
int mas1[30,2],mas2[30,2],mas3[30,2],ind_1;
{
for (int i=1;i<=count_bars;i++)
{
mas1[i, 0]=Close[i];
mas1[i, 1]=i;
mas2[i, 0]=Open[ i];
mas2[i, 1]=i;

mas3[i, 0] = MathAbs(Close[ i]-Open[ i]);
mas3[i, 0] = i;

ArraySort( mas3);
mod_1=mas3[2, 0];
ind_1=mas3[2, 1];

Alert( mod_1," ",ind_1);
}
}

return(0);
}

你的数组是int,Open和Close是双数,相应地1-1=0
 

大家好

我是mql4的新手,想用aligator指标写一个 专家顾问

我想在mql4上写一个EA,但还没有什么有用的东西出来。

公民 专业人员 可能 提出 这种琐碎 的要求、问题 等,但还是可以请专业人员写一份关于鳄鱼指标的专家。

还是 可以 各位 专业人士 写一份关于鳄鱼指标的专家 报告


点子策略


当达到止损和止盈时,买入和卖出头寸将被关闭。

当绿线从下往上越过蓝线和红线时,出现买入信号,打开买入头寸

卖出信号,当绿色标尺穿过红色和蓝色时,从颠倒的角度打开一个卖出头寸。

在交叉点关闭之前,不要开出超过一个订单。


StopLoss =10。

TakeProfit =10。

魔法=33。

SlipPage =5。

批量=0.1。

预先谢谢你


 
artmedia70:
你的数组是int,但Open和Close是double。
更换了,还是零。还有一件事--在我的二维数组中,一个集合是双数 类型,而第二个集合是int 类型(条形索引)。如何在计算时把它们变成一种类型,但在输出结果时又返回到前一种类型?
 
-xlapex-:
更换了,还是零。还有一件事--在我的二维数组中,一组是double 类型的,第二组是int 类型的(bar indexes)。如何在计算时将它们转换为同一类型,但在结果输出时又返回到同一类型?

count_bars又等于什么?
 
Roger:

count_bars又等于什么?

count_bars = 30。


我一直在思考,并决定两个数组是多余的,它们已经被程序化地指定。现在想起来会比较容易。我怎样才能把它们减少到一种类型?

int start()
{
double mas1[30,2],mod_1;
int ind_1;
{
for (int i=1;i<=30;i++)
{
mas1[i, 0] = MathAbs(Close[i]-Open[i]);
mas1[i, 1] = i;

ArraySort(mas1);
mod_1=mas1[2, 0];
ind_1=mas1[2, 1];

Alert(mod_1," ",ind_1);
}
}
return(0);
}


 
-xlapex-:

count_bars = 30。

然后替换为

mod_1=mas1[2, 0];
ind_1=mas1[2, 1];

mod_1=mas1[i, 0];
ind_1=mas1[i, 1];
 
Roger:

然后替换为

被替换。mod_1给出set={1,3,5,7,9,...,29},ind_1一直显示为零。
 
-xlapex-:
我更换了它。mod_1给出了set={1,3,5,7,9,...,29},但ind_1一直显示为零。


不显示零

double mas1[30,2],mod_1; 
int ind_1; 
for (int i=1;i<=30;i++)
{ 
   mas1[i, 0] = MathAbs(Close[i]-Open[i]);
   mas1[i, 1] = i;

   ArraySort(mas1);
   mod_1=mas1[i, 0];
   ind_1=mas1[i, 1];

   Print(mod_1," ",ind_1);
}

但你的代码有点让人难以理解

例如,mas数组还没有形成,但你已经在对它进行排序了

也许你的问题的背景使它更好。

double mas1[30,2],mod_1; 
int ind_1; 
for (int i=1;i<=30;i++)
{ 
   mas1[i, 0] = MathAbs(Close[i]-Open[i]);
   mas1[i, 1] = i;
}
ArraySort(mas1);
mod_1=mas1[2, 0];
ind_1=mas1[2, 1];
Print(mod_1," ",ind_1);
 
-xlapex-:
被替换。mod_1给出了set={1,3,5,7,9,...,29},但ind_1一直显示为零。

Yeah....而我为什么这么心不在焉呢?

事实证明,一切都很简单--ArraySort(mas1,30,1,MODE_DESCEND )。你所要做的就是写下你应该写的一切。

 
abolk:


不显示零

但你的代码有点让人难以理解

例如,mas数组还没有生成,而你已经在对它进行排序了。

而你说的 "没有形成 "是什么意思。我还错过了什么?