Наверно моя проблема относиться к теме "Не корректное моделирование тиков на м5"
Вот сваял советника, который открывает и закрывает сделки на каждом тике, можно так сказать почувствовать разницу )
//----------------------------------------
Вот сваял советника, который открывает и закрывает сделки на каждом тике, можно так сказать почувствовать разницу )
//----------------------------------------
dimontus:
Такой вопрос, почему при тестирование на минутках, значения индикатора для D1 отличаются от значения нидикатора при тетсировании на D1. и указание текущего ТФ.
Продемонстрируйте. Тестер только разное количество тиков генерирует
на разных таймфреймах.
Такой вопрос, почему при тестирование на минутках, значения индикатора для D1 отличаются от значения нидикатора при тетсировании на D1. и указание текущего ТФ.
Вся демонстрация в разнице тиков, значит они на разных ТФ генерируются
по разному, разница почти в 2 раза. Просто как то странно, ведь
дневки строяться из минуток и тики так же должы генерироватся.
Да и открывать сделки они начинают с разницей в 2 минуты, хотелось
бы узнать почему так. получаеться что минута 20.07 начинаеться
в 00:02, и значение индикатора мы тоже получим в 00:02, а если тетсировать
по дневкам все получаем все в 00:00
dimontus:
Вся демонстрация в разнице тиков, значит они на разных ТФ генерируются по разному, разница почти в 2 раза. Просто как то странно, ведь дневки строяться из минуток и тики так же должы генерироватся. Да и открывать сделки они начинают с разницей в 2 минуты, хотелось бы узнать почему так. получаеться что минута 20.07 начинаеться в 00:02, и значение индикатора мы тоже получим в 00:02, а если тетсировать по дневкам все получаем все в 00:00
Вся демонстрация в разнице тиков, значит они на разных ТФ генерируются по разному, разница почти в 2 раза. Просто как то странно, ведь дневки строяться из минуток и тики так же должы генерироватся. Да и открывать сделки они начинают с разницей в 2 минуты, хотелось бы узнать почему так. получаеться что минута 20.07 начинаеться в 00:02, и значение индикатора мы тоже получим в 00:02, а если тетсировать по дневкам все получаем все в 00:00
Заблуждаетесь. При одинаковом значении цены индикаторы покажут одинаковые значение независимо от того на чем проводится тестирование на М1 или D1. Как обычно ... разговор есть а оснований для разговора нет. Где код который демонстрирует различные занчения индкиатора?
dimontus:
Вся демонстрация в разнице тиков, значит они на разных ТФ генерируются по разному, разница почти в 2 раза. Просто как то странно, ведь дневки строяться из минуток и тики так же должы генерироватся. Да и открывать сделки они начинают с разницей в 2 минуты, хотелось бы узнать почему так. получаеться что минута 20.07 начинаеться в 00:02, и значение индикатора мы тоже получим в 00:02, а если тетсировать по дневкам все получаем все в 00:00
Вся демонстрация в разнице тиков, значит они на разных ТФ генерируются по разному, разница почти в 2 раза. Просто как то странно, ведь дневки строяться из минуток и тики так же должы генерироватся. Да и открывать сделки они начинают с разницей в 2 минуты, хотелось бы узнать почему так. получаеться что минута 20.07 начинаеться в 00:02, и значение индикатора мы тоже получим в 00:02, а если тетсировать по дневкам все получаем все в 00:00
Заблуждаетесь. При одинаковом значении цены индикаторы покажут одинаковые значение независимо от того на чем проводится тестирование на М1 или D1. Как обычно ... разговор есть а оснований для разговора нет. Где код который демонстрирует различные значения индикатора?
код представлен выше :-)
Вот полный код эксперта:
Вот полный код эксперта:
//+------------------------------------------------------------------+ //| 1_MACD.mq4 | //| | //| | //+------------------------------------------------------------------+ extern int Revers =1; extern int Slippage =3; extern int magicNumup =756456400; extern string s="<-----Управление рисками----->"; extern double MaximumRisk =0; extern int OptimizeType =1; extern double MaximumLots =0; extern double Lots =0.01; int openCurBuy =0; int openCurSell =0; //#include <1_filtrMACD.mqh> extern string MACD1="-----> Настройки MACD <-----"; int tframeMACDarr[10]= {0,PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_H4, PERIOD_D1, PERIOD_W1, PERIOD_MN1}; extern int tframeMACD=7; extern int fast_ema_period=12;// - Период. Может быть одним из периодов графика. 0 означает период текущего графика. extern int slow_ema_period=26; // - Период усреднения основной линии индикатора. extern int signal_period=9;// - Используемая цена. Может быть любой из ценовых констант. int priceMACDarr[7]={ // Используемая цена. Может быть любой из ценовых констант. PRICE_CLOSE,// 0 Цена закрытия PRICE_OPEN,// 1 Цена открытия PRICE_HIGH,// 2 Максимальная цена PRICE_LOW,// 3 Минимальная цена PRICE_MEDIAN,// 4 Средняя цена, (high+low)/2 PRICE_TYPICAL,// 5 Типичная цена, (high+low+close)/3 PRICE_WEIGHTED};// 6 Взвешенная цена закрытия, (high+low+close+close)/4 extern int applied_price=0; int modeMACD=2;// - Индекс линии индикатора. Может быть любым из идентификаторов линий индикаторов. extern int shiftMACD=0;// - Индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад). double macdRet(int mode) { return(iMACD(Symbol(),tframeMACDarr[tframeMACD],fast_ema_period,slow_ema_period,signal_period,priceMACDarr[applied_price],mode,shiftMACD)); } int signalMACD() { double sig1=macdRet(0); double sig2=macdRet(1); if(sig1>sig2)return(OP_SELL); if(sig1<sig2)return(OP_BUY); } //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- numOrd(); int sig=signalMACD(); //Print(sig); if(sig==OP_BUY ) { closeOrderType(OP_SELL); if(openCurBuy==0)openBuy(); } if(sig==OP_SELL ) { closeOrderType(OP_BUY); if(openCurSell==0) openSell(); } //---- return(0); } //+------------------------------------------------------------------+ void numOrd() { int total =OrdersTotal(); string str; int num; int vopenCurBuy; int vopenCurSell; for(int pos=total-1;pos>=0;pos--) { if (OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue; if (OrderMagicNumber()!=magicNumup) continue; if (OrderSymbol()!=Symbol())continue; switch (OrderType()) { case OP_BUY: vopenCurBuy++; break; case OP_SELL: vopenCurSell++; break; } } openCurBuy=vopenCurBuy; openCurSell=vopenCurSell; // if(openCurBuy==0 && openCurSell==0)fNull(); return; } int closeOrderType(int type, int itsPorifit=0) { int total =OrdersTotal(); for(int pos=total-1;pos>=0;pos--) { if (OrderSelect(pos,SELECT_BY_POS,MODE_TRADES)==false) continue; if (OrderMagicNumber()!=magicNumup) continue; if (OrderSymbol()!=Symbol())continue; if (OrderType()!=type)continue; switch (OrderType()) { case OP_BUY: if(OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Blue)==false) break; case OP_SELL: if(OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Red)==false) break; } } return(0); } double LotsOptimized(int type) { return(Lots); } int openSell() { OrderSend(Symbol(),OP_SELL,LotsOptimized(OP_SELL),Bid,Slippage,0,0,"MTS ордер Sell",magicNumup,0,Red); } int openBuy() { OrderSend(Symbol(),OP_BUY,LotsOptimized(OP_BUY),Ask,Slippage,0,0,"MTS ордер Buy",magicNumup,0,Blue); }протестируйте по евре на дневках, модель все тики, и на минутках с такой же моделью. ТФ индикатора установлен на дневки переменной
extern int tframeMACD=7;
можно посмотреть по результатам сделок :-)
dimontus:
можно посмотреть по результатам сделок :-)
можно посмотреть по результатам сделок :-)
Разные результаты тестирования только из-за разного количества тиков, но не из-за разных показаний индикатора.
Объясни почему разное кол-во тиков?
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Может что не так сделал?
Код получения значения индикатора