初学者的问题 MQL5 MT5 MetaTrader 5 - 页 873 1...866867868869870871872873874875876877878879880...1503 新评论 Artyom Trishkin 2018.05.28 17:24 #8721 Лауреат:我在YouTube上找不到它。 文档只是给聪明人看的。Youtube是我们的东西?你也知道南北在YouTube上的位置吗? Kvin_ 2018.05.28 19:23 #8722 当EA启动时,两条移动平均线被添加到图表中(ChartIndicatorAdd 函数)。两条移动平均线都是用红色画的。我怎样才能以编程方式给它们着色? Viktar Dzemikhau 2018.05.28 23:30 #8723 Kvin_:当EA启动时,两条移动平均线被添加到图表中(ChartIndicatorAdd 函数)。两条移动平均线都是用红色画的。如何以编程方式将它们涂成其他颜色?帮助 是非常清楚的。 当你为你所处理的指标创建一个句柄时,你可以在该行指定一个参数。 indicator_handle=iMACD(symbol,period,fast_ema_period,slow_ema_period,signal_period,apr); Лауреат 2018.05.29 02:09 #8724 Artyom Trishkin:YouTube是我们的一切吗?你也从YouTube视频中知道南北的位置吗?当然,你很聪明。 Vladimir Karputov 2018.05.29 03:32 #8725 Kvin_:当EA启动时,两条移动平均线被添加到图表中(ChartIndicatorAdd 函数)。两条移动平均线都是用红色画的。如何以编程方式将它们涂成其他颜色?使用有特殊设置的自定义指标:颜色。 自定义移动平均线输入颜色代码 中的例子。 以跨越两个iMA 为例,现在三个指标的调用在视觉策略测试器中是明显的。 Kvin_ 2018.05.29 15:01 #8726 Vladimir Karputov:使用一个有特殊设置的自定义指标:颜色。 自定义移动平均线输入颜色代码 中的例子。 以跨越两个iMA 为例,现在三个指标的调用在视觉策略测试器中是明显的。 正是我所需要的。谢谢你! ilyav 2018.05.30 07:14 #8727 我无法弄清地段的乘法系数。 以前在代码库EA中,它是将前一个批次乘以2。 if(last_position_type==POSITION_TYPE_BUY && m_symbol.Bid()+count_positions*ExtStep<last_position_price_open) m_trade.Sell(last_position_volume*2,m_symbol.Name()); 我把它改成了 input double KLot = 1.5; //Коэффициент умножения лота //------------------------------------------ if(last_position_type==POSITION_TYPE_BUY && m_symbol.Bid()+count_positions*ExtStep<last_position_price_open) m_trade.Sell(last_position_volume*KLot,m_symbol.Name()); 我得到的是错误的数量 Vladimir Karputov 2018.05.30 07:23 #8728 ilyav:我无法弄清地段的乘法系数。 以前在代码库EA中,它是将前一个批次乘以2。 我把它改成了 我得到了错误的批量在做完算术后,你应该将手数调整为该符号的手数步骤。 例子:硬币翻转 手数的 计算和买入的检查 //+------------------------------------------------------------------+ //| Open Buy position | //+------------------------------------------------------------------+ void OpenBuy(double sl,double tp) { sl=m_symbol.NormalizePrice(sl); tp=m_symbol.NormalizePrice(tp); double check_open_long_lot=0.0; if(Risk>0.0) { check_open_long_lot=m_money.CheckOpenLong(m_symbol.Ask(),sl); Print("sl=",DoubleToString(sl,m_symbol.Digits()), ", CheckOpenLong: ",DoubleToString(check_open_long_lot,2), ", Balance: ", DoubleToString(m_account.Balance(),2), ", Equity: ", DoubleToString(m_account.Equity(),2), ", FreeMargin: ", DoubleToString(m_account.FreeMargin(),2)); if(check_open_long_lot==0.0) { Print(__FUNCTION__,", ERROR: method CheckOpenLong returned the value of \"0.0\""); return; } } else check_open_long_lot=InpLots; if(last_lots_sl>0.0) check_open_long_lot=last_lots_sl*InpMartingale; if(check_open_long_lot>InpMaxLots) { Print(__FUNCTION__,", ERROR: check_open_long_lot (",DoubleToString(check_open_long_lot,2),") > \"Max lots\" (",DoubleToString(check_open_long_lot,2),")"); ExpertRemove(); return; } check_open_long_lot=LotCheck(check_open_long_lot); if(check_open_long_lot==0) { Print(__FUNCTION__,", ERROR: LotCheck -> 0.0"); return; } //--- check volume before OrderSend to avoid "not enough money" error (CTrade) double check_volume_lot=m_trade.CheckVolume(m_symbol.Name(),check_open_long_lot,m_symbol.Ask(),ORDER_TYPE_BUY); if(check_volume_lot!=0.0) { if(check_volume_lot>=check_open_long_lot) { if(m_trade.Buy(check_open_long_lot,NULL,m_symbol.Ask(),sl,tp)) { if(m_trade.ResultDeal()==0) { Print("#1 Buy -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResult(m_trade,m_symbol); } else { Print("#2 Buy -> true. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResult(m_trade,m_symbol); } } else { Print("#3 Buy -> false. Result Retcode: ",m_trade.ResultRetcode(), ", description of result: ",m_trade.ResultRetcodeDescription()); PrintResult(m_trade,m_symbol); } } else { string text=""; if(Risk>0.0) text="< method CheckOpenLong ("+DoubleToString(check_open_long_lot,2)+")"; else text="< Lots ("+DoubleToString(InpLots,2)+")"; Print(__FUNCTION__,", ERROR: method CheckVolume (",DoubleToString(check_volume_lot,2),") ", text); return; } } else { Print(__FUNCTION__,", ERROR: method CheckVolume returned the value of \"0.0\""); return; } //--- } Andrii Djola 2018.05.30 12:26 #8729 你好,这样的问题。 是否可以动态地改变指标中的缓冲区/行数? Aleksey Vyazmikin 2018.05.30 13:04 #8730 Andrii Djola:你好,这样的问题。 是否可以动态地改变指标中的缓冲区/行数?你不能。 1...866867868869870871872873874875876877878879880...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我在YouTube上找不到它。 文档只是给聪明人看的。
Youtube是我们的东西?你也知道南北在YouTube上的位置吗?
当EA启动时,两条移动平均线被添加到图表中(ChartIndicatorAdd 函数)。两条移动平均线都是用红色画的。我怎样才能以编程方式给它们着色?
当EA启动时,两条移动平均线被添加到图表中(ChartIndicatorAdd 函数)。两条移动平均线都是用红色画的。如何以编程方式将它们涂成其他颜色?
帮助 是非常清楚的。
当你为你所处理的指标创建一个句柄时,你可以在该行指定一个参数。
indicator_handle=iMACD(symbol,period,fast_ema_period,slow_ema_period,signal_period,apr);
YouTube是我们的一切吗?你也从YouTube视频中知道南北的位置吗?
当然,你很聪明。
当EA启动时,两条移动平均线被添加到图表中(ChartIndicatorAdd 函数)。两条移动平均线都是用红色画的。如何以编程方式将它们涂成其他颜色?
使用有特殊设置的自定义指标:颜色。
自定义移动平均线输入颜色代码 中的例子。
以跨越两个iMA 为例,现在三个指标的调用在视觉策略测试器中是明显的。
使用一个有特殊设置的自定义指标:颜色。
自定义移动平均线输入颜色代码 中的例子。
以跨越两个iMA 为例,现在三个指标的调用在视觉策略测试器中是明显的。
我无法弄清地段的乘法系数。
以前在代码库EA中,它是将前一个批次乘以2。
我把它改成了
我得到的是错误的数量
我无法弄清地段的乘法系数。
以前在代码库EA中,它是将前一个批次乘以2。
我把它改成了
我得到了错误的批量
在做完算术后,你应该将手数调整为该符号的手数步骤。
例子:硬币翻转 手数的 计算和买入的检查
你好,这样的问题。
是否可以动态地改变指标中的缓冲区/行数?
你好,这样的问题。
是否可以动态地改变指标中的缓冲区/行数?
你不能。