相場は常に間違っている

 
テーマ「アービトラージ」の続報です。すでにページ数が多く、評論家もごちゃごちゃしているので、新しいトピックを

残高以上のエクイティを調達することができた。このように表示されます(EURJPY H1)。





投稿に添付されたEAソースコードテスターレポートもそうです。

このため、コードにもう一つ入力パラメータを追加する必要がありました。beginEquity - 初期持分です。すなわち、初期残高です。Strategy Testerでは、Expert AdvisorがbeginEquityのレベルを超えているかどうかを自動的に監視しています。つまり、beginPriceをBidに、beginEquityを現在の持分に変更し、マジックナンバーを変更(1増加)するのです。

しかし、デモとリアルでは、Expert Advisorはこれらのパラメータを手動で変更するよう求めるアラートを生成するだけです。問題は、Expert Advisorはターミナルやコンピュータのシャットダウン時に以前のパラメータをどこにも保存せず、再起動後に復元できないことです(本当に必要な人は、ファイルデータベースを作成するか、グローバル変数にパラメータを保存することができます)。
したがって、Expert Advisorのシグナルを監視し、メッセージを表示し始めたら、グループ全体の上記の入力パラメータを手動で変更する必要があります。
ファイル:
 
評論家の私も、ユーリさんを見つけることができました。さあ、私もここで糞をしよう。レポートの表面的な分析によると、2004年8月20日から2007年5月4日22:00まで、200,000の初期預金で72,252の利益が作られ、22:00に残りのすべてのポジションが閉じられ、一度に約528000の利益(全テスト履歴の7倍!)。 この効果はおそらく単にテスト期間の終わりによって引き起こされたものである。
 
Mathemat:
評論家の私も、ユーリさんを見つけることができました。さあ、私もここで糞をしよう。レポートを表面的に分析すると、2004年8月20日から2007年5月4日22:00まで、20万円の初期預金で72,252円の利益を上げ、22:00に残りのポジションを全て決済し、一挙に約52万8千円の利益(テスト履歴全体の7倍!)をもたらしたことがわかります。この効果は、単にテスト期間が終了したことによるものと思われます。
テスト完了の 瞬間は、右側のチャートで、厳密に水平な緑の帯(エクイティ)と、この非常に水平な線の下でのバランスの鋭い非線形「成長」として見ることができます。つまり、テスターはすべてのポジションを決済し、残高が自己資本と等しくなるまで「成長」させるのです。明らかに、その瞬間は利益がプラスになっているオープンポジションがたくさんありました。そうでなければ、エクイティが残高より高くなることはありえません。

テスターは、テスト期間終了後、すべてのオープンポジションをクローズします。その時点で資本が残高と等しくない場合、残高はすべてのポジションを決済した後の最後の資本値と等しくなります。したがって、テスターのこのような動作を「効果」と呼ばないでください。
 
こんにちは!
おばあちゃんの日です! 冗談です。
数理さんが「表面解析で」とおっしゃったように、とても素晴らしいです。マイナスの値は1つもありません。オンラインでテストしてみるしかし、ここで分からないのは(もしかしたら私が誤解していたのかもしれませんが)、私はギャンブラーの電源を切らず、端末も閉じないという ことです。このような状態でアラートが表示されるのでしょうか、それともEAがそのまま取引するのでしょうか?インターネットをしばらく遮断し、再度接続した場合はどうなりますか?私の側から断絶することなく?
私にとってこの質問は、1日18時間以上パソコンから離れている(睡眠、仕事など)私にとって非常に重要で、その間に接続が切れたり、新しいデータを入力できなかったりすると、......まあ、本当に良くないですね。
また、私の理解が正しければ、カムやターミナルのスイッチを入れると、現在の値を入力するだけで、すべてがあるべき姿になる、つまりEAを再接続することになるのでしょうか。
また、アラートが表示されても何もしない場合、EAは古い設定に従って取引を続けるのでしょうか、それとも新しい設定が入力されるのを待つのでしょうか?
できれば、これらの点について、もっと詳しく教えてください!!!!
また一つ、頭を悩ませる理由が増えました。(良い意味で)。
敬具 !!!!
 
なぜかわかりませんが、テスターモードではExpert Advisorは約10のバッチで取引を開きますが、これは偶然でしょうか?
なぜかわからないが、テスターモードではExpert Advisorが10個程度の束でディールを開く。あなたが開始3000から5分を取る場合は、ユーロUSDは、この日に02.01.2007から、期間の終了時に何らかの理由で閉じていない10の位置を開きますが、どこかに12.02.2007固体沈没、そしてこの沈没は基本的にそれらの最初の10オープンオーダーです。そして、この絵は小さな時だけでなく、繰り返し描かれています。入金額を5万円まで上げても負け、時間軸を1時間に変えても負け、何か変だ。
1枚目が今のところ一番きれいです。もしかしたら、私は何か悪いことをしたのだろうか?
誠心誠意
 
こんにちは。

Expert Advisorをダウンロードしたのですが、コンパイル時にエラーが発生します。
MODE_MARGINREQUIRED' - variable not defined C:\ProgramFiles/AccountexpertsArbitrageReverse_1.5.mq4 (244, 49)
MODE_MARGINREQUIRED変数は何に役立ち、どのように設定するのですか?

 
Implex:
こんにちは。

Expert Advisorをダウンロードしたのですが、コンパイル時にエラーが発生します。
MODE_MARGINREQUIRED' - variable not defined C:\Program Files/AccountexpertsArbitrageReverse_1.5.mq4 (244, 49)
MODE_MARGINREQUIRED変数は何に役立ち、どのように設定するのですか?


http://www.metatrader4.com/files/mt4setup.exe からディストリビューションをダウンロードして、お使いの端末を最新のビルド204にアップグレードしてください。
 

旧EAのテストは予定通りには終わっていませんが、そのバージョンをどう改善するかは考えています。そして、由利は新しいものを考え出した。もはや「第5の元素」ではなく、「第6の元素」です。手が震えるのに、どうしてここで働けるのだろう。

でも、真面目な話、コードについて質問があります。甘えかもしれないので、ユーリだけに向けてはいません。もしかしたら、誰かが解明してくれるかもしれません。感謝することにします。

ArbitrageReverse_1.1.mq4 や新バージョン ArbitrageReverse_1.5.mq4 では、現在開いている注文をブロックラウンドした後にユーザ関数 closeby(ticksell, tickbuy) を呼び出すという同じ構造を繰り返しており、意味不明です。ArbitrageReverse_1.1.mq4 では [106] 行目、1.5 では [128] 行目です。この機能は理にかなっています。もし、売り注文と買い注文(それぞれ1つのシンボル)がある場合、売りは買いによって決済されます。気に入らないのは、この作戦を実行するための前提条件がないことだ。つまり、BUYとSELLがあれば、注文はクローズするはずです。 しかし、コードのさらに先のブロック 'dt' では、すでに関数closeby(ticksell, tickbuy) (v:1.1 行 [163], v:1.5 [189]) の呼び出しが条件に組み入れられているのです。そして、その方が正しいように思います。原則的には、マイナーなバグを解決しながら、すべての代入を変数にトレースした自分自身で、すぐに何が起こっているのかを確認することにしています。でも、今度はユーリに直接聞いてみるよ。
クローズバイコールは[106] v:1.1 と [128] v:1.5 の行で必要ですか?もしそうなら、クローズできるものはすべてその前にクローズしなければならないと判明した場合、v:1.1 では [163] で、または v:1.5 では [189] で何が "close" するのですか? ロット量の違いがあるかもしれないと理解しましたが、やはりここで何かが "off" と思われるのですが、どうですか?

v:1.1では[200]、v:1.5では[224]のcloseby(tickbuy, ticksell)の呼び出しは多かれ少なかれ明確です - もしオープンオーダーにSELLまたはBUYが定義されていれば、ブロック「dt」で条件に応じて、反対のオーダーがOrderSend 関数によって開くことができ、その後それぞれ閉じることが実行されるでしょう。

とにかく、バカなことを聞いてしまったのなら、謝ります。誤りを指摘すれば訂正します。

敬具、Fed.

 
CodeBaseには、裁定取引に徹することで、プラスのスワップも獲得できるEAを既に掲載しています。モデレータ認証後、コードはこちらで 入手可能です。
 
こんにちは。
私は理解しようとした - この変更のロジックは、手動で変更する必要があるbeginPrice、beginEquityに依存します。私はユーロエンヌ上の唯一の結果は同じだったと思うし、テストが閉じられたときに残りの部分は純排水だった...と株式はしばしばバランスよりも高くはありません。感謝
 
Fed:

旧EAのテストは予定通りには終わっていませんが、そのバージョンをどう改善するかは考えています。そして、由利は新しいものを考え出した。もはや「第5の元素」ではなく、「第6の元素」です。手が震えるのに、どうしてここで働けるのだろう。

でも、真面目な話、コードについて質問があります。甘えかもしれないので、ユーリだけに向けてはいません。もしかしたら、誰かが解明してくれるかもしれません。感謝することにします。

ArbitrageReverse_1.1.mq4 や新バージョン ArbitrageReverse_1.5.mq4 では、現在開いている注文をブロックラウンドした後にユーザ関数 closeby(ticksell, tickbuy) を呼び出すという同じ構造を繰り返しており、意味不明です。ArbitrageReverse_1.1.mq4 では [106] 行目、1.5 では [128] 行目です。この機能は理にかなっています。もし、売り注文と買い注文(それぞれ1つのシンボル)がある場合、売りは買いによって決済されます。気に入らないのは、この作戦を実行するための前提条件がないことだ。つまり、BUYとSELLがあれば、注文はクローズするはずです。 しかし、コードのさらに先のブロック 'dt' では、すでに関数closeby(ticksell, tickbuy) (v:1.1 行 [163], v:1.5 [189]) の呼び出しが条件に組み入れられているのです。そして、その方が正しいように思います。原則的には、マイナーなバグを解決しながら、すべての代入を変数にトレースした自分自身で、すぐに何が起こっているのかを確認することにしています。でも、今度はユーリに直接聞いてみるよ。
クローズバイコールは[106] v:1.1 と [128] v:1.5 の行で必要ですか?もしそうなら、クローズできるものはすべてその前にクローズしなければならないと判明した場合、v:1.1 では [163] で、または v:1.5 では [189] で何が "close" するのですか? ロット量の違いがあるかもしれないと理解しましたが、やはりここで何かが "off" と思われるのですが、どうですか?

v:1.1では[200]、v:1.5では[224]のcloseby(tickbuy, ticksell)の呼び出しは多かれ少なかれ明確です - もしオープンオーダーにSELLまたはBUYが定義されていれば、ブロック「dt」で条件に応じて、反対のオーダーがOrderSend 関数によって開くことができ、その後それぞれ閉じることが実行されるでしょう。

とにかく、バカなことを聞いてしまったのなら、謝ります。誤りを指摘すれば訂正します。

敬具、Fed.

もし、デモモードやリアルモードでもテストと同じように完璧にカウンターポジションを閉じることができるのであれば、スタートイベントの最後のリターン(0)の前にcloseby()を1回だけ呼び出すだけで十分なはずです。したがって、テストモードでは、どんなにトレース可能でも、追加呼び出しでのクローズは発生しない。

しかし、デモモードや実際の運用では、クローズしたポジションが何らかの理由でカウンターでクローズできないことが多いので(例えば、サーバとの接続が短時間しかない)、closeby()に追加の呼び出しを用意する必要があったのです。
理由: