Вот пример простого кода панели, выполненного на VisualBasic2010: (Путь к файлу должен напоминать папку Common Files вашего терминала)
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim filepathOut1 As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\sell.txt" Dim filepathOut2 As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\close.txt" Dim filepathIn As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\buy.txt" If (My.Computer.FileSystem.FileExists(filepathOut1)) Then My.Computer.FileSystem.DeleteFile(filepathOut1) End If If (My.Computer.FileSystem.FileExists(filepathOut2)) Then My.Computer.FileSystem.DeleteFile(filepathOut2) End If System.IO.File.Create(filepathIn).Dispose() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim filepathOut As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\buy.txt" Dim filepathOut2 As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\close.txt" Dim filepathIn As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\sell.txt" If (My.Computer.FileSystem.FileExists(filepathOut)) Then My.Computer.FileSystem.DeleteFile(filepathOut) End If If (My.Computer.FileSystem.FileExists(filepathOut2)) Then My.Computer.FileSystem.DeleteFile(filepathOut2) End If System.IO.File.Create(filepathIn).Dispose() End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim filepathOut1 As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\buy.txt" Dim filepathOut2 As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\sell.txt" Dim filepathIn As String = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\close.txt" If (My.Computer.FileSystem.FileExists(filepathOut1)) Then My.Computer.FileSystem.DeleteFile(filepathOut1) End If If (My.Computer.FileSystem.FileExists(filepathOut2)) Then My.Computer.FileSystem.DeleteFile(filepathOut2) End If System.IO.File.Create(filepathIn).Dispose() End Sub
Вот пример кода простой панели, выполненный на VisualBasic2010: (путь к файлу должен напоминать папку Common Files вашего терминала)
Привет, спасибо за ваши усилия и за то, что поделились ими!
Я очень долго искал ручной тестер на Mt5, я использовал старый FX Blue Trading Simulator v2 (http://www.fxblue.com/appstore/39/mt4-trading-simulator).
Но, к сожалению, он доступен только на Mt4, не позволяя мне тестировать стратегии на акциях cfd на моем текущем счете Mt5.
Я установил ваш тестер и успешно создал шаблон, но проблема в том, что я не могу разместить ни одной сделки, так как я не могу попасть в панель.
Затем я понял, что она создана на Vb10, поэтому я скачал Visualbasic и попытался скопировать и вставить ваш код, чтобы создать (без успеха) мою панель.
Я никогда не использовал Vb10 и не кодил; я просто скопировал в новый пустой проект ваш код, изменив путь к файлам, чтобы найти общие файлы моего терминала.
Я не смог ни отладить, ни опубликовать панель, поскольку Vb10 возвращает мне эту ошибку:

Не могли бы вы помочь мне каким-либо образом собрать панель, чтобы я мог попробовать полный и рабочий тестер стратегий?
Заранее большое спасибо и еще раз все мои благодарности за ваш вклад в сообщество!
Маттео
- FX Blue Labs - www.fxbluelabs.com
- www.fxblue.com
Привет, спасибо за ваши усилия и за то, что поделились ими!
Я очень долго искал ручной тестер на Mt5; я использовал старый FX Blue Trading Simulator v2(http://www.fxblue.com/appstore/39/mt4-trading-simulator).
Но, к сожалению, он доступен только на Mt4, не позволяя мне тестировать стратегии на акциях cfd на моем текущем счете Mt5.
Я установил ваш тестер и успешно создал шаблон, но проблема в том, что я не могу разместить ни одной сделки, так как я не могу попасть в панель.
Затем я понял, что она создана на Vb10, поэтому я скачал Visualbasic и попытался скопировать и вставить ваш код, чтобы создать (без успеха) мою панель.
Я никогда не использовал Vb10 и не кодил; я просто скопировал в новый пустой проект ваш код, изменив путь к файлам, чтобы найти общие файлы моего терминала.
Я не смог ни отладить, ни опубликовать панель, поскольку Vb10 возвращает мне эту ошибку:
Не могли бы вы помочь мне каким-либо образом собрать панель, чтобы я мог попробовать полный и рабочий тестер стратегий?
Заранее большое спасибо и еще раз все мои благодарности за ваш вклад в сообщество!
Маттео
Надеюсь, это поможет...
VB10:
1. Откройте visual studio 2010
2. Нажмите на раздел "File", выберите NEW project, затем нажмите на Windows Forms Application
3. Появится новая форма:

4. Добавьте на форму три КНОПКИ:

Вы можете изменить текст кнопки на "Купить", "Продать", "Закрыть", щелкните правой кнопкой мыши на кнопке и выберите свойства: (вы можете сделать это позже)

5. Дважды щелкните на всех трех кнопках, и вы увидите что-то вроде этого:
Все приватные подкнопки должны находиться внутри публичного класса Form1...
6. Скопируйте коды для каждой кнопки, теперь ваша форма выглядит следующим образом:
7. Не забудьте найти общую папку Mt5, путь к файлам должен совпадать с папкой в коде.
Моя выглядит так: "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\xxx.txt".
Самый быстрый способ найти общую папку вашего терминала - это зайти в редактор MT5 MetaEditor, перейти в раздел "Файл" и нажать на "Общая папка данных":

Скопируйте путь к папке в файловые папки вашего кода VB10.
8. Далее на VB10 перейдите в "Файл" и нажмите "Сохранить все", запомните папку, в которую вы будете сохранять вашу программу VB10.
Она понадобится вам позже.


В этом примере я назвал свою программу "MyTradingPanel"...
9. Запустите тестовый запуск, запустите отладку, если все сделано правильно, в списке ошибок не должно появиться ни одной ошибки.


10. Находясь в режиме отладки, найдите общую папку MT5 и посмотрите, появляются ли файлы при нажатии на кнопку панели VB10.
Самый быстрый способ найти общую папку терминала - зайти в MetaEditor, перейти в File и нажать на common files.
11. Проверьте кнопку, и вы должны увидеть, что в папке появился текстовый файл.

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

14. Теперь перейдите в раздел "Build", щелкните проект, с которым вы работали. (Я сохранил свой проект под именем MyTradingPanel
до этого.) Ниже вы должны увидеть сообщение об успешной сборке в VB10.


14. Перейдите в папку сохранения VB10 (это папка, в которую вы сохранили свой проект),
извлеките приложение из папки "\Bin\Debug".

15. Вы можете скопировать-вставить файл приложения в любую папку или поместить на рабочий стол для легкого доступа.
16. Запустите советник в тестере стратегий MT5, и теперь вы можете использовать панель.
17. Вот и все, вы только что прошли базовый краш-курс по VB10 :)
Удачи, надеюсь, у вас все получится.
Привет, спасибо за ваши усилия и за то, что поделились ими!
Я никогда не использовал Vb10 и не кодил; я просто скопировал в новый пустой проект ваш код, изменив путь к файлам, чтобы найти общие файлы моего терминала.
Я не смог ни отладить, ни опубликовать панель, так как Vb10 возвращает мне эту ошибку:
Не могли бы вы помочь мне каким-либо образом собрать панель, чтобы я мог попробовать полный и рабочий тестер стратегий?
Заранее большое спасибо и еще раз все мои благодарности за ваш вклад в сообщество!
Маттео
После сохранения проекта... Возможно, вы захотите проверить настройки VB перед сборкой:
1. В правой части "Solution Explorer" щелкните правой кнопкой мыши на проекте, затем перейдите к "Properties".

2. в Properties проверьте раздел "Compile" и "Build output path": (по умолчанию >>> "bin\Debug\") это должно сохранить вывод в том месте, где вы сохранили файлы проекта, но вы можете просмотреть его и изменить местоположение выходного файла.

3. проверьте раздел "Отладка", перейдите в "Параметры и настройки"... или Инструменты, Параметры... и проверьте (двойной щелчок) "Проекты и решение", нажмите "Собрать и запустить" и в "При запуске, когда проекты устарели: ", выберите "Всегда собирать".

Надеюсь, это решило вашу проблему со сборкой.
После сохранения проекта... Возможно, вам захочется проверить настройки VB перед сборкой:
1. В правой части "Solution Explorer" щелкните правой кнопкой мыши на проекте, затем перейдите в "Свойства".
2. в Properties проверьте раздел "Compile" и "Build output path": (по умолчанию >>> "bin\Debug\") это должно сохранить вывод в том месте, где вы сохранили файлы проекта, но вы можете просмотреть его и изменить, куда должен быть помещен файл вывода.
3. проверьте раздел "Отладка", перейдите в "Параметры и настройки"... или Инструменты, Параметры... и проверьте (двойной щелчок) "Проекты и решение", нажмите "Собрать и запустить" и в "При запуске, когда проекты устарели: ", выберите "Всегда собирать".
Надеюсь, это решило вашу проблему со сборкой.
Спасибо за быстрый ответ!
Я целый день играл с Vb10 и нашел, как графически разместить кнопки на форме, а потом не смог ни отладить, ни опубликовать панель...
Затем я случайно дважды щелкнул по 1-й ошибке в журнале и обнаружил, что программа предлагает исправить... и именно это я и сделал. на всех 5 ошибках!
Вы не представляете, как я был счастлив через мгновение после нажатия кнопки отладки! :D
Я только что сделал полный тест на metatrader и открыл форум, чтобы сообщить вам... и вот ваш ответ!
Возможно, ваш способ исправления может быть более надежным, и я думаю создать новую версию, следуя вашей инструкции :)
Как я уже говорил, я никогда не кодил, но этот вкус меня очень заинтриговал.
Я думаю, как круто было бы реализовать поле для выбора размера лота и функцию SL / TP (возможно, перетаскиваемую на график).
Эти функции должны быть закодированы в mql5 ea и затем связаны с панелью? Или это "только" Vb10?
Я не думаю, что я смогу это сделать... но мне интересно, сколько работы и уровень кодирования, необходимый для успеха! :)
В любом случае, я так счастлив уже сейчас с моей новой торговой игрушкой в руках! (Предстоит долгая ночь... Я уже вижу, как симулирую и изучаю все выходные!!!) ;D
Еще раз большое спасибо!
До встречи.
Мат
Спасибо за быстрый ответ!
Я целый день игрался с Vb10 и нашел как графически вывести кнопки на форму, а потом не смог ни отладить, ни опубликовать уже панель...
Затем я случайно дважды щелкнул по 1-й ошибке в журнале и обнаружил, что программа предлагает исправить... и именно это я и сделал. на всех 5 ошибках!
Вы не представляете, как я был счастлив через мгновение после нажатия кнопки отладки! :D
Я только что сделал полный тест на metatrader и открыл форум, чтобы сообщить вам... и вот ваш ответ!
Возможно, ваш способ исправления может быть более надежным, и я думаю создать новую версию, следуя вашей инструкции :)
Как я уже говорил, я никогда не кодил, но этот вкус меня очень заинтриговал.
Я думаю, как круто было бы реализовать поле для выбора размера лота и функцию SL / TP (возможно, перетаскиваемую на график).
Эти функции должны быть закодированы в mql5 ea и затем связаны с панелью? Или это "только" Vb10?
Я не думаю, что я смогу это сделать... но мне интересно, сколько работы и уровень кодирования, необходимый для успеха! :)
В любом случае, я так счастлив уже сейчас с моей новой торговой игрушкой в руках! (Предстоит долгая ночь... Я уже вижу, как симулирую и изучаю все выходные!!!) ;D
Еще раз большое спасибо!
До встречи.
Мат
Мой друг спросил, можно ли использовать кнопку макроса Excel в этом советнике, так как внутренний VB уже существует в Excel.... подумал, что я мог бы поделиться этим, немного длинным и сложным, если вы не создавали макрос Excel, но если вы уже сделали это, то это на самом деле базовые вещи и простые, как кажется.
Использование Excel2007:
1. Настройте сначала панель быстрого доступа excel для легкого доступа к кнопке.
- Щелкните правой кнопкой мыши на "Главная", затем выберите "Показать панель инструментов быстрого доступа под лентой".
- Щелкните "Быстрый доступ", затем прокрутите вниз, чтобы выбрать дополнительные команды, выберите "Настроить", "Выбрать команду из
Команда не с ленты, затем прокрутите и выберите Кнопка, нажмите Добавить, затем нажмите ОК.




2. Нажмите на инструмент "Кнопка", затем создайте кнопку в excel. Должно появиться окно с запросом макроса, если оно не появилось, щелкните правой кнопкой мыши на кнопке и выберите назначить макрос.
В окне назначения макроса введите имя (в данном примере я назвал его EApanel), затем нажмите "Создать", затем "ОК"...

4. После нажатия кнопки "ОК" должно появиться окно Excel Visual Basic.
- Замените текущий код, который появился, на коды, написанные ниже. (Сначала удалите все в окне редактирования, а затем введите или скопируйте новые коды),
Примечание: После того как вы ввели коды, не сохраняйте их, иначе вы запутаетесь, если вы не делали этот макрос раньше. просто следуйте шагам.
!!!! ОБРАТИТЕ ВНИМАНИЕ: Расположение COMMON FOLDER в MT5 должно быть похоже на путь к вашей собственной папке!!! (Путь к файлу в имени файла в коде - это мое расположение папки, отредактируйте
Вы можете легко проверить путь к папке, открыв Mt5 MetaEditor и нажав "Файл", выберите "Открыть общую папку данных".
Dim FileNameIn As String Sub Buy_Click() FileNameIn = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\buy.txt" If DoesFileExist(FileNameIn) = 0 Then Open FileNameIn For Output As #1 ' create a new file if does not exist Else End If Close #1 End Sub Sub Sell_Click() FileNameIn = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\sell.txt" If DoesFileExist(FileNameIn) = 0 Then Open FileNameIn For Output As #1 ' create a new file if does not exist Else End If Close #1 End Sub Sub Close_Click() FileNameIn = "C:\Users\Rmd user\AppData\Roaming\MetaQuotes\Terminal\Common\Files\close.txt" If DoesFileExist(FileNameIn) = 0 Then Open FileNameIn For Output As #1 ' create a new file if does not exist Else End If Close #1 End Sub Function DoesFileExist(FileName As String) As Byte ' returns 1 if FileName exists, otherwise 0 If Dir(FileName, vbNormal) <> "" Then DoesFileExist = 1 Else DoesFileExist = 0 End If End Function
5. Теперь вернитесь в Excel (не закрывайте окно vb). В Excel... Сохраните Excel сначала как MACRO ENABLED EXCEL FILE... выберите "Сохранить как", затем выберите "Рабочая книга Excel с поддержкой макросов". Он должен быть MACRO ENABLED...
Я сохранил свой файл как EApanel и назвал его в vb-макросе просто для удобства, не обязательно, чтобы имя было одинаковым.

6. Теперь вернитесь в окно Visual Basic... Сохраните макрос vb, в меню Файл нажмите Сохранить (ваш макрос VB).
(Если вы хотите также сохранить файл module1.bas, выберите экспорт и поместите его в папку, обратите внимание, что файлы macro vb сохраняются в специальном файле, предназначенном только для использования в excel,
сохранение файла module.bas помогает иметь резервную копию созданных макрокодов).

7. Теперь вернитесь в Excel, создайте еще две кнопки или скопируйте кнопку Button1 и вставьте в нее еще две кнопки (либо создайте еще одну, либо просто скопируйте и вставьте первую кнопку).
8. Переименуйте кнопки, щелкните правой кнопкой мыши и выберите "Изменить текст", назовите три кнопки: "Купить", "Продать" и "Закрыть".

9 Теперь давайте назначим макрос для каждой из них... на кнопке "Купить" щелкните правой кнопкой мыши и выберите "Назначить макрос", назначьте его на "Buy_click"...

10. Проделайте то же самое с двумя кнопками, но назначьте каждой свое назначение клика... Sell - Sell_click, Close - Close_click.
11. Сохраните Excel... снова Обратите внимание: он должен быть сохранен как MACRO ENABLED WORKBOOK (поскольку вы сохранили его как раньше, теперь вы можете просто нажать "Сохранить").
12. Вернитесь в окно Visual Basic, нажмите на "Отладка", а затем на "Компилировать VBA-проект".

13. Протестируем его, свернем Excel, откроем папку расположения советника, протестируем кнопку, при каждом нажатии должен появляться файл в общей папке расположения советника...
Это занимает немного времени - от одной до двух секунд, но при самостоятельном использовании в тестере стратегий - немного быстрее.
В этот момент удалите текстовые файлы вручную, когда вы выходите из папки, иначе советник будет срабатывать при первом открытии, когда увидит первый текстовый файл в папке, если вы его там оставили.
14. Снова сохраните файл Excel и закройте его. Закройте также визуальный базовый модуль excel.
15. ВНИМАНИЕ!!! В зависимости от настроек безопасности макросов Excel по умолчанию, вы можете столкнуться с предупреждением при каждом открытии файла Excel с макросом - это функция безопасности Excel, предупреждающая о запуске макроса.
(Если это произойдет, и если появится запрос на включение, выберите "Включить", чтобы макрос заработал, иначе кнопка не будет работать, так как макрос будет отключен).


Вот и все, все готово, просто откройте Excel вместе с советником, запущенным в тестере стратегий, и начинайте практиковаться :)
Счастливой практики... :)
(Комментарий обновлен: 12 декабря 2016 г.)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования






ManualTradeOnStrategyTester:
Простой способ выставления ордеров вручную в Тестере Стратегий.
Автор: SearchSurf