このMT3をMT4に変換するのは非常に簡単です。 - ページ 2 1234 新しいコメント 削除済み 2006.04.16 05:48 #11 このMT3をMT4に変換してください - とても簡単です。 私はMT4からMT3への切り替えを検討しています。 私はちょうど私の非常に最初のエキスパートアドバイザーを編集し終えたところです。 MTとMQL4について十分に学ぶのに4週間ほどかかり、ようやく私のストラテジーをプログラムすることができましたが、今はプログラムをMQL2に変換するだけかもしれないと考えています。 このフォーラムで読んだ限りでは、MT4の利点は何も見当たりません。 私が読み、私のEAのバックテストを通して学んだことは、MT4ストラテジーテスターが 機能しないということです。この理由から、MT3で正確なバックテストができるように、あと数日かけて移行するのが唯一の道理だと考えています。 すでにMT3をダウンロードしてインストールし、エディタ辞書も見てみました。MT3はMT4よりも機能が少ないことがわかりますが、それが大きな問題になるとは思いません。 私が使っていたMQL4 EAの機能で、かなり頼りにしていたのは、注文が成立したときにスリッページで変化することがある、元の保留注文の価格を保存するためのOrderMagicNumberでした。 MQL2の注文にはOrderMagicNumberはありませんが、MQL2の辞書にOrderValueという関数があり、その説明には、この関数で注文のコメント(VAL_COMMENT)を取得できると書かれています。 このコメントを使って希望価格を保存できれば、MT3への乗り換えができそうです。しかし、注文のコメントを設定する方法が辞書に載っていませんでした。SetOrder関数の説明には、パラメータとして「comment」は記載されていません。 MQL2のこの機能に詳しい方、注文コメントをどのように設定するのか、教えていただけませんか? treberk 2006.04.16 08:26 #12 BC Brett: このフォーラムで読んだ限りでは、MT4の利点は見当たりません。 私が読み、私のEAのバックテストを通して学んだことは、MT4ストラテジーテスターが機能しないということです。この理由だけでも、MT3で正確なバックテストを行うために、数日かけて切り替える意味があると思います。 では、MT3バックテスターが MT4バックテスターよりも信頼性が高いというのは、どこで読んだのでしょうか? これについては、非常に間違った情報を持っていると思います MT4バックテストは非常に信頼できるものですが、それはあなたが持っているヒストリーデータの品質とあなたのモデリング品質%に依存します。 MQL2では、MT4プログラミングでできるような「コメント」の追加や「MagicNumbers」の割り当てを送信済み注文に行うことはできません。MT4プログラミングはMQL2プログラミングより進んでいます。 treberk 2006.04.16 08:32 #13 MT4のバックテストについては、こちらをご覧ください: http://www.strategybuilderfx.com/forums/showthread.php?t=15309&page=1&pp=8 (このページにアクセスできない場合は、メンバーとして登録する必要があります。) 削除済み 2006.04.16 22:22 #14 私があちこちで集めた情報では、バックテストに少し真剣に取り組んでいる人々は、WealthLab、Amibroker、MetaStocksなどのソフトウェアを使用しており、mt3やmt4は使用していないようです。 多分、mt4のバックテストは、イントラバーデータを使用しない場合は、ほぼ大丈夫でしょう。例えば、日足バーで作業する場合、日足バーのOpenとCloseの値だけを使うべきです(StopLossesやTake Profitを設定する場合はHighとLowも使わないでください)。それ以外は一切使用しません。 なぜなら、彼らの「モデリング品質」がどうであろうと、リアルデータを使用するmt4のバックテスト方法は、「始値のみ」だからです。 "Every tick" と "Control Points" の方法は、素敵なおとぎ話です。個人的には、おとぎ話のようなデータのバックテストに基づいてお金を取引することはありません。 mt4はまだ勉強中ですが、私の経験上、mt4のバックテストは他に使いようがないと思います。私が提案した方法が100%信頼できるかというと、そうでもありません。もし私が良いバックテストをしたいのであれば、バックテストソフトを手に入れるでしょう。 mt4とmt3のライブ取引について:私があちこちで集めた情報では、mt4は信用できない。時々、mt4が約定しなかったと言った注文が、実際には約定していることがあります!これはブローカーから報告されました。もしこれが本当なら、mt4ライブトレードを提供しているブローカーは真剣ではありません。あるいは、mt4のバグが自分たちのプラットフォームで起きないようにしている、それもありえますね。 一方、mt3でのライブ取引は可能であることを「あちこちで集めた」(笑)。 eliseexige 2006.05.14 17:29 #15 このMT3をMT4に変換してください。 こんにちは、私は誰かが私のためにMT4の言語にこれを変換することができれば感謝します - 私たちのブローカーは、MT4にアップグレードしたばかりです。 以下はそのコードです。 /*[[ Name := TTM Stoch Author := Scott Black Link := http://www.tradethemajors.com Separate Window := yes First Color := Cyan First Draw Type := Line Use Second Data := yes second Color := Magenta second Draw Type := Line Minimum Chart Limits := 0.000000 Maximum Chart Limits := 100.000000 ]]*/ Inputs : Slw(8),Pds(13),Slwsignal(9); Variables : AA(0),bb(0),aa1(0),cnt1(0); Variables : shift(0), cnt(0), loopbegin(0),loopbegin2(0),loopbegin3(0), first(True), prevbars(0); Variables : sum(0), smconst(0),smconst1(0), prev(0),prev1(0),prev2(0),prev3(0), weight(0), linear(0); Variables : MAValue(0),MAValue2(0),mavalue3(0), MAstring(""); Variables : MyHigh(0),MyLow(0),counter(0),Price(0),Price1(0); SetLoopCount(0); smconst = 2 / (1+SLW); smconst1 = 2 / (1+slwsignal); loopbegin = loopbegin+1; For shift = 2000 Downto 0 Begin prev = GetIndexValue2(shift+1); AA =100* ((Close[shift] - Low[Lowest(MODE_LOW,shift+pds,Pds)]) / (High - low[Lowest(MODE_LOW,shift+pds,Pds)])); MAValue2 = smconst * (aa-prev) + prev; SetIndexValue2(shift,MAValue2); loopbegin = loopbegin-1; End; loopbegin2 = loopbegin2+1; For shift = 2000-pds downto 0 Begin MyHigh = -999999; MyLow = 99999999; For counter = shift to pds + shift Begin PRICE= GetIndexValue2(counter); If Price > MyHigh Then MyHigh = Price; If pds <= 0 Then MyHigh = Price; If Price < MyLow Then MyLow = Price; If pds <= 0 Then MyLow = Price; end; prev1 = GetIndexValue(shift+1); aa1=GetIndexValue2(shift); bb=100*(aa1-mylow)/(myhigh-mylow); MAValue = smconst * (bb-prev1) + prev1; SetIndexValue(shift,mavalue); loopbegin2 = loopbegin2-1; End; loopbegin3 = loopbegin3+1; For shift = 2000 downto 0 Begin prev2=GetIndexValue2(shift+1); prev3=GetIndexValue(shift); MAValue3= smconst1 * (prev3-prev2) +Prev2; SetIndexValue2(shift,mavalue3); loopbegin3 = loopbegin3-1; end; /*[[ どうもありがとうございました! Convert this MT3 into Linear Regression Indicator I have a mt3 hellkkas 2006.05.14 21:01 #16 scott TTM: ブローカーがMT4にアップグレードしたので、どなたかこれをMT4の言語に変換していただければと思います。以下はそのコードです。 /*[[ Name := TTM Stoch Author := Scott Black Link := http://www.tradethemajors.com Separate Window := yes First Color := Cyan First Draw Type := Line Use Second Data := yes second Color := Magenta second Draw Type := Line Minimum Chart Limits := 0.000000 Maximum Chart Limits := 100.000000 ]]*/ Inputs : Slw(8),Pds(13),Slwsignal(9); Variables : AA(0),bb(0),aa1(0),cnt1(0); Variables : shift(0), cnt(0), loopbegin(0),loopbegin2(0),loopbegin3(0), first(True), prevbars(0); Variables : sum(0), smconst(0),smconst1(0), prev(0),prev1(0),prev2(0),prev3(0), weight(0), linear(0); Variables : MAValue(0),MAValue2(0),mavalue3(0), MAstring(""); Variables : MyHigh(0),MyLow(0),counter(0),Price(0),Price1(0); SetLoopCount(0); smconst = 2 / (1+SLW); smconst1 = 2 / (1+slwsignal); loopbegin = loopbegin+1; For shift = 2000 Downto 0 Begin prev = GetIndexValue2(shift+1); AA =100* ((Close[shift] - Low[Lowest(MODE_LOW,shift+pds,Pds)]) / (High - low[Lowest(MODE_LOW,shift+pds,Pds)])); MAValue2 = smconst * (aa-prev) + prev; SetIndexValue2(shift,MAValue2); loopbegin = loopbegin-1; End; loopbegin2 = loopbegin2+1; For shift = 2000-pds downto 0 Begin MyHigh = -999999; MyLow = 99999999; For counter = shift to pds + shift Begin PRICE= GetIndexValue2(counter); If Price > MyHigh Then MyHigh = Price; If pds <= 0 Then MyHigh = Price; If Price < MyLow Then MyLow = Price; If pds <= 0 Then MyLow = Price; end; prev1 = GetIndexValue(shift+1); aa1=GetIndexValue2(shift); bb=100*(aa1-mylow)/(myhigh-mylow); MAValue = smconst * (bb-prev1) + prev1; SetIndexValue(shift,mavalue); loopbegin2 = loopbegin2-1; End; loopbegin3 = loopbegin3+1; For shift = 2000 downto 0 Begin prev2=GetIndexValue2(shift+1); prev3=GetIndexValue(shift); MAValue3= smconst1 * (prev3-prev2) +Prev2; SetIndexValue2(shift,mavalue3); loopbegin3 = loopbegin3-1; end; /*[[ どうもありがとうございました! こんにちは、Scott... これを試してみてください... ファイル: ttm_stoch.mq4 5 kb eliseexige 2006.05.15 00:03 #17 ヘルキャス うまくいかなかったようですね。 www.compoundfx.com/mt3stoch.jpg にアクセスして、MT3チャートでどのように見えるかを見てください。これをアップロードしようとしたのですが、うまくいきませんでした。 ご苦労様です。もしかしたら、これが役に立つかもしれませんね。 MT4でプロットすると、マゼンタの線だけが表示され、シアンの線は表示されません - 入力があることはわかりますが。 スコット yousky 2006.05.15 10:33 #18 こんにちは。 私のツールMql2Mq4でmqlインジケータを変換した後、私のファイルヘッダを保持していることに感謝します! Metatrade 4 の Expert message log TabSheet (Panel) を見ると、この写真のように "Zero Devide exception" が表示されます。Indicatorのスクリプトでdivide演算子を使用していますが、NULLの 時もあります:-( これがこのエラーの理由です、繰り返しますがMetatrade 3ではこのような例外は発生しませんでした、しかしMetatrade 4では発生します。 MT3と同様に動作するように変換したものを置いておきますので、どのような変更を行ったか見てみてください。 さようなら ファイル: exception.jpg 52 kb ttmstoch.mq4 5 kb eliseexige 2006.05.15 10:45 #19 youskyさん どうもありがとうございます!見た目は完璧です。 ありがとうございます。 -SB eliseexige 2006.05.16 09:58 #20 yousky OK、さらに検討した結果、まだ完全ではありません。 MT4ではまだ偽の数値が表示され、つまり線があるべきところで交差していないのです。 ここに載せてあるコードを使いました。 何かアイデアはありますか? SB 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
このMT3をMT4に変換してください - とても簡単です。
私はMT4からMT3への切り替えを検討しています。
私はちょうど私の非常に最初のエキスパートアドバイザーを編集し終えたところです。
MTとMQL4について十分に学ぶのに4週間ほどかかり、ようやく私のストラテジーをプログラムすることができましたが、今はプログラムをMQL2に変換するだけかもしれないと考えています。
このフォーラムで読んだ限りでは、MT4の利点は何も見当たりません。
私が読み、私のEAのバックテストを通して学んだことは、MT4ストラテジーテスターが 機能しないということです。この理由から、MT3で正確なバックテストができるように、あと数日かけて移行するのが唯一の道理だと考えています。
すでにMT3をダウンロードしてインストールし、エディタ辞書も見てみました。MT3はMT4よりも機能が少ないことがわかりますが、それが大きな問題になるとは思いません。
私が使っていたMQL4 EAの機能で、かなり頼りにしていたのは、注文が成立したときにスリッページで変化することがある、元の保留注文の価格を保存するためのOrderMagicNumberでした。
MQL2の注文にはOrderMagicNumberはありませんが、MQL2の辞書にOrderValueという関数があり、その説明には、この関数で注文のコメント(VAL_COMMENT)を取得できると書かれています。
このコメントを使って希望価格を保存できれば、MT3への乗り換えができそうです。しかし、注文のコメントを設定する方法が辞書に載っていませんでした。SetOrder関数の説明には、パラメータとして「comment」は記載されていません。
MQL2のこの機能に詳しい方、注文コメントをどのように設定するのか、教えていただけませんか?
このフォーラムで読んだ限りでは、MT4の利点は見当たりません。
私が読み、私のEAのバックテストを通して学んだことは、MT4ストラテジーテスターが機能しないということです。この理由だけでも、MT3で正確なバックテストを行うために、数日かけて切り替える意味があると思います。
では、MT3バックテスターが MT4バックテスターよりも信頼性が高いというのは、どこで読んだのでしょうか?
これについては、非常に間違った情報を持っていると思います
MT4バックテストは非常に信頼できるものですが、それはあなたが持っているヒストリーデータの品質とあなたのモデリング品質%に依存します。
MQL2では、MT4プログラミングでできるような「コメント」の追加や「MagicNumbers」の割り当てを送信済み注文に行うことはできません。MT4プログラミングはMQL2プログラミングより進んでいます。
MT4のバックテストについては、こちらをご覧ください: http://www.strategybuilderfx.com/forums/showthread.php?t=15309&page=1&pp=8
(このページにアクセスできない場合は、メンバーとして登録する必要があります。)
私があちこちで集めた情報では、バックテストに少し真剣に取り組んでいる人々は、WealthLab、Amibroker、MetaStocksなどのソフトウェアを使用しており、mt3やmt4は使用していないようです。
多分、mt4のバックテストは、イントラバーデータを使用しない場合は、ほぼ大丈夫でしょう。例えば、日足バーで作業する場合、日足バーのOpenとCloseの値だけを使うべきです(StopLossesやTake Profitを設定する場合はHighとLowも使わないでください)。それ以外は一切使用しません。
なぜなら、彼らの「モデリング品質」がどうであろうと、リアルデータを使用するmt4のバックテスト方法は、「始値のみ」だからです。
"Every tick" と "Control Points" の方法は、素敵なおとぎ話です。個人的には、おとぎ話のようなデータのバックテストに基づいてお金を取引することはありません。
mt4はまだ勉強中ですが、私の経験上、mt4のバックテストは他に使いようがないと思います。私が提案した方法が100%信頼できるかというと、そうでもありません。もし私が良いバックテストをしたいのであれば、バックテストソフトを手に入れるでしょう。
mt4とmt3のライブ取引について:私があちこちで集めた情報では、mt4は信用できない。時々、mt4が約定しなかったと言った注文が、実際には約定していることがあります!これはブローカーから報告されました。もしこれが本当なら、mt4ライブトレードを提供しているブローカーは真剣ではありません。あるいは、mt4のバグが自分たちのプラットフォームで起きないようにしている、それもありえますね。
一方、mt3でのライブ取引は可能であることを「あちこちで集めた」(笑)。
このMT3をMT4に変換してください。
こんにちは、私は誰かが私のためにMT4の言語にこれを変換することができれば感謝します - 私たちのブローカーは、MT4にアップグレードしたばかりです。
以下はそのコードです。
/*[[
Name := TTM Stoch
Author := Scott Black
Link := http://www.tradethemajors.com
Separate Window := yes
First Color := Cyan
First Draw Type := Line
Use Second Data := yes
second Color := Magenta
second Draw Type := Line
Minimum Chart Limits := 0.000000
Maximum Chart Limits := 100.000000
]]*/
Inputs : Slw(8),Pds(13),Slwsignal(9);
Variables : AA(0),bb(0),aa1(0),cnt1(0);
Variables : shift(0), cnt(0), loopbegin(0),loopbegin2(0),loopbegin3(0), first(True), prevbars(0);
Variables : sum(0), smconst(0),smconst1(0), prev(0),prev1(0),prev2(0),prev3(0), weight(0), linear(0);
Variables : MAValue(0),MAValue2(0),mavalue3(0), MAstring("");
Variables : MyHigh(0),MyLow(0),counter(0),Price(0),Price1(0);
SetLoopCount(0);
smconst = 2 / (1+SLW);
smconst1 = 2 / (1+slwsignal);
loopbegin = loopbegin+1;
For shift = 2000 Downto 0 Begin
prev = GetIndexValue2(shift+1);
AA =100* ((Close[shift] - Low[Lowest(MODE_LOW,shift+pds,Pds)]) / (High - low[Lowest(MODE_LOW,shift+pds,Pds)]));
MAValue2 = smconst * (aa-prev) + prev;
SetIndexValue2(shift,MAValue2);
loopbegin = loopbegin-1;
End;
loopbegin2 = loopbegin2+1;
For shift = 2000-pds downto 0 Begin
MyHigh = -999999;
MyLow = 99999999;
For counter = shift to pds + shift Begin
PRICE= GetIndexValue2(counter);
If Price > MyHigh Then
MyHigh = Price;
If pds <= 0 Then
MyHigh = Price;
If Price < MyLow Then
MyLow = Price;
If pds <= 0 Then
MyLow = Price;
end;
prev1 = GetIndexValue(shift+1);
aa1=GetIndexValue2(shift);
bb=100*(aa1-mylow)/(myhigh-mylow);
MAValue = smconst * (bb-prev1) + prev1;
SetIndexValue(shift,mavalue);
loopbegin2 = loopbegin2-1;
End;
loopbegin3 = loopbegin3+1;
For shift = 2000 downto 0 Begin
prev2=GetIndexValue2(shift+1);
prev3=GetIndexValue(shift);
MAValue3= smconst1 * (prev3-prev2) +Prev2;
SetIndexValue2(shift,mavalue3);
loopbegin3 = loopbegin3-1;
end;
/*[[
どうもありがとうございました!
ブローカーがMT4にアップグレードしたので、どなたかこれをMT4の言語に変換していただければと思います。
以下はそのコードです。
/*[[
Name := TTM Stoch
Author := Scott Black
Link := http://www.tradethemajors.com
Separate Window := yes
First Color := Cyan
First Draw Type := Line
Use Second Data := yes
second Color := Magenta
second Draw Type := Line
Minimum Chart Limits := 0.000000
Maximum Chart Limits := 100.000000
]]*/
Inputs : Slw(8),Pds(13),Slwsignal(9);
Variables : AA(0),bb(0),aa1(0),cnt1(0);
Variables : shift(0), cnt(0), loopbegin(0),loopbegin2(0),loopbegin3(0), first(True), prevbars(0);
Variables : sum(0), smconst(0),smconst1(0), prev(0),prev1(0),prev2(0),prev3(0), weight(0), linear(0);
Variables : MAValue(0),MAValue2(0),mavalue3(0), MAstring("");
Variables : MyHigh(0),MyLow(0),counter(0),Price(0),Price1(0);
SetLoopCount(0);
smconst = 2 / (1+SLW);
smconst1 = 2 / (1+slwsignal);
loopbegin = loopbegin+1;
For shift = 2000 Downto 0 Begin
prev = GetIndexValue2(shift+1);
AA =100* ((Close[shift] - Low[Lowest(MODE_LOW,shift+pds,Pds)]) / (High - low[Lowest(MODE_LOW,shift+pds,Pds)]));
MAValue2 = smconst * (aa-prev) + prev;
SetIndexValue2(shift,MAValue2);
loopbegin = loopbegin-1;
End;
loopbegin2 = loopbegin2+1;
For shift = 2000-pds downto 0 Begin
MyHigh = -999999;
MyLow = 99999999;
For counter = shift to pds + shift Begin
PRICE= GetIndexValue2(counter);
If Price > MyHigh Then
MyHigh = Price;
If pds <= 0 Then
MyHigh = Price;
If Price < MyLow Then
MyLow = Price;
If pds <= 0 Then
MyLow = Price;
end;
prev1 = GetIndexValue(shift+1);
aa1=GetIndexValue2(shift);
bb=100*(aa1-mylow)/(myhigh-mylow);
MAValue = smconst * (bb-prev1) + prev1;
SetIndexValue(shift,mavalue);
loopbegin2 = loopbegin2-1;
End;
loopbegin3 = loopbegin3+1;
For shift = 2000 downto 0 Begin
prev2=GetIndexValue2(shift+1);
prev3=GetIndexValue(shift);
MAValue3= smconst1 * (prev3-prev2) +Prev2;
SetIndexValue2(shift,mavalue3);
loopbegin3 = loopbegin3-1;
end;
/*[[
こんにちは、Scott...
これを試してみてください...
ヘルキャス
うまくいかなかったようですね。 www.compoundfx.com/mt3stoch.jpg にアクセスして、MT3チャートでどのように見えるかを見てください。これをアップロードしようとしたのですが、うまくいきませんでした。
ご苦労様です。もしかしたら、これが役に立つかもしれませんね。
MT4でプロットすると、マゼンタの線だけが表示され、シアンの線は表示されません - 入力があることはわかりますが。
スコット
こんにちは。
私のツールMql2Mq4でmqlインジケータを変換した後、私のファイルヘッダを保持していることに感謝します!
Metatrade 4 の Expert message log TabSheet (Panel) を見ると、この写真のように "Zero Devide exception" が表示されます。Indicatorのスクリプトでdivide演算子を使用していますが、NULLの 時もあります:-( これがこのエラーの理由です、繰り返しますがMetatrade 3ではこのような例外は発生しませんでした、しかしMetatrade 4では発生します。
MT3と同様に動作するように変換したものを置いておきますので、どのような変更を行ったか見てみてください。
さようなら
youskyさん
どうもありがとうございます!見た目は完璧です。 ありがとうございます。
-SB
yousky
OK、さらに検討した結果、まだ完全ではありません。 MT4ではまだ偽の数値が表示され、つまり線があるべきところで交差していないのです。 ここに載せてあるコードを使いました。 何かアイデアはありますか?
SB