帮助升级到MetaTrader 5而没有损失 - 页 13 1...6789101112131415161718192021 新评论 Mykola Demko 2011.11.08 15:58 #121 mario065:你好。我不能做我想做的事。我的脑子里有一个不同的口型缓冲器,我有一副不同的,与我脑子里的那个不同。[code] #property indicator_separate_window #property indicator_buffers 6 #property indicator_plots 2 #property indicator_type1 DRAW_COLOR_LINE #property indicator_type2 DRAW_COLOR_LINE #property indicator_color1 clrBlue #property indicator_color2 clrRed #property indicator_style1 STYLE_SOLID #property indicator_style2 STYLE_SOLID input int period_1 = 20; input int period_2 = 100; input ENUM_MA_METHOD ma_method = MODE_SMA; input ENUM_APPLIED_PRICE applied_price = PRICE_CLOSE; double ExtMapBuffer1[]; double ExtMapBuffer2[]; int EMHandle1=0; int EMHandle2=0; int EMHandle11=0; int EMHandle22=0; MqlParam params[]; // Структура за съхранение параметрите на индикатора double ma1[],ma2[],ma3[],ma4[];//Временни буфери int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0, ExtMapBuffer1, INDICATOR_DATA); SetIndexBuffer(1, ExtMapBuffer2, INDICATOR_DATA); SetIndexBuffer(2, ma1, INDICATOR_DATA); SetIndexBuffer(3, ma2, INDICATOR_DATA); SetIndexBuffer(4, ma3, INDICATOR_DATA); SetIndexBuffer(5, ma4, INDICATOR_DATA); PlotIndexSetInteger(0, PLOT_SHIFT, 0); PlotIndexSetInteger(1, PLOT_SHIFT, 0); PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID); PlotIndexSetInteger(1,PLOT_LINE_STYLE,STYLE_SOLID); //--- PlotIndexSetInteger(0,PLOT_LINE_COLOR,clrBlue); PlotIndexSetInteger(1,PLOT_LINE_COLOR,clrRed); PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE); PlotIndexSetInteger(1,PLOT_DRAW_TYPE,DRAW_LINE); IndicatorSetString(INDICATOR_SHORTNAME,"2_2_MA"); //--- set accuracy IndicatorSetInteger(INDICATOR_DIGITS,4); //--- ArrayResize(params,4); params[0].type =TYPE_INT; params[0].integer_value=period_1; // Смещение params[1].type =TYPE_INT; params[1].integer_value=0; // Метод расчета: простое усреднение params[2].type =TYPE_INT; params[2].integer_value=MODE_SMA; // Тип цен для рассчета: цены закрытия params[3].type =TYPE_INT; params[3].integer_value=PRICE_CLOSE; EMHandle1 = IndicatorCreate(_Symbol, 0, IND_MA, 4, params); ArrayResize(params,4); params[0].type =TYPE_INT; params[0].integer_value=period_2; params[1].type =TYPE_INT; params[1].integer_value=0; params[2].type =TYPE_INT; params[2].integer_value=MODE_SMA; params[3].type =TYPE_INT; params[3].integer_value=PRICE_CLOSE; EMHandle2 = IndicatorCreate(_Symbol, 0, IND_MA, 4, params); ArrayResize(params,4); params[0].type =TYPE_INT; params[0].integer_value=period_1; params[1].type =TYPE_INT; params[1].integer_value=0; params[2].type =TYPE_INT; params[2].integer_value=MODE_SMA; params[3].type =TYPE_INT; params[3].integer_value=PRICE_CLOSE; EMHandle11 = IndicatorCreate(_Symbol, 0, IND_MA, 4, params); ArrayResize(params,4); params[0].type =TYPE_INT; params[0].integer_value=period_2; params[1].type =TYPE_INT; params[1].integer_value=0; params[2].type =TYPE_INT; params[2].integer_value=MODE_SMA; params[3].type =TYPE_INT; params[3].integer_value=PRICE_CLOSE; EMHandle22 = IndicatorCreate(_Symbol, 0, IND_MA, 4, params); return(0); } int OnCalculate (const int rates_total, // размер массива price[]; const int prev_calculated,// количество доступных баров ;на предыдущем вызове; const int begin,// с какого индекса в массиве price[] начинаются достоверные данные; const double &price[]) // массив, по которому и будет считаться индикатор; { int i; ArraySetAsSeries(ma1, true); ArraySetAsSeries(ma2, true); ArraySetAsSeries(ma3, true); ArraySetAsSeries(ma4, true); if(CopyBuffer(EMHandle1, 0, 0, 1, ma1) < 0){Print("CopyBuffer ma1 error =", GetLastError());} if(CopyBuffer(EMHandle2, 0, 0, 1, ma2) < 0){Print("CopyBuffer ma2 error =", GetLastError());} if(CopyBuffer(EMHandle11, 0, 0, 1, ma3) < 0){Print("CopyBuffer ma3 error =", GetLastError());} if(CopyBuffer(EMHandle22, 0, 0, 1, ma4) < 0){Print("CopyBuffer ma4 error =", GetLastError());} int limit; //if(prev_calculated<1) //limit=period_1; limit=prev_calculated-1; for( i=0; i<limit; i++) ExtMapBuffer1[0]=вычисление; ExtMapBuffer2[0]=вычисление; Comment( "\n=====================", "\n ma1[0] : ",DoubleToString(ma1[0],5), "\n ma2[0] : ",DoubleToString(ma2[0],5), "\n ma3[0] : ",DoubleToString(ma3[0],5), "\n ma4[0] : ",DoubleToString(ma4[0],5), "\n ExtMapBuffer1[0] : ",DoubleToString(ExtMapBuffer1[0],4), "\n ExtMapBuffer2[0] : ",DoubleToString(ExtMapBuffer2[0],4) ); return(rates_total); } void OnDeinit(const int reason) { Comment(""); } [/code] 当0代替i时(对于一个条形图)我看到了结果,当条形图(当前=i)显示我找不到第二对数据。该货币对的图表是开放的,在市场窗口中,我不知道我在哪里混淆了事情。一个指标中有两个不同的配对 - 那么我的错误在哪里?我试着输入0,看到结果是注释,但我没有得到一行。澄清一下:我把ma1和ma2放在一对,ma3和ma4放在另一对。谢谢。首先,你从0----->prev_calculated-1开始计算,你需要从最后一栏计算到rate_total。这一点。 limit=prev_calculated-1; for( i=0; i<limit; i++) ExtMapBuffer1[0]=вычисление;把它改成这样。 for(int i=prev_calculated-1>=0?prev_calculated-1:0; i<rates_total; i++) ExtMapBuffer1[i]=вычисление;第二件事我不太明白,你想从不同的工具或不同的时间框架中获得缪量,我在代码中找不到这两点。 master_kiln 2011.11.08 23:06 #122 日安,先生们!谁能帮助我为MT5改编以下指标(预存文件)。我将扔给你10美元的啤酒作为工作报酬。 附加的文件: y53ym_4701i6_a8nz50mw.mq4 8 kb ManyMA2.mq4 6 kb ManyMA.mq4 10 kb --- 2011.11.08 23:14 #123 master_kiln:日安,先生们!谁能帮助我为MT5改编以下指标(预存文件)。我将扔给你10美元的啤酒作为工作报酬。https://www.mql5.com/ru/job MQL5 работа www.mql5.com Заказы на разработку программ для трейдинга mario 2011.11.09 14:23 #124 Urain。 谢谢你的关注。 我不能让它画出来。 如果你能,就放在这里。 我认为在xpert中制作不同的配对和不同的框架是很酷的。 //+------------------------------------------------------------------+//|2_2_v2.硕士生//|尤里-托克曼 |//|yuriytokman@gmail.com|//+------------------------------------------------------------------+#财产版权 "Yuriy Tokman"#属性链接"yuriytokman@gmail.com"#财产版本 "1.00"#属性 indicator_separate_window#property indicator_buffers 6#property indicator_plots 2#属性 indicator_type1 DRAW_COLOR_LINE#属性 indicator_type2 DRAW_COLOR_LINE#property indicator_color1 clrBlue#属性 indicator_color2 clrRed#property indicator_style1 STYLE_SOLID#property indicator_style2 STYLE_SOLID//#property indicator_label1 "EURUSD"//#property indicator_label2 "GBPUSD" 输入 int period_1 = 13 ; 输入 int period_2 = 55 ;; 输入ENUM_MA_METHOD ma_method = MODE_SMA。 输入ENUM_APPLIED_PRICE applied_price = PRICE_CLOSE。 双倍ExtMapBuffer1[]。 双倍ExtMapBuffer2[]。 int EMHandle1; int EMHandle2;; int EMHandle11; int EMHandle22; 双倍的ma1[],ma2[],ma3[],ma4[];//times buffer double p1 = SymbolInfoDouble("EURUSD",SYMBOL_POINT)。 double p2 = SymbolInfoDouble("GBPUSD",SYMBOL_POINT)。//+------------------------------------------------------------------+//|自定义指标初始化函数//+------------------------------------------------------------------+ int OnInit(){//------指标缓冲区的映射 SetIndexBuffer(0, ExtMapBuffer1, INDICATOR_DATA)。 SetIndexBuffer(1, ExtMapBuffer2, INDICATOR_DATA)。 SetIndexBuffer(2, ma1, INDICATOR_DATA)。 SetIndexBuffer(3, ma2, INDICATOR_DATA)。 SetIndexBuffer(4, ma3, INDICATOR_DATA)。 SetIndexBuffer(5, ma4, INDICATOR_DATA)。 PlotIndexSetInteger(0, PLOT_SHIFT, 0)。 PlotIndexSetInteger(1, PLOT_SHIFT, 0)。 PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID)。 PlotIndexSetInteger(1,PLOT_LINE_STYLE,STYLE_SOLID)。//--- PlotIndexSetInteger(0,PLOT_LINE_COLOR,clrBlue)。 PlotIndexSetInteger(1,PLOT_LINE_COLOR,clrRed)。 PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,1)。 PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,1)。 PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE)。 PlotIndexSetInteger(1,PLOT_DRAW_TYPE,DRAW_LINE)。//----数据窗口的名称 IndicatorSetString(INDICATOR_SHORTNAME, "2_2_MA")。//--- //---设置精度 IndicatorSetInteger(INDICATOR_DIGITS,4)。 EMHandle1 = iMA("EURUSD", 0, period_1, 0, ma_method, applied_price); EMHandle2 = iMA("EURUSD", 0, period_2, 0, ma_method, applied_price); EMHandle11 = iMA("GBPUSD", 0, period_1, 0, ma_method, applied_price); EMHandle22 = iMA("GBPUSD", 0, period_2, 0, ma_method, applied_price); ArraySetAsSeries(ExtMapBuffer1,true)。 ArraySetAsSeries(ExtMapBuffer2,true)。 ArraySetAsSeries(ma1,true)。 ArraySetAsSeries(ma2,true)。 ArraySetAsSeries(ma3,true)。 ArraySetAsSeries(ma4, true)。 //--- return(0);}//+------------------------------------------------------------------+//|自定义指标迭代函数|//+------------------------------------------------------------------+ int OnCalculate (const int rates_total,// size of array price[]; const int prev_calculated,//可用的条数;在之前的调用中。 const int begin,//价格[]数组中的哪个索引将开始有效数据。 const double &price[]) // array, on which the indicator will be calculated;{ 如果(CopyBuffer(EMHandle1, 0, 0, 1, ma1)<0){打印("CopyBuffer ma1 error =", GetLastError());}。 如果(CopyBuffer(EMHandle2, 0, 0, 1, ma2)<0){打印("CopyBuffer ma2 error =", GetLastError());}。 如果(CopyBuffer(EMHandle11, 0, 0, 1, ma3)<0){打印("CopyBuffer ma3 error =", GetLastError());}。 如果(CopyBuffer(EMHandle22, 0, 0, 1, ma4) < 0){打印("CopyBuffer ma4 error =", GetLastError());}。 ExtMapBuffer1[0]=(ma1[0]-ma2[0])/p1; ExtMapBuffer2[0]=(ma3[0]-ma4[0])/p2; 评论("\n=====================","/n ma1[] : ",DoubleToString(ma1[0],5),"/n ma2[] : ",DoubleToString(ma2[0],5),"/n ma3[] : ",DoubleToString(ma3[0],5),"/n ma4[] : ",DoubleToString(ma4[0],5),"/n ExtMapBuffer1[] : ",DoubleToString(ExtMapBuffer1[0],4)。"/n ExtMapBuffer2[] : ",DoubleToString(ExtMapBuffer2[0],4));//---//---为下一次调用返回prev_calculated的值 return(rate_total)。} 空白的OnDeinit(const int reason)。{ 评论(")。 }//+------------------------------------------------------------------+ Help to upgrade to 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 从理论到实践 IgorMak 2011.12.03 15:10 #125 大家好。我有一个请求,希望为MT5重做这个指标,因为我只在交易中使用它。 附加的文件: TradeChannel_.mq4 12 kb ZahvatkiN 2011.12.17 23:02 #126 我不知道该在哪里写,但也许你能帮我解决这个问题:在MT4中,你只需将EA复制到experts文件夹中,然后运行策略测试器,一切看起来都很好,可以正常工作,但在MT5中,我不明白如何测试一个EA,我把它扔在experts文件夹中,扩展名是.NET。我在其他地方复制和粘贴了它们。 你能告诉我如何复制一个EA并在哪里正确粘贴吗? Mykola Demko 2011.12.17 23:32 #127 ZahvatkiN:我不知道该在哪里写,但也许你能帮我解决这个问题:在MT4中,你只需将EA复制到experts文件夹中,然后运行策略测试器,一切看起来都很好,可以正常工作,但在MT5中,我不明白如何测试EA,我在文件夹experts中扔了一个扩展名为.我把它们复制并粘贴在其他地方。 你能告诉我如何正确地复制一个EA,并把它粘贴在哪里?你既可以在测试器中运行,也可以在实时中运行,你只能运行带有扩展名ex5的EA或编译版的EA。如果你在MetaEditor中打开一个mq5文件,按F7,你会很高兴。带有扩展名mq5的源代码,这只是测试信息,为了从它得到字节码(可执行代码),你需要编译它。 ZahvatkiN 2011.12.18 00:01 #128 Urain 谢谢你的回答,只是我知道所有的基础知识,我按照说明编译和做了所有的事情,尽管我知道,但我再一次读了一遍,我不知道会有什么问题,这里有2个皮肤的附件。我从这个网站下载了MT5。 附加的文件: 1__17.jpg 420 kb 2__10.jpg 117 kb Mykola Demko 2011.12.18 02:16 #129 ZahvatkiN:Urain 谢谢你的回答,只是我知道所有的基础知识,我按照说明编译和做了所有的事情,尽管我知道,但我再一次读到了,我甚至不知道会有什么问题,这里有2个皮肤的附件。我从这个网站下载了MT5。我想把我的grr-al.ex5的副本放在正确的文件夹里,并在确保它在正确的文件夹里后重新加载MT5。顺便问一下,电脑上只有MT5吗? ZahvatkiN 2011.12.18 14:09 #130 Urain 终于明白了,事情是这样的:EA不是复制到C:\Program Files\MT5\MQL5\Experts文件夹,而是复制到C:\Users\Dyma\AppData\Roaming\MetaQuotes\Terminal\8B052D0699A0083067EBF3A36123603B\MQL5\Experts,我不知道为什么这样麻烦,这些该死的程序员))))。 1...6789101112131415161718192021 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。
我不能做我想做的事。
我的脑子里有一个不同的口型缓冲器,我有一副不同的,与我脑子里的那个不同。
当0代替i时(对于一个条形图)我看到了结果,当条形图(当前=i)显示我找不到第二对数据。
该货币对的图表是开放的,在市场窗口中,我不知道我在哪里混淆了事情。
一个指标中有两个不同的配对 - 那么我的错误在哪里?
我试着输入0,看到结果是注释,但我没有得到一行。
澄清一下:我把ma1和ma2放在一对,ma3和ma4放在另一对。
谢谢。
首先,你从0----->prev_calculated-1开始计算,你需要从最后一栏计算到rate_total。
这一点。
把它改成这样。
第二件事我不太明白,你想从不同的工具或不同的时间框架中获得缪量,我在代码中找不到这两点。
日安,先生们!
谁能帮助我为MT5改编以下指标(预存文件)。
我将扔给你10美元的啤酒作为工作报酬。
日安,先生们!
谁能帮助我为MT5改编以下指标(预存文件)。
我将扔给你10美元的啤酒作为工作报酬。
Urain。
谢谢你的关注。
我不能让它画出来。 如果你能,就放在这里。
我认为在xpert中制作不同的配对和不同的框架是很酷的。
//+------------------------------------------------------------------+
//|2_2_v2.硕士生
//|尤里-托克曼 |
//|yuriytokman@gmail.com|
//+------------------------------------------------------------------+
#财产版权 "Yuriy Tokman"
#属性链接"yuriytokman@gmail.com"
#财产版本 "1.00"
#属性 indicator_separate_window
#property indicator_buffers 6
#property indicator_plots 2
#属性 indicator_type1 DRAW_COLOR_LINE
#属性 indicator_type2 DRAW_COLOR_LINE
#property indicator_color1 clrBlue
#属性 indicator_color2 clrRed
#property indicator_style1 STYLE_SOLID
#property indicator_style2 STYLE_SOLID
//#property indicator_label1 "EURUSD"
//#property indicator_label2 "GBPUSD"
输入 int period_1 = 13 ;
输入 int period_2 = 55 ;;
输入ENUM_MA_METHOD ma_method = MODE_SMA。
输入ENUM_APPLIED_PRICE applied_price = PRICE_CLOSE。
双倍ExtMapBuffer1[]。
双倍ExtMapBuffer2[]。
int EMHandle1;
int EMHandle2;;
int EMHandle11;
int EMHandle22;
双倍的ma1[],ma2[],ma3[],ma4[];//times buffer
double p1 = SymbolInfoDouble("EURUSD",SYMBOL_POINT)。
double p2 = SymbolInfoDouble("GBPUSD",SYMBOL_POINT)。
//+------------------------------------------------------------------+
//|自定义指标初始化函数
//+------------------------------------------------------------------+
int OnInit()
{
//------指标缓冲区的映射
SetIndexBuffer(0, ExtMapBuffer1, INDICATOR_DATA)。
SetIndexBuffer(1, ExtMapBuffer2, INDICATOR_DATA)。
SetIndexBuffer(2, ma1, INDICATOR_DATA)。
SetIndexBuffer(3, ma2, INDICATOR_DATA)。
SetIndexBuffer(4, ma3, INDICATOR_DATA)。
SetIndexBuffer(5, ma4, INDICATOR_DATA)。
PlotIndexSetInteger(0, PLOT_SHIFT, 0)。
PlotIndexSetInteger(1, PLOT_SHIFT, 0)。
PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID)。
PlotIndexSetInteger(1,PLOT_LINE_STYLE,STYLE_SOLID)。
//---
PlotIndexSetInteger(0,PLOT_LINE_COLOR,clrBlue)。
PlotIndexSetInteger(1,PLOT_LINE_COLOR,clrRed)。
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,1)。
PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,1)。
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE)。
PlotIndexSetInteger(1,PLOT_DRAW_TYPE,DRAW_LINE)。
//----数据窗口的名称
IndicatorSetString(INDICATOR_SHORTNAME, "2_2_MA")。
//---
//---设置精度
IndicatorSetInteger(INDICATOR_DIGITS,4)。
EMHandle1 = iMA("EURUSD", 0, period_1, 0, ma_method, applied_price);
EMHandle2 = iMA("EURUSD", 0, period_2, 0, ma_method, applied_price);
EMHandle11 = iMA("GBPUSD", 0, period_1, 0, ma_method, applied_price);
EMHandle22 = iMA("GBPUSD", 0, period_2, 0, ma_method, applied_price);
ArraySetAsSeries(ExtMapBuffer1,true)。
ArraySetAsSeries(ExtMapBuffer2,true)。
ArraySetAsSeries(ma1,true)。
ArraySetAsSeries(ma2,true)。
ArraySetAsSeries(ma3,true)。
ArraySetAsSeries(ma4, true)。
//---
return(0);
}
//+------------------------------------------------------------------+
//|自定义指标迭代函数|
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,// size of array price[];
const int prev_calculated,//可用的条数;在之前的调用中。
const int begin,//价格[]数组中的哪个索引将开始有效数据。
const double &price[]) // array, on which the indicator will be calculated;
{
如果(CopyBuffer(EMHandle1, 0, 0, 1, ma1)<0){打印("CopyBuffer ma1 error =", GetLastError());}。
如果(CopyBuffer(EMHandle2, 0, 0, 1, ma2)<0){打印("CopyBuffer ma2 error =", GetLastError());}。
如果(CopyBuffer(EMHandle11, 0, 0, 1, ma3)<0){打印("CopyBuffer ma3 error =", GetLastError());}。
如果(CopyBuffer(EMHandle22, 0, 0, 1, ma4) < 0){打印("CopyBuffer ma4 error =", GetLastError());}。
ExtMapBuffer1[0]=(ma1[0]-ma2[0])/p1;
ExtMapBuffer2[0]=(ma3[0]-ma4[0])/p2;
评论(
"\n=====================",
"/n ma1[] : ",DoubleToString(ma1[0],5),
"/n ma2[] : ",DoubleToString(ma2[0],5),
"/n ma3[] : ",DoubleToString(ma3[0],5),
"/n ma4[] : ",DoubleToString(ma4[0],5),
"/n ExtMapBuffer1[] : ",DoubleToString(ExtMapBuffer1[0],4)。
"/n ExtMapBuffer2[] : ",DoubleToString(ExtMapBuffer2[0],4)
);
//---
//---为下一次调用返回prev_calculated的值
return(rate_total)。
}
空白的OnDeinit(const int reason)。
{
评论(")。
}
//+------------------------------------------------------------------+
大家好。
我有一个请求,希望为MT5重做这个指标,因为我只在交易中使用它。
我不知道该在哪里写,但也许你能帮我解决这个问题:在MT4中,你只需将EA复制到experts文件夹中,然后运行策略测试器,一切看起来都很好,可以正常工作,但在MT5中,我不明白如何测试一个EA,我把它扔在experts文件夹中,扩展名是.NET。我在其他地方复制和粘贴了它们。 你能告诉我如何复制一个EA并在哪里正确粘贴吗?
我不知道该在哪里写,但也许你能帮我解决这个问题:在MT4中,你只需将EA复制到experts文件夹中,然后运行策略测试器,一切看起来都很好,可以正常工作,但在MT5中,我不明白如何测试EA,我在文件夹experts中扔了一个扩展名为.我把它们复制并粘贴在其他地方。 你能告诉我如何正确地复制一个EA,并把它粘贴在哪里?
你既可以在测试器中运行,也可以在实时中运行,你只能运行带有扩展名ex5的EA或编译版的EA。
如果你在MetaEditor中打开一个mq5文件,按F7,你会很高兴。带有扩展名mq5的源代码,这只是测试信息,为了从它得到字节码(可执行代码),你需要编译它。
Urain 谢谢你的回答,只是我知道所有的基础知识,我按照说明编译和做了所有的事情,尽管我知道,但我再一次读了一遍,我不知道会有什么问题,这里有2个皮肤的附件。我从这个网站下载了MT5。
Urain 谢谢你的回答,只是我知道所有的基础知识,我按照说明编译和做了所有的事情,尽管我知道,但我再一次读到了,我甚至不知道会有什么问题,这里有2个皮肤的附件。我从这个网站下载了MT5。
我想把我的grr-al.ex5的副本放在正确的文件夹里,并在确保它在正确的文件夹里后重新加载MT5。
顺便问一下,电脑上只有MT5吗?
Urain 终于明白了,事情是这样的:EA不是复制到C:\Program Files\MT5\MQL5\Experts文件夹,而是复制到C:\Users\Dyma\AppData\Roaming\MetaQuotes\Terminal\8B052D0699A0083067EBF3A36123603B\MQL5\Experts,我不知道为什么这样麻烦,这些该死的程序员))))。