Советники: ManualTradeOnStrategyTester

 

ManualTradeOnStrategyTester:

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

Автор: SearchSurf

 

Вот пример простого кода панели, выполненного на 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
 
SearchSurf:

Вот пример кода простой панели, выполненный на 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 Trading Simulator v2
FX Blue Trading Simulator v2
  • FX Blue Labs - www.fxbluelabs.com
  • www.fxblue.com
The FX Blue Trading Simulator converts the MetaTrader 4 strategy tester into a tool for practising manual trading using historic data. You can use the Simulator to test how well you would have fared under particular historic market conditions - and/or to check how well your favourite indicators would have guided you in the past. The Simulator...
 
<br/ translate="no">
mbertox:

Привет, спасибо за ваши усилия и за то, что поделились ими!

Я очень долго искал ручной тестер на 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 :)

Удачи, надеюсь, у вас все получится.

 
mbertox:

Привет, спасибо за ваши усилия и за то, что поделились ими!


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

Я не смог ни отладить, ни опубликовать панель, так как Vb10 возвращает мне эту ошибку:

Не могли бы вы помочь мне каким-либо образом собрать панель, чтобы я мог попробовать полный и рабочий тестер стратегий?

Заранее большое спасибо и еще раз все мои благодарности за ваш вклад в сообщество!

Маттео


После сохранения проекта... Возможно, вы захотите проверить настройки VB перед сборкой:

1. В правой части "Solution Explorer" щелкните правой кнопкой мыши на проекте, затем перейдите к "Properties".


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


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

Надеюсь, это решило вашу проблему со сборкой.

 
SearchSurf:


После сохранения проекта... Возможно, вам захочется проверить настройки VB перед сборкой:

1. В правой части "Solution Explorer" щелкните правой кнопкой мыши на проекте, затем перейдите в "Свойства".


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


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

Надеюсь, это решило вашу проблему со сборкой.

Спасибо за быстрый ответ!

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

Затем я случайно дважды щелкнул по 1-й ошибке в журнале и обнаружил, что программа предлагает исправить... и именно это я и сделал. на всех 5 ошибках!

Вы не представляете, как я был счастлив через мгновение после нажатия кнопки отладки! :D

Я только что сделал полный тест на metatrader и открыл форум, чтобы сообщить вам... и вот ваш ответ!

Возможно, ваш способ исправления может быть более надежным, и я думаю создать новую версию, следуя вашей инструкции :)

Как я уже говорил, я никогда не кодил, но этот вкус меня очень заинтриговал.

Я думаю, как круто было бы реализовать поле для выбора размера лота и функцию SL / TP (возможно, перетаскиваемую на график).

Эти функции должны быть закодированы в mql5 ea и затем связаны с панелью? Или это "только" Vb10?

Я не думаю, что я смогу это сделать... но мне интересно, сколько работы и уровень кодирования, необходимый для успеха! :)

В любом случае, я так счастлив уже сейчас с моей новой торговой игрушкой в руках! (Предстоит долгая ночь... Я уже вижу, как симулирую и изучаю все выходные!!!) ;D

Еще раз большое спасибо!

До встречи.

Мат

 
mbertox:

Спасибо за быстрый ответ!

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

Затем я случайно дважды щелкнул по 1-й ошибке в журнале и обнаружил, что программа предлагает исправить... и именно это я и сделал. на всех 5 ошибках!

Вы не представляете, как я был счастлив через мгновение после нажатия кнопки отладки! :D

Я только что сделал полный тест на metatrader и открыл форум, чтобы сообщить вам... и вот ваш ответ!

Возможно, ваш способ исправления может быть более надежным, и я думаю создать новую версию, следуя вашей инструкции :)

Как я уже говорил, я никогда не кодил, но этот вкус меня очень заинтриговал.

Я думаю, как круто было бы реализовать поле для выбора размера лота и функцию SL / TP (возможно, перетаскиваемую на график).

Эти функции должны быть закодированы в mql5 ea и затем связаны с панелью? Или это "только" Vb10?

Я не думаю, что я смогу это сделать... но мне интересно, сколько работы и уровень кодирования, необходимый для успеха! :)

В любом случае, я так счастлив уже сейчас с моей новой торговой игрушкой в руках! (Предстоит долгая ночь... Я уже вижу, как симулирую и изучаю все выходные!!!) ;D

Еще раз большое спасибо!

До встречи.

Мат

Есть способ встроить кнопку в сам советник, чтобы использовать его в тестере стратегий MT5, но это потребует предварительного программирования с некоторыми сложными кодами. Я подумал, что таким образом я могу просто использовать эти простые базовые коды на mql5 и иметь возможность использовать его в тестере стратегий. Я не профессиональный программист и все еще нахожусь в процессе обучения и здесь, на MQL5. Просто следите за кодовой базой, возможно, кто-то найдет способ использовать простую кодировку, полностью выполненную на mql5... Если у меня появится шанс и мне удастся создать такую кодировку, я опубликую ее :) ... Получайте удовольствие и надеемся, что практика поможет вам лучше торговать прибыльно :)
 

Мой друг спросил, можно ли использовать кнопку макроса 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 г.)

[Удален]  
Automated-Trading:

ManualTradeOnStrategyTester:

Автор: SearchSurf

ну наконец то, дождался, не прошло и 7 лет, наверное и сейчас это еще актуально
[Удален]  
А не, еще не дождался,.... с костылями примочка, программистам ручное тестирование оно до фени, а кому нужно ручное тестирование - те трейдеры, а не программисты
 
а где панель то ??? как торговать то далеким от програмирования ??