В языке MQL5 предусмотрена обработка некоторых предопределенных событий. Функции для обработки этих событий должны быть определены в программе MQL5: имя функции, тип возвращаемого значения, состав параметров (если они есть) и их типы должны строго соответствовать описанию функции-обработчика события. Именно по типу возвращаемого значения и по...
Данные типа double выводятся с точностью до 16 десятичных цифр после точки, при этом данные могут выводиться либо в традиционном либо в научном формате – в зависимости от того, как запись будет наиболее компактна. Данные типа float выводятся с 5 десятичными цифрами после точки. Для вывода вещественных чисел с другой точностью либо в явно...
は、テスターの話なのか、オンラインの話なのか?
オンラインの場合 - コードを見ると、どこかで移動イベントが正常にルーティングされていないことがわかります。サイト上の方法によってパネルだけ5種類のライブラリ、あなたは何を意味するのでしょうか?
そしてテスターでは......方法はないようで、なぜか。
テスターの話なのか、オンラインの話なのか。
オンラインの場合 - コードを見ると、どこかで移動イベントが正常にルーティングされていないことがあります。サイト上の方法によってパネルだけ5種類のライブラリ、あなたは何を意味するのでしょうか?
そしてテスターでは......方法はないようで、なぜか。
オンラインの話です。テスターでは本当に必要ないんです。ライブラリについては、私はプログラミングの専門家ではないので、よくわかりません。MQL5リファレンスから、ボタンのレディコードを取り出したところです。
もうやってしまったので、もっと安くなりますよ。ボタンの位置が次のティックで更新されるのは、このためらしい。背景と一緒にボタンも動くようにする方法がわかりません。
すべてのパネルオブジェクトに移動コマンドを送信した後、ChartRedraw()を実行します。
の関数を使ってログからたどってみました。
各if条件の後に挿入するだけです。
その結果、あの機能がわかったのです。
正常に注文を選択して次に進みますが、このコードの後にPrint("Order Selected!"); が挿入 されている場合。
の場合、エラーが発生します。
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl: 1.12023 tp: 1.12275 -> 1.00000, sl: 1.00000 tp: 1.00000 [Invalid price] [無効な価格]を修正しました。
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend: modify #2 at 1.00000 (sl: 1.00000 tp: 1.00000) [invalid price].
私はオートトレード用の別のEAで同じコードを使用しています(唯一の違いは、そのようなコードがないことです)。
)で問題ないです。注文は問題なく開封され、修正されます。
以下は、コードそのものです。
何が間違いなのか、教えてください。
オンラインについてです。テスターでは本当に必要ないんです。ライブラリについては、私はプログラミングの完全なダミーなので、答えられません。MQL5リファレンスから、ボタンのレディコードを取り出したところです。
もうやった のですが、エラーが出ないので、まだ直せません。ボタンの位置が次のティックで 更新されるのは、このためらしい。背景と一緒にボタンも動くようにする方法がよくわかりません。
また、そのティックではなく、次のティックにあるとどうやって判断したのですか?)
ご理解のほどよろしくお願いします。トレーディングパネルに買い逆指値注文を 出し、注文が失敗した場合は後続の注文を出すコードが必要です。注文は開かれていますが、注文の修正はありません。 ジャーナルにエラーは表示されず、注文の修正も試みられていません。どの段階でエラーが発生したかを、 という関数を使ってログで追ってみました。
各if条件の後に挿入するだけです。
その結果、この機能があることを知りました。
正常に注文を選択して次に進みますが、このコードの後にPrint("Order Selected!"); が挿入 されている場合。
の場合、エラーが発生します。
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl: 1.12023 tp: 1.12275 -> 1.00000, sl: 1.00000 tp: 1.00000 [Invalid price] [無効な価格] を修正しました。
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend: modify #2 at 1.00000 (sl: 1.00000 tp: 1.00000) [invalid price].
私はオートトレード用の別のEAで同じコードを使用しています(唯一の違いは、そのようなコードがないことです)。
)で問題ないです。注文は問題なく開封され、修正されます。
以下は、コードそのものです。
何が間違いなのか、教えてください。
明らかにNormalizeが正常に動作していません。Unprint asymbol.Digits() asymbol.TickSize(),.Point() チェック .
皆さん、ごきげんよう。EAからDLLにアクセスする際に発生する問題です。
C:⇄Shablon.dll」を読み込めません。
エラー487はERROR_INVALID_ADDRESSを 意味しているようですが、ライブラリへのパスは正しいです。実は、すでにこのDLLをすべてのフォルダに入れましたが、役に立ちません。
それは何でしょう?よろしくお願いします。
追伸:当初、このDLLは32bit用で、mt4*86で動作していました。64bit用に再コンパイルして、mt5*64に入れたら、このような問題が発生しました。
次のティックに何があって、そのティックに何がないのか、どうやって知ることができるのでしょうか?)
新しいティックが到着するまでは、ボタンの動きはありません。それが目で見てわかるんです。価格が 変わると同時に、ボタンが動きます。
今日、新しいティックでも、何も変えていないのに、ボタンが再描画されなくなりました。背景だけが動いている。どうやらNormalizeがうまく働かないようです。Unprint asymbol.Digits() asymbol.TickSize(),.Point() チェック .
こんなクエリーを作ると
こんな結果が出ます。
2020.06.17 13:49:53.270 2020.01.02 06:50:00 Symbol EURUSD_i Digits 5 Point 1e-05
このような要望を出すと
こんな結果が出ます。
2020.06.17 13:51:58.787 2020.01.02 06:45:00 Symbol EURUSD_i Digits 0 Point 0.0
同時に、Print関数を 挿入しない場合は、全くエラーが発生せず、オーダーが自分自身を修正しようともしないことに注意したいと思います。まるでCTradeが私の注文を見ていないかのようです。
記号やマジックナンバーのチェックがうまくいかない。
結果
2020.06.17 14:37:38.147 2020.01.02 06:50:00 シンボルマジック 0 チケット 2
マジックナンバーは12345、記号はユーロドルです。
なぜシンボルとメディックが手に入らないのですか?
文字列を変更した場合。
aorder.Symbol()==asymbol.Name()
に変更されます。
で、マジックナンバーによるバリデーションを削除すると、価格に関する問題が発生します。
2020.06.17 01:38:24.136 2020.01.02 07:40:00 failed modify order #2 buy stop 0.1 EURUSD_i at 1.12086 sl: 1.12023 tp: 1.12275 -> 1.00000, sl: 1.00000 tp: 1.00000 [Invalid price] [無効な価格] を修正しました。
2020.06.17 01:38:24.136 2020.01.02 07:40:00 CTrade::OrderSend: modify #2 at 1.00000 (sl: 1.00000 tp: 1.00000) [invalid price].
2020.06.17 01:38:24.136 2020.01.02 07:40:00 BUY STOP modification failed!結果 Retcode: 10015, Retcodeの説明: 価格が無効です。
この同じコードが別のExpert Advisorでは問題なく動作するのに、私はすでに頭を悩ませています。
私は何を間違えているのだろう?
皆さん、ごきげんよう。EAからDLLにアクセスする際に発生する問題です。
C:⇄Shablon.dll」を読み込めません。
エラー487はERROR_INVALID_ADDRESSを 意味しているようですが、ライブラリへのパスは正しいです。実は、すでにこのDLLをすべてのフォルダに入れましたが、役に立ちません。
それは何でしょう?よろしくお願いします。
追伸:当初、このDLLは32bit用で、mt4*86で動作していました。64bit用に再コンパイルして、mt5*64に入れたら、こんな問題が。
ERROR_INVALID_ADDRESS はパスに関するものではありません。渡す引数を間違えている。