Доброго времени, очень увлекся разработкой на mql, но к сожалению позволить себе это могу лишь в выходные дни, но в выходные дни проблема с отладкой.
Тестировщик стратегий тоже не подойдет, так как у меня требуется ручной вход а уже дальше совой включается работа.
И вот как быть, искал но вот так вот сходу не нашел ни одного ДЦ который бы давал пусть даже фейковые тики в выходные (меня для тестирования устроит любая пара, даже битки)
Спасибо.
В тестере ручной вход тоже можно реализовать. Эксперт помещает на график элемент Label. И проверяет его наличие. Если вы его удалили вручную, то эксперт открывает сделку.
можно просто вывести кнопки Бай/Селл/Лот и опрашивать нажатие на каждом тике... без заморочек с удалением/созданием объектов
пс. это для четверки, на пятерке ничего не светит...
Доброго времени, очень увлекся разработкой на mql, но к сожалению позволить себе это могу лишь в выходные дни, но в выходные дни проблема с отладкой.
Тестировщик стратегий тоже не подойдет, так как у меня требуется ручной вход а уже дальше совой включается работа.
И вот как быть, искал но вот так вот сходу не нашел ни одного ДЦ который бы давал пусть даже фейковые тики в выходные (меня для тестирования устроит любая пара, даже битки)
Спасибо.
btc-e.com работает 24/7/365
СПАСИБО! Всем, оба варианта рабочие и мне подходят!
Буду разбираться!
Доброго времени, очень увлекся разработкой на mql, но к сожалению позволить себе это могу лишь в выходные дни, но в выходные дни проблема с отладкой.
Тестировщик стратегий тоже не подойдет, так как у меня требуется ручной вход а уже дальше совой включается работа.
По-моему, выделить час в сутки в будние дни для отладки - вполне себе реально.
Да и что это за такая ТС, где нельзя входить на автомате, по каким-то критериям ?
Доброго времени, очень увлекся разработкой на mql, но к сожалению позволить себе это могу лишь в выходные дни, но в выходные дни проблема с отладкой.
Тестировщик стратегий тоже не подойдет, так как у меня требуется ручной вход а уже дальше совой включается работа.
И вот как быть, искал но вот так вот сходу не нашел ни одного ДЦ который бы давал пусть даже фейковые тики в выходные (меня для тестирования устроит любая пара, даже битки)
Спасибо.
можно просто вывести кнопки Бай/Селл/Лот и опрашивать нажатие на каждом тике... без заморочек с удалением/созданием объектов
пс. это для четверки, на пятерке ничего не светит...
Не, кнопки, наследники от CButton работают в тестере нормально. Не работает графика, пашет только в МТ4.
А для кнопок вот, вырезал рабочий код, разберетесь, кому надо. Пашет в МТ4/5 без проблем.
#property strict #include <Controls\WndObj.mqh> //#include <Controls\BmpButton.mqh> #include <Controls\Button.mqh> #include <Controls\Panel.mqh> #include <Arrays\ArrayObj.mqh> //#include <AvLib\SmartNetDefs.mqh> string BtnName[BTN_ROWS][BTN_COLS] = {{"btnSellEnable", "btnBuyEnable"}, {"btnCloseLoss", "btnCloseProfit"}}; string BtnText[BTN_ROWS][BTN_COLS] = {{"Sell enable", "Buy enable"}, {"Close loss", "Close profit"}}; int XYCoord[BTN_ROWS][BTN_COLS][4] = {{{20,50,100,75}, {110,50,190,75}}, {{20,85,100,110}, {110,85,190,110}}}; color BtnColor[BTN_ROWS][BTN_COLS][2] = {{{clrLime,clrRed}, {clrLime,clrRed}}, {{clrLime,clrRed}, {clrLime,clrRed}}}; color BtnTextColor[BTN_ROWS][BTN_COLS][2] = {{{clrBlack,clrLinen}, {clrBlack,clrLinen}}, {{clrBlack,clrLinen}, {clrBlack,clrLinen}}}; class CTradeButtons : CObject { protected: CButton* ArrButtons[BTN_ROWS][BTN_COLS]; color m_buttonColor; color m_buttonsBorderColor; color m_fontColor; int m_fontSize; string m_fontName; bool m_visible; //const string BtnName[BTN_ROWS][BTN_COLS]; //const string BtnName[BTN_ROWS][BTN_COLS] = {{"btnSellEnable", "btnBuyEnable"}, {"btnCloseLoss", "btnCloseProfit"}}; public: CTradeButtons() { /*BtnName[0][0] = "btnSellEnable"; BtnName[0][1] = "btnBuyEnable"; BtnName[1][0] = "btnCloseLoss"; BtnName[1][1] = "btnCloseProfit";*/ } ~CTradeButtons() { DeleteButtons(); } void SetVisible(bool visible) { CButton *btn; m_visible = visible; for(int nrow = 0; nrow < BTN_ROWS; nrow++) for(int ncol = 0; ncol < BTN_COLS; ncol++) { btn = ArrButtons[nrow][ncol]; btn.Visible(visible); } ChartRedraw(); } void SetParams(color buttonColor, color buttonsBorderColor, color fontColor, int fontSize, string fontName, bool visible) { m_buttonColor = buttonColor; m_buttonsBorderColor = buttonsBorderColor; m_fontColor = fontColor; m_fontSize = fontSize; m_fontName = fontName; m_visible = visible; DeleteButtons(); CreateButtons(); } bool GetPressedState(int row, int col) { CButton *btn = ArrButtons[row][col];//.Pressed(); return true; } /* bool GetPressedState(int row, int col) { return ArrButtons[row][col].Pressed(); }*/ bool GetPressedState(string name, bool& state) { for(int row = 0; row < BTN_ROWS; row++) for(int col = 0; col < BTN_COLS; col++) { if(StringFind(name, BtnName[row][col]) != -1) { state = ArrButtons[row][col].Pressed(); if(state) { ArrButtons[row][col].ColorBackground(BtnColor[row][col][1]); ArrButtons[row][col].Color(BtnTextColor[row][col][1]); } else { ArrButtons[row][col].ColorBackground(BtnColor[row][col][0]); ArrButtons[row][col].Color(BtnTextColor[row][col][0]); } return true; // кнопка нашлась } } return false; //не нашлась } void SetPressedState(int row, int col, bool state) { ArrButtons[row][col].Pressed(state); } void SetPressedState(string name, bool state) { for(int row = 0; row < BTN_ROWS; row++) for(int col = 0; col < BTN_COLS; col++) { if(StringFind(name, BtnName[row][col]) != -1) { ArrButtons[row][col].Pressed(state); if(state) { ArrButtons[row][col].ColorBackground(BtnColor[row][col][1]); ArrButtons[row][col].Color(BtnTextColor[row][col][1]); } else { ArrButtons[row][col].ColorBackground(BtnColor[row][col][0]); ArrButtons[row][col].Color(BtnTextColor[row][col][0]); } return; // кнопка нашлась } } } void DeleteButtons() { for(int row = 0; row < BTN_ROWS; row++) for(int col = 0; col < BTN_COLS; col++) { CButton* btn = ArrButtons[row][col]; if(CheckPointer(btn) == POINTER_DYNAMIC) delete btn; } ObjectsDeleteAll(0, "btn"); ChartRedraw(); } CButton* CreateButton(string bname, int x1, int y1, int x2, int y2, color bcolor, string btext, string font, int fontSize,// bool visible, color colorBackground, color colorBorder, long chart = 0, int subwin = 0) { CButton* btn = new CButton(); btn.Create(chart, bname, subwin, x1, y1, x2, y2); btn.Color(bcolor); btn.Text(btext); btn.Font(font); btn.FontSize(fontSize); // btn.Visible(m_visible); btn.ColorBackground(colorBackground); btn.ColorBorder(colorBorder); return btn; } void CreateButtons() { for(int nrow = 0; nrow < BTN_ROWS; nrow++) for(int ncol = 0; ncol < BTN_COLS; ncol++) { CButton* btn = CreateButton(BtnName[nrow][ncol], XYCoord[nrow][ncol][0], XYCoord[nrow][ncol][1], XYCoord[nrow][ncol][2], XYCoord[nrow][ncol][3], clrBlack, BtnText[nrow][ncol], "Arial Rounded MT Bold", 10, BtnColor[nrow][ncol][0], clrBeige); if(CheckPointer(btn) == POINTER_DYNAMIC) ArrButtons[nrow][ncol] = btn; else ArrButtons[nrow][ncol] = NULL; } ChartRedraw(); } };
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Доброго времени, очень увлекся разработкой на mql, но к сожалению позволить себе это могу лишь в выходные дни, но в выходные дни проблема с отладкой.
Тестировщик стратегий тоже не подойдет, так как у меня требуется ручной вход а уже дальше совой включается работа.
И вот как быть, искал но вот так вот сходу не нашел ни одного ДЦ который бы давал пусть даже фейковые тики в выходные (меня для тестирования устроит любая пара, даже битки)
Спасибо.