任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 695

 
jekk:

日安!请帮助我处理待处理的订单。例如,我应该通过指标下一个挂单。我怎么能写呢?

Price = NormalizeDouble (iMA(Symbol(),TimeFrame_D1, EMA_Period_21,0,MODE_EMA,PRICE_MEDIAN,0)+1*Point,Digits);//如何正确注册此线?

SL = NormalizeDouble (Ask- StopLoss*Point,Digits)。

TP = NormalizeDouble (Level_plus_1500_D1,Digits); // 这个为利润 - Level_plus_1500_D1 - EMA水平?

OrderSend(Symbol(),OP_BUYLIMIT,Lots,Price,Slippage,SL,TP,NULL,Magic,0,clrLime)。


Price =  NormalizeDouble (iMA(Symbol(),PERIOD_D1, EMA_Period_ 21,0,MODE_EMA,PRICE_MEDIAN,0)+1*Point,Digits);// как правильно прописать эту строчку? 
 TP = NormalizeDouble (Level_plus_1500_D1-iMA(Symbol(),PERIOD_D1, 21,0,MODE_EMA,PRICE_MEDIAN,0),Digits); // и эту для профита -  Level_plus_1500_D1 - уровень ЕМА  ?

阅读帮助,都在那里,而且很容易理解。

而且SL和TP应该从订单的价格(Price)来设置更好,而不是从市场来设置,这在某种程度上更符合逻辑。

 
evillive:

阅读帮助,都在那里,很清楚。

而且,从订单的价格(Price)来设置SL和TP,比从市场价格来设置更好,这更有意义。

谢谢你!
 

我曾尝试使用这篇文章中写的函数https://www.mql5.com/ru/articles/1357。我决定检查这个函数的信号是如何打开订单的,并写了一个简单的代码。

Metatrader给了我这个。

我不知道该怎么做。 我不知道是引号出了问题还是函数代码出了问题。

功能代码见附件。

附加的文件:
func_ad.mqh  33 kb
 
LBatters:

大家好,能否请你们帮助我解决这个问题。我一直在使用这篇文章中写的函数https://www.mql5.com/ru/articles/1357。我决定检查这个函数的信号是如何打开订单的,并写了一些简单的代码。

Metatrader给出了这个。

我不知道该如何处理它。

我附上了该函数的代码。


可能不是预告片中的那个函数,这个函数的第59行没有任何与数组有关的内容,而错误显然是在数组之外,在第二张截图的第59行。
 
evillive:

可能不是预告片中的那个函数,这个函数的第59行没有任何与数组有关的内容,而根据第二张截图,错误明显在数组之外,在第59行。

不,我只是在发表评论,所以线条移动了。

这是我编的。

附加的文件:
func_ad1.mqh  63 kb
 
LBatters:

不,我只是在发表评论,所以线条移动了。

这是我编的。


尝试
for (i=2; i<=nBars-2; i++)
 
evillive:

尝试
for (i=2; i<=nBars-2; i++)


哈!现在有一笔交易打开了,这就是测试的结束,不明白为什么要减去2?
 
LBatters:

哈!现在有一笔交易打开了,这就是测试的结束,不明白为什么要减去2?


在内联中还有更多的数组,它可能已经绊住了它们。还是仍在抱怨第59行的问题?

而减法--算术很简单--如果有100个元素,它们的编号是0...99(因为nBars=100,所以99就是那个非常的nBars-1),因此你可以在你的算法中从1(与0和2条比较)数到98(与97和99条比较),在99时已经离开数组

 
evillive:


在内联中还有更多的数组,它可能已经绊住了它们。还是仍在抱怨第59行的问题?

而减法--算术很简单--如果有100个元素,它们的编号是0...99(99是你非常的nBars-1),所以你可以在你的算法中从1(与0和2条比较)数到98(与97和99条比较),在99时你会走出阵列。


但它是小于或等于,即包括99,不是吗?开单 时弹出错误130。

 
LBatters:


它要么是小于或等于,即包括99。 不是吗? 在开单时弹出错误130。


我们已经到达i=99,这是最后一个元素。

if (TempIND[i]<TempIND[i-1] && TempIND[i+1]>=TempIND[i])

i+1] 在哪里?