Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
crOss: пункты 1 и 2 уходят, если фиксировать правое время на момент начала теста/оптимизации. никто не просит актуальность до секунды... но один торговый день - это, извините, ни в какие ворота.
そして、プロフィールスレッドで提案をしてください(間違いはないのですが)。
まあ私の理解では、カレンダーでは、期間の終わりを今日の日付に選択することができます。
とすると、テスターとオプティマイザーは現在の時間まで動作することが期待されますが、そうはいきません((
開発者はこのことを認識しており、良いプラットフォームを作ることは彼らの力の及ぶところです。
この記事「初心者のためのMQL5 Expert Advisorの書き方ステップバイステップガイド」https://www.mql5.com/ru/articles/100 を読んだところ、次のような行がありました。
3桁と5桁の相場では、ストップロスとテイクプロフィットの値を10倍しています。
端末に同梱されているMACDのサンプルにも同じ情報が記載されています。
//--- 3桁、5桁のチューニング
int digits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10.この場合、3桁、5 桁のチューニングが必要です。
m_adjusted_point=m_symbol.Point()*digits_adjust;
このアクションは何ですか?なぜ変数を10倍すると小数点以下が3桁と5桁になるのか?
この記事「初心者のためのMQL5 Expert Advisorの書き方ステップバイステップガイド」https://www.mql5.com/ru/articles/100 を読んだところ、次のような行がありました。
3桁と5桁の相場では、ストップロスとテイクプロフィットの値を10倍しています。
端末に同梱されているMACDのサンプルにも同じ情報が記載されています。
//--- 3桁、5桁のチューニング
int digits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10.この場合、3桁、5 桁のチューニングが必要です。
m_adjusted_point=m_symbol.Point()*digits_adjust;
このアクションは何ですか?なぜ変数を10倍すると小数点以下が3桁と5桁になるのか?
何でも4桁で数えることに慣れ、その考えを変えたくない友人たちのためです。
したがって、パラメータでストップロスを100ポイント設定すると、5桁の計算では1000ポイント、4桁の計算では100ポイントになり、同じになります。
4桁の数字には利点があり、利益の再計算が容易で、1pipは投資資金の1%になる。
この記事「初心者のためのMQL5 Expert Advisorの書き方ステップバイステップガイド」https://www.mql5.com/ru/articles/100 を読んだところ、次のような行がありました。
3桁と5桁の相場では、ストップロスとテイクプロフィットの値を10倍しています。
端末に同梱されている「MACDサンプル」にも同じ内容が記載されています。
//--- 3桁、5桁のチューニング
int digits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10.この場合、3桁、5 桁のチューニングが必要です。
m_adjusted_point=m_symbol.Point()*digits_adjust;
どんな行動なのか?なぜ、小数点以下3桁と5桁の変数を10倍するのでしょうか?
異なるブローカー(4桁または5桁のクォートを提供)とのより良い互換性、すなわちExpert Advisorのパラメータを変更する必要がない。
このアルゴリズムは、4桁のクォートを提供するブローカーで_Digitsが4または2であるかも しれないという事実に基づいています(通常、JPYとのペアで)。
で、それに応じて5桁の5と3になります。
とはいえ、_Digitsの値が 異なるツールもあるので、私自身、この方式のセキュリティには興味が あります。
個人的には「EURUSD」で確認しています。しかし、少なくともMT4ではユーロ ドルがEURUSD_fxの ように少し違う名前になっているブローカーが あります。
とか、そんな感じです。
пункты 1 и 2 уходят, если фиксировать правое время на момент начала теста/оптимизации.
никто не просит актуальность до секунды... но один торговый день - это, извините, ни в какие ворота.
ウラン です。
そうすると、年月日だけでなく、終了の時:分も入力する必要があります。
必ずしもそうではありませんが、テスト/最適化の実行時に、純粋にプログラムによって時間を修正することができます。
正直、この提案は非常にセンシティブだと思います。大賛成です。
今のところ私には無関係ですが、近いうちにとても欲しくなるかもしれません。
何でもかんでも4桁でカウントするのに慣れていて、作り直したくない人向けです。
したがって、パラメータでストップロスを100ポイントに設定すると、5桁で1000ポイント、4桁で100ポイントの再計算が行われ、同じことになります。
4桁の数字には、利益の再計算のしやすさ、投資資金の1ピップ1%というメリットがあります。
もう一つ質問ですが、同じ記事でストップロスやテイクプロフィットを形成する際にNormalizeDouble関数を使って いますが、これはどのような理由からでしょうか?意味がないような気がします。
同じ記事の中で、ストップロスやテイクプロフィットを形成する際にNormalizeDouble関数が 使われているのは、どういう理由からでしょうか?意味がないような気がします。
無意味なことはない、レベル計算の際、倍数を使った演算が行われ、その結果が正規化されない、そのままサーバーに渡すとリクオートされる。そのため、計算結果は正規化されます。
ストップロスは100、ポイントは0.00001とします。これらを掛け合わせた場合、どのようなことが起こるでしょうか?9の方はどこかに出没するのでしょうか?例えば、0.0009999?
普通に考えれば1.45893と出るはずですが、1.4589300000000002と出ています。
EA情報に「セキュリティ」タブを設け、セキュリティレベルや呼び出されたDLL関数の一覧を表示させることを計画しました。
ちょうどショップの立ち上げのタイミングで、EX5ファイルの制作に取り組むことになりました。
Renatさん、新しいEX5フォーマットでのDLLコールについて、あと2つ質問があります。
1.呼び出しが無効化された場合、コードはどのように動作するのでしょうか?今みたいに......走らないんでしょうか?
2.起動しない場合、MQL5_DLLS_ALLOWED /TERMINAL_DLLS_ALLOWEDは 何のためにあるのでしょうか?