エラー、バグ、質問 - ページ 720

 

みなさん、こんにちは。

このバグに遭遇しました(何か誤解しているのかもしれませんが)

1ヶ月の履歴を見ると、獲得740円、スワップ-250円など、十分なデータが表示されています。

同時に、全期間を通して見ると、獲得ポイント500とスワップはほぼ同じです

だから、全期間の収益が月間の合計より少ないのに、どうしてそうなるのか理解できない。

必要であれば、履歴書を添付します。

 
tol64:

そのため、3ロットの オープンポジションと3ロットずつの 4つの 既存の買い 逆指値注文(15ロットの制限付き)で5番目の 保留中の 買い 注文を出した場合、成功しないはずです。

一般的には、そうですね。ヘルペに記載されている内容では。

しかし、論理的には-必ずしもそうではありません。取引所市場では、スタックには指値注文しかありませんが、逆指値注文はブローカーのサーバーに保存され、起動価格(MTでは「価格」)と発注する指値注文の価格(取引が成立してもよい最悪の価格)という2つのパラメータを持っています。これはMT5のBuyStopLimitとSellStopLimitに似ていますが、Limitはストップ価格と同じかそれ以上(BuyStopLimitの場合)またはそれ以下(SellStopLimitの場合)であることが可能です。株式市場では、Limitを高く設定する(買いの場合)と取引になりますが、MTではこのようなことはできません。このように、特に未開発の取引所市場(例えば、ウクライナ取引所)では、かなり頻繁に(特に16:30から16:35までの四半期インデックス先物の有効期限の日に)停止が動作する時間を持っていないとカップは、通常の条件下で、すぐに実行につながるであろう指値注文で満たされています。

だから - 市場で制限 - 停止しながら、(お金が急に不足になった場合、ブローカーは、順序を削除することができますが、それ以前の実行に来るよりも)購入/販売するための確固たるコミットメント - 単にサーバーブローカ上のレコードは、そう活性化価格に達した時点で、ブローカが自由資金と決定推定できる - 制限を公開するかどうかを指定します。だから、リミットの場合はリミットをクリアしなければならないが、ストップの場合は理論上、クリアする必要はないと言っているのです。

 
Yedelkin:

DoubleToStringにたどり着きましたか?:)

あ、NormalizeDoubleを見てください。

Print()で正規化された数値をJournalに出力する場合、小数点 以下の桁数が予想以上に多くなることに注意する必要があります。

   double pi=M_PI;
   Print("pi=",DoubleToString(pi,16));
      
   double pi_3=NormalizeDouble(M_PI,3);
   Print("NormalizeDouble(pi,3) = ",DoubleToString(pi_3,16))
   ;
   double pi_8=NormalizeDouble(M_PI,8);
   Print("NormalizeDouble(pi,8) = ",DoubleToString(pi_8,16));
   
   double pi_0=NormalizeDouble(M_PI,0);
   Print("NormalizeDouble(pi,0) = ",DoubleToString(pi_0,16));
/*
   Результат:
   pi= 3.1415926535897931
   NormalizeDouble(pi,3)= 3.1419999999999999                          <-----------
   NormalizeDouble(pi,8)= 3.1415926499999998                          <-----------
   NormalizeDouble(pi,0)= 3.0000000000000000
*/

混乱はない

 
victorg:

あ、NormalizeDoubleを見てください。

何か分かりにくい点はありますか?

いや、何も混乱はしていない。あなたの例では

void OnStart()
  {
  double a=2000000.0/3.0;
  Print(DoubleToString(a,30));
  }
NormalizeDouble()関数の使用や正規化された数値への言及は全くありませんでした。それに伴い、私の発言DoubleToStringになった ?:)」と、恥ずかしげもなく関数DoubleToString() の引用が添えられていた。そして、この引用文の関連性について、まだ誰も反論していない。
 
Yedelkin:

いや、何も混乱はしていない。あなたの 例では

NormalizeDouble()関数の使用や正規化された数値への言及は一切ありませんでした。それに伴い、私の発言DoubleToStringになった ?:)」と、恥ずかしげもなく関数DoubleToString() の引用が添えられていた。そして、この引用文の関連性について、まだ誰も反論していない。

実は、あなたのコメントではなく、NormalizeDouble()のドックのことを指しているのです。

 
notused:

一般的には、そうですね。ヘルペに記載されている内容では。

しかし、論理的には-必ずしもそうではありません。取引所市場では、スタックには指値注文しかありませんが、逆指値注文はブローカーのサーバーに保存され、起動価格(MTでは「価格」)と発注する指値注文の価格(取引が成立してもよい最悪の価格)という2つのパラメータを持っています。これはMT5のBuyStopLimitとSellStopLimitに似ていますが、Limitはストップ価格と同じかそれ以上(BuyStopLimitの場合)またはそれ以下(SellStopLimitの場合)であることが可能です。株式市場では、Limitを高く設定する(買いの場合)と取引になりますが、MTではこのようなことはできません。このように、特に未開発の取引所市場(例えばウクライナ取引所)では、かなりの頻度で(特に四半期指数先物の満期日の16:30-16:35)ストップが働く時間がなく、カップは通常の条件ではすぐに執行につながる指値注文で満たされています。

だから - 市場で制限 - 停止しながら、(お金が急に不足になった場合、ブローカーは、順序を撤回する ことができますが、それは実行に来るよりも早く)購入/販売することを約束、 - 単にサーバーブローカ上のレコードは、そう活性化価格に達した瞬間に、ブローカが自由資金と決定推定できる - 限度を公開するかどうかを指定します。だから、リミットの場合は制限を守らなければならないが、ストップの場合は理論的には守らなくてもいい、と言っているのです。

詳しい説明ありがとうございました。

Valeryさん、MT5のStrategy Tumblerにオートストラテジーを実装してみましたか?1ヶ月ほど前に試したがうまくいかなかった、フォーラムで誰も答えてくれなかった。バグなのか、私の勘違いなのか、よくわかりません。光を当てる。:)

 

こんにちは。

iCustomのインジケータを 通常のプログラム本体に組み込んでいるのですが、正常に動作し、ハンドルも取得でき、すべて動作します。

EX5ライブラリに配置すると、indicator handle=-1となり、メインプログラムがindicatorの呼び出しに失敗してしまいます。

"DZMACD EURGBP,M15の読み込みに失敗しました"
"カスタムインジケータ「DZMACD」をロードできない[4002]"

iMAやiMACDのような標準的な指標は、同じex5ライブラリで正常に動作すると同時に、ハンドルを取得します。

何が悪いのかわからないし、バグなのか?

Документация по MQL5: Технические индикаторы / iCustom
Документация по MQL5: Технические индикаторы / iCustom
  • www.mql5.com
Технические индикаторы / iCustom - Документация по MQL5
 
MqlDateTime 構造体において

intday;// 日

は、その月の日という意味なのでしょうか?
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура даты
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура даты - Документация по MQL5
 
victorg:

実は、あなたのコメントではなく、NormalizeDouble()のdocのことを指しています。

実は、このメッセージはこんな風に 書かれていたんです。

victorg:

イェデルキン

DoubleToStringに辿り着きましたか?:)

あ、NormalizeDoubleを見てください。

何も恥ずかしくないのか

つまり、「私のコメント」をそのまま引用して、「あそこで他のものを見てください」という提案と「紛らわしいですか?

新しい研究結果だけを「...NormalizeDouble()によるドックについて」という形で紹介したいのであれば、余計な情報を引用せずにそう書くでしょう。そうですね :/。

しかし、あなたの投稿は、名前付きのリンクを使用し、まさに私のレプリカを使用していたので、NormalizeDouble()は私のレプリカやあなたの元の投稿とは何の関係もないことを明確にしなければならず、私は勝手にコメントさせていただきました。

 
Fia:

こんにちは。

アドバイスお願いします。私は、プログラムの通常の本体でiCustomのインジケータが 正常に動作し、それはハンディを取得し、すべてが動作します。

EX5ライブラリに配置するとHandel=-1となり、メインプログラムがインジケータの呼び出しに失敗してしまいます。

"DZMACD EURGBP,M15の読み込みに失敗しました"
"カスタムインジケータ「DZMACD」をロードできない[4002]"

同時に、iMAやiMACDのような標準的な指標は、同じex5ライブラリで問題なく動作し、ハンドルを取得します。

何が間違っているのか、バグなのか、理解できません。

ライブラリのカスタムインジケータの設定は大丈夫ですか?

err_wrong_internal_parameter

4002

クライアント端末の内部関数呼び出しのパラメータに誤りがある。