欢迎来到MQL4课程 - 页 8

 

处理错误的问题

我在OrderModify中仍然遇到错误1,有一个新的buil 208-210。

stringo说

你必须在调用ModifyOrder函数 之前在你的源代码中插入参数检查。

这是真的吗?我不相信这个人。

最诚挚的问候

阿奎莱兹

cnt=OrdersTotal()-1;

while(cnt>=0)

{

if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES)==false) break;

如果(OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) // && Reversed==False)

{

Print("Ticket",OrderTicket()," modified.")。

如果(OrderType()==OP_SELL)

{

如果(ExitWithOpenOrdersBasedON && myOrderTypetmp==2)

{

PreviousOpenOrders=OpenOrders+1;

ContinueOpening=False;

text = text +"/nClosing all orders ." 。

Print("关闭所有订单。")。

//返回(0)

}

如果(TrailingStop>0)

{

如果((OrderOpenPrice()-OrderClosePrice())>=(TrailingStop*Point+Pips*Point)

{

如果(OrderStopLoss()>(OrderClosePrice()+TrailingStop*Point))

{

result=OrderModify(OrderTicket(),OrderOpenPrice(),OrderClosePrice()+TrailingStop*Point,OrderClosePrice()-TakeProfit*Point-TrailingStop*Point,0,Purple) 。

if(result!=TRUE) Print("LastError =", GetLastError())。

否则OrderPrint()。

return(0);

}

}

}

}

如果(OrderType()==OP_BUY)

{

如果(ExitWithOpenOrdersBasedON && myOrderTypetmp==1)

{

PreviousOpenOrders=OpenOrders+1;

ContinueOpening=False;

text = text +"/nClosing all orders." 。

Print("关闭所有订单。")。

//返回(0)。

}

如果(TrailingStop>0)

{

如果((OrderClosePrice()-OrderOpenPrice())>=(TrailingStop*Point+Pips*Point)

{

如果(OrderStopLoss()<(OrderClosePrice()-TrailingStop*Point))

{

result=OrderModify(OrderTicket(),OrderOpenPrice(),OrderClosePrice()-TrailingStop*Point,OrderClosePrice()+TakeProfit*Point+TrailingStop*Point,0,ArrowsColor) 。

if(result!=TRUE) Print("LastError = ", GetLastError())。

否则OrderPrint()。

return(0);

}

}

}

}

}

cnt--。

}

 

新手

谢谢你的介绍。也许你创建它已经有几年了,但仍然非常有用。

问候

费拉兹

 

需要帮助 - 需要一个EA专家

你好。

我想知道是否有人能帮助我--我正在使用一个名为 "slope-direction-line.mq4 "的自定义指标制作一个EA,该指标用两种颜色表示趋势,石灰 代表上升趋势,红色 代表下降趋势--那么如何根据这两种颜色来识别EA的卖出或买入。我已经尝试了以下方法,但没有效果 - 所以如果你能帮助我,请帮帮我。

if (iCustom(NULL, 0, "slope-direction-line",0) < iCustom(NULL, 0, "slope-direction-line",0))

这里是指标的链接https://www.mql5.com/en/forum

谢谢

 
 

非常感谢。

 

感谢Coderguru、NewDigital和所有朋友对我进行了非常有用的教育,希望有一天我可以用我的能力做出我自己的新Mql程序。 上帝保佑你们

尊敬的各位。

Spanar.

 

如何传递颜色参数

亲爱的先生。

我有一个问题:如何将参数传递给用户的二维函数

例子:

CreateObject("Test1",Green);

CreateObject("Test2",C'236,130,0')

CreateObject("Test3",32768 )

void CreateObject(string Name1,int DefineColor)

{

ObjectCreate(Name1,OBJ_LABLEL,WindowFind("Indicato r1"),0,0) 。

ObjectSetText(Name1, "测试",12, "Arial Bold:,DefineColor)。

1.那么如何传递绿色的颜色,C'235,130,0,' 或 32768

2.在用户定义函数中,颜色的类型是什么?可以是字符串?我试过了,但没有成功。

3.颜色的类型变量是什么,或者可以从整数、字符串转换为颜色类型变量?

4.你能告诉我这种问题的网址吗?

谢谢你的帮助

鲍勃

 

帮助.....help_901help...............help

你好

你能帮助我使用这个指标代码吗?

iMAOnArray(?????,?????,?????,????,??????,i)。

请举例说明

谢谢你的帮助

 
mercury_man:

你能帮助我使用这个指标代码吗?

请举例说明

谢谢你的帮助

你好。

我已经把你的帖子移到了这个主题。请看第20#帖子。

同时。

double iMAOnArray(double array[],int total,int period,int ma_shift,int ma_method,int shift)对存储在数字数组中的数据进行移动平均数计算。与iMA(...)不同,iMAOnArray函数不按符号名称、时间框架、应用的价格接受数据。价格数据必须事先准备好。该指标从左到右计算。要像系列数组那样访问数组元素(即从右到左),必须使用ArraySetAsSeries 函数。 参数。

array[]- 有数据的数组。total- 要计算的项目数。period- 用于计算的平均周期。ma_shift- MA shiftma_method-MA 方法。shift- 从指标缓冲区中提取的数值的索引(相对于当前的条形图,在给定的时间段之前移动)。样本。

double macurrent=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0)。

double macurrentslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0)。

double maprev=iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);

double maprevslow=iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1)。

//----

如果(maprev=macurrentslow)

警报("越级上报")。

 

iMAOnArray

iMAOnArray并不是一个指标,而是一个计算数组移动平均线的函数!它是由一个数组组成的。

如果你搜索我的课程,你会发现答案和关于iMAOnArray的更多细节。

mercury_man:
你好

你能帮助我使用这个指标代码吗?

请举例说明

谢谢你的帮助