任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 560 1...553554555556557558559560561562563564565566567...1178 新评论 Vladislav Andruschenko 2014.03.25 12:19 #5591 Leo59: 我的专家顾问,在deinit()中,将98496行写入*.csv的日志文件。 为什么专家在测试器中完成的时候,它的卸载方式不同。 - 在测试日期结束时卸货的情况下,一切正常(98496行)。 - 在通过 "停止 "按钮卸货的情况下,只有大约10%的数据。 谁知道问题会是什么呢? 当用户自己卸载专家顾问时,强制终止专家顾问。 最好是在开始时直接记录数据。 Vladislav Andruschenko 2014.03.25 12:20 #5592 Roman.: 伙计们,你们如何理解这个警告? 谢谢你。 函数必须被设置为一个变量 例如 bool closee=OrderClose........... 应检查'OrderSelect'的返回值 应 检查'OrderDelete'的返回值 应检查'OrderSend'的返回值 应检查'OrderClose'的返回值 应检查'OrderModify'的返回值 为了避免这种警告,必须明确指定返回变量的方式 比如说像这样。 bool select1=OrderSelect.......... bool delete1=OrderDelete.......... bool close1=OrderClose.......... bool modify1=OrderModify.......... int send1=OrderSend.......... Alexandr Mordashov 2014.03.25 12:25 #5593 下午好。你能告诉我是否可以在OBJ_TEXT 对象的图形上定义或计算宽度/高度? Vladislav Andruschenko 2014.03.25 12:26 #5594 alxm: 下午好。你能告诉我是否有可能在一个OBJ_TEXT对象的图形上定义或计算宽度/高度? 如何计算字符数,+字体大小 或类似的东西? Vladislav Andruschenko 2014.03.25 12:28 #5595 cipsi: 如果知道的话,如何找到第一个开仓订单的OrderOpenPrice。 1.符号 2.购买订单可以从一个到多个打开 3.魔术 4.订单之间的差异,可能是以票为单位 - 找到最小的票。 double PriceOpenFirstPos(string sy="", int op=-1, int mn=-1) { datetime t==0; double r=0; int i, k=OrdersTotal(); if (sy=="0") sy=Symbol(); for (i=0; i<k; i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==sy || sy=="") { if (OrderType()==OP_BUY || OrderType()==OP_SELL) { if (op<0 || OrderType()==op) { if (mn<0 || OrderMagicNumber()==mn) { if (t>OrderOpenTime() || t==0) { t=OrderOpenTime(); r=OrderOpenPrice(); } } } } } } } return(r); } Vladislav Andruschenko 2014.03.25 12:31 #5596 psdmaster: 阅读关于创建EA的文章 :https://book.mql4.com/ru/samples/expert 你能告诉我如何在一个柱状体上打开交易,并在下一个柱状体出现时关闭它吗? 1.打开交易时,请记住酒吧的时间 像这样。 在起点之外。 int timeopen; 在开始的时候,你有一个交易开放。 timeopen=Time[0]; 像这样收尾。 if(timeopen!= Time[0]) OrderClose............ Vladislav Andruschenko 2014.03.25 12:32 #5597 Zolotai: 请告诉我。我怎样才能找出一个特定符号的未平仓订单的数量,而不需要循环... 没有循环,就没有办法做到。 forexman77 2014.03.25 13:09 #5598 亲爱的,我需要你的帮助。 我正在通过指标优化我的专家顾问,指标的代码如下。 优化的速度很慢,我在EA中做了一个代码,在一个新的条形图 上重新计算指标,这不是很合适。 请看一下指标的代码,可以做什么来使重新计算更快。 #property indicator_separate_window #property indicator_buffers 4 #property indicator_color1 Lime #property indicator_color2 Yellow #property indicator_color3 Red #property indicator_color4 Aqua //--- input parameters extern int Period_MA_1=14; extern int p2 =7; extern int p3 =5; extern int p4 =3; extern int Limit=70; //--- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; double ExtMapBuffer3[]; double ExtMapBuffer4[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_NONE); SetIndexBuffer(0,ExtMapBuffer1); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1,ExtMapBuffer2); SetIndexStyle(2,DRAW_LINE); SetIndexBuffer(2,ExtMapBuffer3); SetIndexStyle(3,DRAW_LINE); SetIndexBuffer(3,ExtMapBuffer4); IndicatorDigits(Digits+1); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { int counted_bars=IndicatorCounted(), i,limit1,limit2,limit3,limit4; double impuls; if(counted_bars<0) return(-1); if(counted_bars>0) counted_bars--; limit1=Bars-counted_bars-1; if (limit1>Limit && Limit>0) limit1=Limit; limit2=limit1; limit3=limit2; limit4=limit3; if(limit1>0) { limit1=500-Period_MA_1-1; limit2=limit1-p2; limit3=limit2-p3; limit4=limit3-p4; } for(i=limit1;i>=0;i--) {ExtMapBuffer1[i]=Close[i]-Close[i+Period_MA_1];} for(i=limit2;i>=0;i--) {ExtMapBuffer2[i]=iMAOnArray(ExtMapBuffer1, 0, p2, 0, MODE_EMA,i);} for(i=limit3;i>=0;i--) {ExtMapBuffer3[i]=iMAOnArray(ExtMapBuffer2, 0, p3, 0, MODE_EMA,i);} for(i=limit4;i>=0;i--) {ExtMapBuffer4[i]=iMAOnArray(ExtMapBuffer3, 0, p4, 0, MODE_EMA,i);} return(0); } Михаил 2014.03.25 13:32 #5599 我在哪里可以读到关于mt4的课程? 我读了帮助,但它没有解释以下几行的意思 CArray::CArray(void) : m_step_resize(16), m_data_total(0), m_data_max(0), m_sort_mode(-1) { } 在哪里可以读到关于变量初始化 的信息... Роман 2014.03.25 14:17 #5600 Vladon: 功能必须设置变量 例如,bool closee=OrderClose........... 应检查'OrderSelect'的返回值 应 检查'OrderDelete'的返回值 应检查'OrderSend'的返回值 应检查'OrderClose'的返回值 应检查'OrderModify'的返回值 为了避免这种警告,必须明确指定返回变量的方式 像这样。 bool select1=OrderSelect.......... bool delete1=OrderDelete.......... bool close1=OrderClose.......... bool modify1=OrderModify.......... int send1=OrderSend.......... 谢谢你。它在没有任何警告的情况下工作。 以手册中的一个例子为指导:-) 删除订单 删除先前的待定订单。 bool OrderDelete( int ticket, //订单号 color arrow_color // color ); 参数 门票 [订单的唯一序列号。 箭头_颜色 [in] 图表上箭头的颜色。如果该参数缺失或其值为CLR_NONE,图表中就不会显示箭头。 返回的值 如果函数成功完成则返回true,如果有错误则返回false。要获得错误信息,请调用GetLastError()。 例子。 如果(Ask>var1) { OrderDelete(order_ticket)。 return(0); } 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 Any rookie question, so [存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. 1...553554555556557558559560561562563564565566567...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我的专家顾问,在deinit()中,将98496行写入*.csv的日志文件。
为什么专家在测试器中完成的时候,它的卸载方式不同。
- 在测试日期结束时卸货的情况下,一切正常(98496行)。
- 在通过 "停止 "按钮卸货的情况下,只有大约10%的数据。
谁知道问题会是什么呢?
当用户自己卸载专家顾问时,强制终止专家顾问。
最好是在开始时直接记录数据。
伙计们,你们如何理解这个警告?
谢谢你。
函数必须被设置为一个变量
例如 bool closee=OrderClose...........
为了避免这种警告,必须明确指定返回变量的方式
比如说像这样。
下午好。你能告诉我是否有可能在一个OBJ_TEXT对象的图形上定义或计算宽度/高度?
如何计算字符数,+字体大小 或类似的东西?
如果知道的话,如何找到第一个开仓订单的OrderOpenPrice。
1.符号
2.购买订单可以从一个到多个打开
3.魔术
4.订单之间的差异,可能是以票为单位 - 找到最小的票。
阅读关于创建EA的文章 :https://book.mql4.com/ru/samples/expert
你能告诉我如何在一个柱状体上打开交易,并在下一个柱状体出现时关闭它吗?
1.打开交易时,请记住酒吧的时间
像这样。
在起点之外。
int timeopen;
在开始的时候,你有一个交易开放。
像这样收尾。
请告诉我。我怎样才能找出一个特定符号的未平仓订单的数量,而不需要循环...
没有循环,就没有办法做到。
亲爱的,我需要你的帮助。
我正在通过指标优化我的专家顾问,指标的代码如下。
优化的速度很慢,我在EA中做了一个代码,在一个新的条形图 上重新计算指标,这不是很合适。
请看一下指标的代码,可以做什么来使重新计算更快。
我在哪里可以读到关于mt4的课程?
我读了帮助,但它没有解释以下几行的意思
在哪里可以读到关于变量初始化 的信息...
功能必须设置变量
例如,bool closee=OrderClose...........
为了避免这种警告,必须明确指定返回变量的方式
像这样。
谢谢你。它在没有任何警告的情况下工作。
以手册中的一个例子为指导:-)
删除订单
删除先前的待定订单。
bool OrderDelete(
int ticket, //订单号
color arrow_color // color
);
参数
门票
[订单的唯一序列号。
箭头_颜色
[in] 图表上箭头的颜色。如果该参数缺失或其值为CLR_NONE,图表中就不会显示箭头。
返回的值
如果函数成功完成则返回true,如果有错误则返回false。要获得错误信息,请调用GetLastError()。
例子。
如果(Ask>var1)
{
OrderDelete(order_ticket)。
return(0);
}