エキスパート: ManualTradeOnStrategyTester

 

ManualTradeOnStrategyTester:

EAがMetaTrader 5ストラテジーテスタで手作業による注文コマンドを外部からリンクして使用する簡単な方法。

作者: SearchSurf

 

以下は、VisualBasic2010で作成したシンプルなパネルコードのサンプルです。

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で作成したシンプルなパネルコードのサンプルです。

あなたの努力と共有に感謝します!

Mt5での手動テスターを長い間探していました。古いFX Blue Trading Simulator v2 (http://www.fxblue.com/appstore/39/mt4-trading-simulator) を使っていました。

しかし、残念ながらMt4でのみ利用可能で、現在のMt5アカウントで株式cfdのストラテジーをテストすることができませんでした。

テスターをインストールし、テンプレートの作成に成功しましたが、問題はパネルにアクセスできないため、取引ができないことです。

そこで、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でのみ利用可能で、現在のMt5アカウントで株式cfdのストラテジーをテストすることができませんでした。

テスターをインストールし、テンプレートの作成に成功しましたが、問題はパネルにアクセスできないため、取引ができないことです。

そこで、Visualbasicをダウンロードし、あなたのコードをコピー&ペーストしてパネルを作成しようとしたのですが、うまくいきませんでした。

私はVb10を使ったことがなく、コーディングもしたことがありませんでした。新しい空白のプロジェクトに、私のターミナルの共通ファイルを見つけるためにファイルパスを変更したあなたのコードをコピーしただけです。

Vb10 がこのエラーを返すので、デバッグもパネルの公開もできませんでした:

パネルをビルドして、完全で動作するストラテジーテスターを試せるようにするため、何かお手伝いいただけないでしょうか。

コミュニティへの貢献に感謝します!

マッテオ

お役に立てると良いのですが...

VB10:

1.ビジュアルスタジオ2010を開く

2.File "セクションをクリックし、"NEW project "を選択し、"Windows Forms Application "をクリックします。

3.新しいフォームが表示されます:


4.フォームに3つのボタンを追加する:


ボタンのテキストを "Buy"(購入)、"Sell"(売却)、"Close"(閉じる)に変更できます。

5.ボタンをダブルクリックすると、このようになります:


すべてのプライベートサブボタンはパブリッククラスForm1...の中にあるはずです。

6.各ボタンのコードをコピーすると、フォームはこのようになります:


7.7.Mt5共通フォルダの場所を確認することを忘れないでください。

私の場合は以下のようになります:"C:◆UsersRmd user ◆AppData ◆Roaming ◆MetaQuotes ◆Terminal ◆Common ◆Files ◆xxx.txt"

自分のターミナルの共通フォルダを見つける一番速い方法は、MT5 MetaEditorからFileに行き、"Common Data Folder "をクリックすることです:

パスフォルダをVB10コードのファイルパスにコピーします。

8.次にVB10で「ファイル」を開き、「すべて保存」をクリックします。

これは後で必要になります。


この例では、私は "MyTradingPanel "と名付けました。

9.テスト実行し、デバッグを開始します。正しく実行されていれば、エラーリストにエラーは表示されません。


10.デバッグ中に、MT5の共通フォルダを探し、VB10パネルのボタンをクリックしたときにファイルが表示されるかどうかを確認します。

端末の共通フォルダを見つける最も簡単な方法は、MetaEditorの[File]から[common files]をクリックすることです。

11.ボタンをテストすると、フォルダにテキストファイルが表示されるはずです。


12.ボタンをテストした後、フォルダを離れる前に、フォルダに作成されたファイルを手動で削除してください。

はそのファイルを削除します。

13.デバッグを停止します。

14.Build "セクションに行き、作業していたプロジェクトをクリックします。(私はMyTradingPanelという名前で保存しています。

という名前で保存しました)。ビルドに成功しました」と表示されます。



14.14.VB10の保存フォルダ(以前プロジェクトを保存したフォルダ)に移動します、

"BinDebug "フォルダにあるアプリケーションを取り出します。



15.15.アプリケーションファイルを好きなフォルダにコピペしたり、デスクトップに置いたりして、簡単にアクセスできるようにする。

16.16.MT5ストラテジーテスターでEAを実行すると、パネルが使えるようになります。

17.これでVB10の基礎講座は終了です。)

がんばってください。

 
mbertox:

こんにちは、あなたの努力と共有に感謝します!


私は Vb10 を使用したことがなく、コーディングもしたことがありませんでした。新しい空白のプロジェクトにあなたのコードをコピーし、ファイルパスを変更してターミナルの共通ファイルを探しました。

Vb10 がこのエラーを返すので、デバッグも Panel の公開もできませんでした:

パネルをビルドして、完全で動作するストラテジーテスターを試せるようにするため、何かお手伝いいただけないでしょうか。

コミュニティへの貢献に感謝します!

マッテオ


プロジェクトを保存した後...ビルドする前に、VBの設定もチェックした方がいいかもしれません:

1.ソリューション・エクスプローラー」の右側で、プロジェクトを右クリックし、「プロパティ」に進みます。


プロパティで、"コンパイル "の下にある "ビルド出力パス "にチェックを入れる:(デフォルトでは >> "binDebug


3.デバッグセクションをチェックし、"オプションと設定"...または "ツール"、"オプション... "に進み、"プロジェクトとソリューション "もチェック(ダブルクリック)し、"ビルドと実行 "をクリックし、"実行時、プロジェクトが古い場合:"で、"常にビルド "を選択する。

これでビルドの問題が解決されると良いのですが。

 
SearchSurf:


プロジェクトを保存した後...ビルドする前に、VBの設定もチェックした方がいいかもしれません:

1.ソリューション・エクスプローラー」の右側で、プロジェクトを右クリックし、「プロパティ」に進みます。


プロパティで、"コンパイル "の下にある "ビルド出力パス "にチェックを入れる:(デフォルトでは >> "binDebug


3.デバッグセクションをチェックし、"オプションと設定"...または "ツール"、"オプション... "に進み、"プロジェクトとソリューション "もチェック(ダブルクリック)し、"ビルドと実行 "をクリックし、"実行時、プロジェクトが古い場合:"で、"常にビルド "を選択する。

これでビルドの問題が解決されたでしょうか?

素早い返信ありがとうございました!

Vb10で一日中遊んで、フォームにボタンをグラフィカルに配置する方法を見つけたのですが、デバッグもパネルの公開もできませんでした。

そして、何気なくログの1つ目のエラーをダブルクリックしたら、プログラムが修正を提案しているのを見つけました!

デバッグボタンを押した後、瞬きしただけでどれだけ嬉しかったことか!:D

メタトレーダーでフルテストを行い、フォーラムを開いてお知らせしました!

多分、あなたの修正方法はもっと信頼できると思うので、あなたの指示に従って新しいバージョンを作ろうと思います :)

私はコーディングをしたことがないと言いましたが、このテイストはとても興味をそそられます。

ロットサイズを選択するボックスとSL/TP機能(たぶんチャート上でドラッグ可能)を実装できたらどんなにクールだろうと考えています。

これらの機能は、mql5 eaでコード化し、パネルにリンクする必要がありますか?それともVb10だけのことなのでしょうか?

私はそれができるとは思わないのですが...成功するためにどれくらいの作業とコーディング能力が必要なのか気になりました!:)

とにかく、新しいトレーディングのおもちゃを手にして、今はとても幸せだ!(長い夜がやってくる。週末はずっとシュミレーションして研究している自分がもう見えるよ!) ;D

本当にありがとう!

またね。

マット

 
mbertox:

素早い返信ありがとうございました!

Vb10で一日中遊んで、フォームにボタンをグラフィカルに配置する方法を見つけたのですが、デバッグもパネルの公開もできませんでした。

そして、何気なくログの1つ目のエラーをダブルクリックしたら、プログラムが修正を提案しているのを見つけました!

デバッグボタンを押した後、瞬きしただけでどんなに嬉しかったことか!:D

メタトレーダーでフルテストを行い、フォーラムを開いてお知らせしました!

多分、あなたの修正方法はもっと信頼できると思うので、あなたの指示に従って新しいバージョンを作ろうと思います :)

私はコーディングをしたことがないと言いましたが、このテイストはとても興味をそそられます。

ロットサイズを選択するボックスとSL/TP機能(たぶんチャート上でドラッグ可能)を実装できたらどんなにクールだろうと考えています。

これらの機能は、mql5 eaでコード化し、パネルにリンクする必要がありますか?それともVb10だけのことなのでしょうか?

私はそれができるとは思わないのですが...成功するためにどれくらいの作業とコーディング能力が必要なのか気になりました!:)

とにかく、新しいトレーディングのおもちゃを手にして、今はとても幸せだ!(長い夜がやってくる。週末はずっとシュミレーションして研究している自分がもう見えるよ!) ;D

本当にありがとう!

またね。

マット

EA自体にボタンを埋め込んでMT5のStrategy Testerで 使う方法もありますが、複雑なコーディングで高度なプログラミングが必要です。 この方法なら、mql5のシンプルで基本的なコーディングを利用するだけで、Strategy Testerで使えると思いました。このコードベースを見ていれば、もしかしたら、mql5で簡単なコーディングができるかもしれない。楽しんで、この練習があなたのトレードをより有益なものにすることを願っています :)
 

Excelマクロを作成したことがない人には少し長くて難しいかもしれませんが、すでに作成したことがある人には基本的なことで、見た目通り簡単です。

Excel2007を使う:

1.まず、エクセルのクイックアクセスツールバーをカスタマイズして、ボタンから簡単にアクセスできるようにする。

- ホーム」を右クリックし、「クイックアクセスツールバーをリボンの下に表示」を選択する。

- クイックアクセス]をクリックし、[その他のコマンド]を選択するためにスクロールダウンし、[カスタマイズ]、[からコマンドを選択]を選択します。

リボンからではなくコマンドを選択し、スクロールしてボタンを選択し、追加をクリックし、OKをクリックします。





2.ボタンツールをクリックし、Excel上でボタンを作成する。マクロを求めるウィンドウが表示されるはずです。表示されなかった場合は、ボタンの上で右クリックし、マクロの割り当てを選択します。

マクロの割り当てウィンドウで名前を入力し(この例ではEApanelと名付けました)、新規をクリックし、「OK」をクリックします。

4.OKをクリックすると、Excel Visual Basicのウィンドウが表示されます。


- 表示されたコードを以下のコードに置き換えてください。(編集ウィンドウの中のコードをすべて削除してから、新しいコードを入力するか、コピーペーストしてください)、

注:コードを入力した後、まだ保存しないでください。そうしないと、このマクロをやったことがない人は混乱してしまいます。

!!!!注意:MT5のCOMMON FOLDERの場所は、自分のフォルダパスと同じにしてください!(コード内のファイル名のファイルパスは私の場所フォルダです。

Mt5のMetaEditorを開き、"File "から "Open Common Data Folder "を選択することで、簡単にパスフォルダを確認することができます。


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ウィンドウは閉じないでください)。エクセルでまずエクセルをMACRO ENABLED EXCEL FILEとして保存する。"Save as "を選び、"Excel Macro Enabled workbook "を選ぶ。MACRO ENABLEDにする。

私はEApanelという名前でvbマクロに保存しましたが、同じ名前である必要はありません。



6.次にVisual Basicウィンドウに戻ります。マクロvbを保存し、[ファイル]から[保存(VBマクロ)]をクリックします。

(module1.basも保存したい場合は、エクスポートを選択し、フォルダに保存してください。マクロvbファイルはエクセル専用の特別なファイルに保存されることに注意してください、

module.basを保存することで、作成したマクロコードのバックアップを取ることができます)。

7.7.エクセルに戻り、ボタンをもう2つ作成するか、Button1をコピーして貼り付けます。

8.ボタンの名前を変更し、右クリックして「テキストの編集」を選び、3つのボタンにそれぞれ「買い」、「売り」、「決済」という名前を付けます。

9.では、それぞれにマクロを割り当てましょう...Buyボタンで、右クリックしてassign macroを選び、Buy_clickに割り当てます...



10.同じように2つのボタンにマクロを割り当てます。SellをSell_clickに、CloseをClose_clickに割り当てる。

11.11.エクセルを保存する...もう一度注意:MACRO ENABLED WORKBOOKとして保存する必要があります(以前と同じように保存したので、ここからは「保存」をクリックするだけです)。

12.Visual Basicウィンドウに戻って、"Debug "をクリックし、"Compile VBAproject "をクリックする。



13.13.テストしてみましょう。エクセルを最小化し、EAの場所フォルダを開きます。

少し1~2秒かかりますが、Strategy Tester上で単独で使用する場合はもう少し早くなります。

そうしないと、EAが最初に開いたときに、そのフォルダにある最初のテキストファイルを見てコマンドをトリガーしてしまいます。


14.エクセルファイルを再度保存し、エクセルを閉じます。エクセルのビジュアル・ベーシックも閉じます。

15.デフォルトのExcelマクロセキュリティ設定によっては、マクロ駆動のExcelファイルを開くたびに警告が表示されることがあります。

(警告が表示された場合、マクロを有効にするよう求められたら、「有効にする」を選択してください。そうしないとマクロが無効になってしまうので、ボタンは機能しません)。



これで準備は完了です。ストラテジーテスターでEAを実行しながらエクセルを開き、練習を始めてください :)

それでは、よいトレードを... :)

(コメント更新日: 2016年12月12日)

 
Automated-Trading:

ManualTradeOnStrategyTester

著者:サーチサーフ

さて、ついに、私は待っていました、それは7年ぶりではありません、おそらくそれは今も関連しています。
 
いや、まだ待ってはいない。松葉杖をつきながら、プログラマーは手動テストなんてどうでもいいし、手動テストが必要なのはプログラマーではなくトレーダーだ。
 
パネルってどこにあるんですか? プログラミングから遠い人とどうやって交換するんですか?