为什么一些伟大的编码员和交易系统开发者忽略了Metatrader 5? - 页 9

 


how can you not know this  and at the same time tell us how wonderful MT5 is ? it does nothing for your credibility.


你还告诉我MT4策略测试器有 多神奇:):)
看来你是要代表某些人抓我啊?)
我不是鱼 :)

许多交易者不知道 "在每一个点的建模中,测试器独立抽出被测试符号的所有必要时间段"。
许多交易者不相信它。

一些论坛的版主正在禁止只根据回测结果销售EA的会员(特别是MTF EAs)。
因为有很多这样的案例,当编码者编码EA并在互联网上出售时,EA的交易结果与回测结果不同,买家赔钱,编码者消失。

你是否将一些EA的回测结果与正向测试结果进行比较?
我在许多经纪公司(MT4)做了很多年。一些论坛的精英板块是多年前开始的,只是因为在某些情况下,EA的回测结果与正向测试结果不同(我在上面的一些帖子中描述了这些情况)在精英板块之前,metatrader雅虎小组也开始了同样的情况。

至于
MT5 - 我现在只进行手动交易。但比较回溯测试和交易的方式可能是好的,就像我对MT4所做的一样。
例如 - 通过采取一些EA(在收盘条上编码的EA,使用icustom编码的EA,在收盘和开盘条上编码的EA,在开盘时作为icustom编码的EA,在高/低盘时作为icustom编码的EA,以MTF方式编码的EA等),将回测与同一经纪商同期的交易进行比较...几年前我在MT4上做过这样的实验。
问题是这一实验将无疾而终:人们将继续使用回测结果作为证明他们的EA是有利可图的,然后再出售,反正不会有任何改变。

我正在使用MT4(和MT5)的策略测试器来寻找EA的可能设置。

顺便说一下,我昨天用云计算来优化MT5 EA的设置,我花了10分钟而不是10小时(因为云计算)。
是的,云计算是个奇迹。


 
newdigital:


而你却告诉我MT4策略测试器有多神奇:):)
看来你是要代表某些人抓我啊?)
我不是鱼 :)

我的评论只代表我自己,其他人可以为自己说话。 你来到这里积极推广MT5,因此,你应该成为你所推广的东西的专家,并能够回答反对它的论点。 如果不了解你的事实,你就无法做到这一点。

当你比较正向测试和策略测试时,你的正向测试是多长时间? 你使用了多少货币对?

 

多长时间了?
我从2006年开始为某个论坛的精英板块工作,该板块有5个专用服务器,交易100多个EA。一些metatrader账户是在2006年开始的,一直持续到2012年(正向测试)。
你把回测结果和MT4的正向测试进行了比较吗?还是你只是把文章当成了事实?

我开这个话题是为了讨论这篇文章(见我的第一个帖子)--在mql4上传的文章。
这是我在这里的目标。
至于这个主题的标题,这是我的想法。
而且我试图在大多数情况下使用MT5 - 也是我的想法。没有人告诉我(也没有人可以告诉我)。"现在--你将忙于使用MT5而不是MT4"。
看到一些编码员(我的朋友)回复我的电子邮件或我的facebook页面,......而他们却不想去这个mql4论坛回复,这真的很奇怪。


 

IMO,Metaquotes最糟糕的障碍是与过去的代码不兼容(MQL4在MT5上根本无法工作)。这是一个非常非常糟糕的商业决定。

我也曾开发过苹果(Mac、Ipad和Iphone应用程序),如果苹果更新他们的软件,我的应用程序仍然可以工作。它是一家严肃的公司。

出于某种原因,Metaquotes决定,他们的客户的工作没有什么价值。而代价就是没有用户升级到MT5。

我不使用MT5是因为我想使用我的工具,这些工具已经被编码了,我不想再重新编码数千行。

但是,假设我再做一次所有的工作,把我所有的代码翻译成MT5。很快,MT6就会发布,再次毁掉我的工作。

所以,这就像一个投票。我投票给MT4或具有MT4兼容性。

 

嗯......这种情况可能很简单。

extern string     Main_data      = " Trade Volume & Trade Method";
extern double     Lots           =     0.1;
extern double     TakeProfit     =     1000;    // Take Profit Value 
extern int        StopLossMode   =     1;    // Stop Loss Mode 
extern int        TrailStopMode  =     2;    // Trailing Stop Mode 
extern double     BreakEven      =     50;    // Break-Even Value
extern int        SessionStart   =     0;    // Start Hour of Trade Session 
extern int        SessionEnd     =    23;    // End Hour of Trade Session
extern bool       SignalMail     = false; 

extern string     Inputs         = " BrainTrend parameters ";
extern int        TimeFrame      =    240;    // Large Time Frame in min
extern int        NumBars        =   500;
extern int        ConfirmBars    =     2;
extern double     Use_pSAR       =     1;
extern double     pSAR_Step      =  0.02;
extern double     pSAR_Maximum   =   0.2;
extern double     Use_Stoch      =     0;
extern int        Kperiod        =    14; 
extern int        Dperiod        =     5;
extern int        slowing        =     5;
extern double     UpLevel        =    75;
extern double     DnLevel        =    25;
extern double     Use_iTrend     =     1;

for (int i=num;i>=1;i--)
   { 
   double hiBT1 = iCustom(Symbol(),0,"BrainTrend1",NumBars,1,i); 
   double loBT1 = iCustom(Symbol(),0,"BrainTrend1",NumBars,0,i);
   double hi = High[i];
   double lo = Low[i];
   if (mode==1 && result>=0 && (hiBT1 != lo && loBT1 != hi)) {result+=1;}
   //else {result=0;break;}
   if (mode==2 && result<=0 && (hiBT1 != hi && loBT1 != lo)) {result-=1;}  
   //else {result=0;break;}
   }
   
   return(result); 
}

int TradeSignal()
{   
   
   double buyBT1  = iCustom(Symbol(),TimeFrame,"BrainTrend1Sig",NumBars,0,0,1,1);
   double buyBT2  = iCustom(Symbol(),TimeFrame,"BrainTrend2Sig",NumBars,0,1);
   
   double sellBT1 = iCustom(Symbol(),TimeFrame,"BrainTrend1Sig",NumBars,0,0,0,1);
   double sellBT2 = iCustom(Symbol(),TimeFrame,"BrainTrend2Sig",NumBars,1,1);
   
   if (Use_pSAR > 0)
   {
   double SAR = iSAR(NULL,TimeFrame,pSAR_Step,pSAR_Maximum,1);
      if (SAR < Close[1]) int pSAR =  1;
      else
      if (SAR > Close[1]) pSAR = -1;
   }
   
   if (Use_Stoch > 0)
   {
   double StoMain = iStochastic(NULL,TimeFrame,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_MAIN,1);
   double StoSig  = iStochastic(NULL,TimeFrame,Kperiod,Dperiod,slowing,MODE_SMA,0,MODE_SIGNAL,1);
      if (StoMain > StoSig && StoMain < DnLevel && StoSig < DnLevel ) int Stoch = 1;    
      else
      if (StoMain < StoSig && StoMain > UpLevel && StoSig > UpLevel ) Stoch = -1;
   }   

我的意思是 - EA应该附在H1图表上进行交易,并在H4时间框架上获取一些指标的值。
我们看到iTrend指标 ...我花了几年时间与一些优秀的编码员一起为公众开发洗脑交易系统 ...
这个指标对于不同的经纪商可能会显示不同的数值。



 

那么这个人呢?
它是Electra EA的代码

if (UseClassicalEntry)
         {
            string M5_Trend  = findTrend("inf.info10",PERIOD_M5 ,MAPeriod1);
            string M15_Trend = findTrend("inf.info8" ,PERIOD_M15,MAPeriod1);
            string H1_Trend  = findTrend("inf.info6" ,PERIOD_H1 ,MAPeriod2);
            string H4_Trend  = findTrend("inf.info4" ,PERIOD_H4 ,MAPeriod3);
            string PH1_Trend = "";
            string PH4_Trend = "";

            double PvBarMA1=iMA(NULL,PERIOD_H1,MAPeriod2,0,MAMode,MAPrice,2);
            double LastOpen1=iOpen(NULL,PERIOD_H1,1);

               if (LastOpen1 > PvBarMA1) PH1_Trend="UP";
               if (LastOpen1 < PvBarMA1) PH1_Trend="DW";
      
            double PvBarMA2=iMA(NULL,PERIOD_H4,MAPeriod3,0,MAMode,MAPrice,3);
            double LastOpen2=iOpen(NULL,PERIOD_H4,1);

               if (LastOpen2 > PvBarMA2) PH4_Trend="UP";
               if (LastOpen2 < PvBarMA2) PH4_Trend="DW";
            
               doBuy  = (M5_Trend=="UP" && M15_Trend=="UP" && H1_Trend=="DW" && PH1_Trend=="UP" && H4_Trend=="DW" && PH4_Trend=="UP");
               doSell = (M5_Trend=="DW" && M15_Trend=="DW" && H1_Trend=="UP" && PH1_Trend=="DW" && H4_Trend=="UP" && PH4_Trend=="DW");
         }
         else
         {
               doBuy  = (iCustom(Symbol(),240,"AbsoluteStrengthForEA",0,1)==1 && iCustom(Symbol(),240,"AbsoluteStrengthForEA",0,2)!=1);
               doSell = (iCustom(Symbol(),240,"AbsoluteStrengthForEA",1,1)==2 && iCustom(Symbol(),240,"AbsoluteStrengthForEA",1,2)!=2);
         }               

和这个......它与正向测试有关,对吗?它不是关于回溯测试 的 ...我记得--这个EA应该与H1时间框架相连 ....

if (iBars(Symbol(),PERIOD_M5)<200)
              { showTwoStateMessage("lessbars5",Symbol()+" waiting for 200 bars on M5",false); break;  }
         else   showTwoStateMessage("lessbars5",Symbol()+" Bars OK for M5 timeframe",true);

         if (iBars(Symbol(),PERIOD_M15)<200)
              { showTwoStateMessage("lessbars15",Symbol()+" waiting for 200 bars on M15",false); break; }
         else   showTwoStateMessage("lessbars15",Symbol()+" Bars OK for M15 timeframe",true);

         if (iBars(Symbol(),PERIOD_H1)<200)
              { showTwoStateMessage("lessbars60",Symbol()+" waiting for 200 bars on H1",false); break; }
         else   showTwoStateMessage("lessbars60",Symbol()+" Bars OK for H1 timeframe",true);

         if (iBars(Symbol(),PERIOD_H4)<200)
              { showTwoStateMessage("lessbars240",Symbol()+" waiting for 200 bars on H4",false); break;}
         else   showTwoStateMessage("lessbars240",Symbol()+" Bars OK for H4 timeframe",true);
 
flaab:

IMO,Metaquotes最糟糕的障碍是与过去的代码不兼容(MQL4在MT5上根本无法工作)。这是一个非常非常糟糕的商业决定。

我也曾开发过苹果(Mac、Ipad和Iphone应用程序),如果苹果更新他们的软件,我的应用程序仍然可以工作。它是一家严肃的公司。

出于某种原因,Metaquotes决定,他们的客户的工作没有什么价值。而代价就是没有用户升级到MT5。

我不使用MT5是因为我想使用我的工具,这些工具已经被编码了,我不想再重新编码数千行。

但是,假设我再做一次所有的工作,把我所有的代码翻译成MT5。很快,MT6就会发布,再次毁掉我的工作。

所以,这就像一个投票。我投票给MT4或具有MT4兼容性。


是的,flaab
你是对的。

至于我......因为我不是一个程序员(而且我从来没有想过要成为一个程序员),所以有些事情对我来说并不重要。例如,我可以理解mql4代码中的一些内容(因为每个交易者都应该理解)。但我对mql5的代码一无所知--我只能理解一个逻辑。所以,从 "了解一些 "到 "什么都不了解 "的距离=什么都不了解 :)我说的是mql4和mql5的编程语言--如果我不是一个程序员,那么...
我喜欢MT5,因为有很多东西(我在这个主题上描述过)。

但我主要关心的是以下几点。我需要将我所有的工具转换为mql5编程语言。
是的,我开始做了(这需要钱)......但我很抱歉--如果这是我的工具,那么我为什么要把它们送给任何编码员,并问他们 "请把它转换为...学分"?
我想为自己保留它......。我不想把它送给任何编码员(用钱):)
但是要为自己保留它--我必须学习mql5 ...

你看到我在这一页的图片了吗https://www.mql5.com/en/forum/142858/page5(白色背景的图片)?
这是AccountAnalyzer_v1.1指标,从账户历史记录中做这个统计。
如果我不想公开这个工具,我怎么能把它转换到MT5?
没有办法...反正我得学习mql5语言...

我在读一些线程或文章,有人提议在MT5上有一些MT4模拟器......所以我不知道 - 这是真的还是假的。

 
newdigital:

多久了?
我从2006年开始为某个论坛的精英板块做测试,该板块有5个专用服务器,交易100多个EA。

我想问的是,你在正向测试中测试的EA与在策略测试器 测试中以相同设置和可比价位测试的同一EA相比,测试了多长时间?那么,在ST上测试了多长时间?在正向测试上测试了多长时间?

我还没有在正向测试中认真测试过任何EA,我还没有任何值得努力的东西。

 
newdigital:

看到一些编码员(我的朋友)回复我的电子邮件或我的facebook页面,真的很奇怪......而他们却不想去这个mql4论坛回复......

你的个人邮件与mql4编码有什么关系? 你又跑题了吗?
 
newdigital:

嗯......这种情况可能很简单。

我的意思是 - EA应该附在H1图表上进行交易,并在H4时间框架上获取一些指标的值。
我们看到iTrend指标 ...我花了几年时间与一些优秀的编码员一起为公众开发洗脑交易系统 ...
这个指标对于不同的经纪商可能会显示不同的数值。

你对这个代码的问题是什么?