Почему некоторые великие программисты и разработчики торговых систем игнорируют 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 :) :)
Похоже, вы собираетесь ловить меня от имени какой-то группы людей? :)
Я не рыба :)

Многие трейдеры не знают этого "При моделировании каждого тика тестер самостоятельно прокачивает все необходимые таймфреймы для тестируемого инструмента",
и многие трейдеры не доверяют этому.

Модераторы некоторых форумов банят участников за продажу советников, основанных только на результатах бэктестинга (особенно MTF советников).
Потому что было много случаев, когда кодер кодировал советника и продавал его в интернете, советник показывал в торговле результаты, отличающиеся от результатов бэктестинга, покупатели теряли деньги, а кодер исчезал.

Вы сравнивали результаты бэктестинга некоторых советников с результатами форвард-тестирования?
Я делал это в течение многих лет со многими брокерами (MT4). Элитный раздел какого-то форума был создан много лет назад только потому, что результаты бэктестинга советников в некоторых случаях отличались от результатов форвард-тестирования (я описал эти случаи в нескольких сообщениях выше). До элитного раздела была создана группа yahoo metatrader с той же ситуацией.

Что
касается MT5 - я пока торгую только вручную. Но было бы неплохо сравнить бэктестинг с торговлей так же, как я делал это для MT4.
Например, взять несколько советников (советник, закодированный на закрытии бара, советник, закодированный с помощью icustom, советник, закодированный на закрытии и открытии бара, советник, закодированный на открытии как icustom, советник, закодированный на high/low бара как icustom, советник, закодированный в MTF и т.д.) и сравнить бэктестинг с торговлей за тот же период у того же брокера... Я делал это для MT4 несколько лет назад.
Проблема в том, что этот эксперимент ни к чему не приведет: люди будут продолжать использовать результаты бэктестинга как доказательство прибыльности своих советников перед их продажей, и ничего не изменится.

Я использую тестер стратегий для MT4 (и MT5), чтобы найти возможные настройки для советников.

Кстати, вчера я использовал Cloud для оптимизации настроек советника MT5, и это заняло у меня 10 минут вместо 10 часов (из-за Cloud).
Да, Cloud - эточудо.


 
newdigital:


А вы мне рассказываете, какой замечательный тестер стратегий MT4 :) :)
Похоже, вы собираетесь ловить меня от имени какой-то группы людей? :)
Я не рыба :)

Я делаю свои комментарии только от своего имени, все остальные могут говорить сами за себя. Вы пришли сюда, активно продвигая MT5, поэтому вы должны быть экспертом в том, что вы продвигаете, и быть в состоянии ответить на аргументы против этого. Вы не можете сделать это, не зная фактов.

Когда вы сравнивали форвард-тесты с тестированием стратегии, как долго длилось ваше форвард-тестирование? сколько валютных пар вы использовали?

 

Как долго?
Я занимался этим с 2006 года для элитного раздела одного форума, имеющего 5 выделенных серверов и торгующего более чем 100 советниками. Некоторые счета в метатрейдере были запущены в 2006 году и продолжались до 2012 года (форвард-тестирование).
Вы сравнивали результаты бэктестинга и форвард-тестинга для MT4? Или вы просто говорите о статье как о факте?

Я открыл эту тему, чтобы обсудить статью (см. мое первое сообщение) - статью, загруженную в mql4.
Это моя цель здесь.
Что касается названия этой темы, так это моя идея.
И я пытаюсь использовать MT5 в большинстве случаев - тоже моя идея. Никто мне не говорил (и никто не может сказать): "пока что - ты будешь заниматься МТ5 вместо МТ4".
И действительно странно видеть, как некоторые кодеры (мои друзья) отвечают мне на мой e-mail или на мою страницу в facebook, ... и они не хотят идти на этот форум mql4, чтобы ответить...


 

IMO, худшим недостатком Metaquotes является отсутствие совместимости с прошлым кодом (MQL4 вообще не работает на MT5). Это очень и очень плохое бизнес-решение.

Я также разрабатывал приложения для Apple (Mac, Ipad и Iphone), и мои приложения по-прежнему работают, если Apple обновляет свое программное обеспечение. Это серьезная компания.

По какой-то причине Metaquotes решила, что работа их клиентов не имеет ценности. И цена за это - отсутствие пользователей, переходящих на МТ5.

Я не использую 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;
   }   

Я имею ввиду - советник должен быть привязан к графику H1 для торговли и брать значение некоторых индикаторов на таймфрейме H4.
И мы видим индикатор iTrend ... Я потратил несколько лет на публичную разработку торговой системы Brainwashing с некоторыми хорошими кодерами...
Этот индикатор может показывать разные значения для разных брокеров.



 

А что насчет этого?
Это код от 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);
         }               

а этот... он связан с форвард-тестированием, верно? Это не относится к бэктестингу... Насколько я помню - этот советник должен быть прикреплен к таймфрейму 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). Это очень и очень плохое бизнес-решение.

Я также разрабатывал приложения для Apple (Mac, Ipad и Iphone), и мои приложения по-прежнему работают, если Apple обновляет свое программное обеспечение. Это серьезная компания.

По какой-то причине Metaquotes решила, что работа их клиентов не имеет ценности. И цена за это - отсутствие пользователей, переходящих на МТ5.

Я не использую 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...

Я читал какие-то темы или статьи, что кто-то предлагал иметь какой-то эмулятор MT4 на MT5 ... так что я понятия не имею, правда это или нет.

 
newdigital:

Как долго?
Я делал это с 2006 года для элитного раздела одного форума, где было 5 выделенных серверов, на которых торговали более 100 советников.

Я спрашивал, как долго вы тестировали советника на форвард-тесте по сравнению с тем же советником, протестированным с теми же настройками и сопоставимым спредом на тесте Strategy Tester? Так сколько времени на ST? Сколько времени на форвард-тесте?

Я не тестировал ни одного советника серьезно на форвард-тесте, у меня пока нет ничего, что стоило бы усилий.

 
newdigital:

И действительно странно видеть, как некоторые кодеры (мои друзья) отвечают мне на мой e-mail или на мою страницу в facebook, ... и они не хотят идти на этот форум mql4, чтобы ответить...

Какое отношение ваша личная электронная почта имеет к кодированию mql4? Вы опять уходите от темы?
 
newdigital:

Ну ... этот случай может быть простым:

и

То есть - советник должен быть прикреплен к графику H1 для торговли и брать значение некоторых индикаторов на таймфрейме H4.
И мы видим индикатор iTrend ... Я потратил несколько лет на публичную разработку торговой системы Brainwashing с некоторыми хорошими кодерами...
Этот индикатор может показывать разное значение для разных брокеров.

Какой у вас mql4 вопрос по поводу этого кода?
Причина обращения: