エラー、バグ、質問 - ページ 123 1...116117118119120121122123124125126127128129130...3185 新しいコメント Prival 2010.09.08 19:36 #1221 このスクリプトを3回実行したときのスクリーンショットがこちらです。 私には効きません。 Alexey Da 2010.09.09 08:01 #1222 Prival:バグ-以前は動作していたが、今は動作しない。メッセージをありがとうございました。これからも探し続けます。 retired 2010.09.09 08:51 #1223 PrintCheckResult メソッド(Trade.mqhファイル、Tradeクラス、CTradeクラス)に小さなバグがあることがわかりました。 void CTrade::PrintCheckResult(void) const{ printf("CheckResult")。// printf("%d,%f,%f,%f,%f,%f,'%s'", - 最後の1つ以外のパラメータは不要です。 printf("%d,%f,%f,%f,%f,%f,'%s'", m_check_result.retcode、m_check_result.balance、m_check_result.equity。 m_check_result.margin、m_check_result.margin_free、m_check_result.margin_levelです。 m_check_result.comment)。} 文字列の代わりにprintf("%d,%f,%f,%f,%f,%f,%f,'%s'", - コメントアウト という行があるはずです。 確認したところ、修正された機能は正常に動作していました。 Ilyas 2010.09.09 09:14 #1224 Prival:バグ-以前は動作していたが、今は動作しない。メッセージをありがとうございました。次回のアップデートで利用可能になる予定です。現在のバージョンで動作させるには、定数や一般的な乗算に対して明示的なキャスティングを使用します。void OnStart() { // вот так работает Print(TimeCurrent()+2*PeriodSeconds(PERIOD_D1)); // а вот так нет (а раньше работало) datetime time_end=0; time_end=TimeCurrent()+(long) 2*PeriodSeconds(PERIOD_D1); Print(time_end); } Alexey Da 2010.09.09 09:14 #1225 retired:PrintCheckResult メソッド(Trade.mqhファイル、Tradeクラス、CTradeクラス)に小さなバグが見つかりました。メッセージをありがとうございました。すぐに修正されるでしょう。 Prival 2010.09.09 11:11 #1226 mql5:メッセージをありがとうございました。次回のアップデートで利用可能になる予定です。現在のバージョンで動作させるには、定数または一般的な乗算に対して明示的なキャスティングを使用します。 ありがとうございます。私の理解が正しければ、それはタイプ変換による ものでした。コンパイル時のメッセージがないのが残念、もっと見つけやすかったはずなのに Документация по MQL5: Основы языка / Типы данных / Приведение типов www.mql5.com Основы языка / Типы данных / Приведение типов - Документация по MQL5 Ilyas 2010.09.09 12:03 #1227 Prival: ありがとうございます。私の理解が正しければ、それはタイプ変換による ものでした。コンパイル時にこのようなメッセージがないのは残念で、もっと見つけやすくなるはずです あなたのコードは正しいです、何も文句を言うことはありません。x64では本当にオペランド変換でエラーが発生し、修正されました。アップデートを待つ。 retired 2010.09.10 05:19 #1228 ENUM_TRADE_RETURN_CODES の エラーを正しく処理するために、正しく解釈する必要があります。それらを詳しく説明する資料はないのでしょうか? 特に、以下のようなエラーは完全に把握できていない。 10008 トレード_レトコード_プレイス ご注文 10021 トレード・レコード・プライスオフ リクエストを処理するための見積もりはありません 10028 トレード_レトコード_ロック クエリーの処理がブロックされている 10029 トレード_レトコード_フローズン 順序または位置の凍結 どなたかこの問題を解決してください。 削除済み 2010.09.10 07:03 #1229 retired:ENUM_TRADE_RETURN_CODES の エラーを正しく処理するために、正しく解釈する必要があります。それらを詳しく説明する資料はないのでしょうか? 特に、以下のようなエラーは完全に把握できていない。 10008 トレード_レトコード_プレイス ご注文 10021 トレード・レコード・プライスオフ リクエストを処理するための見積もりはありません 10028 トレード_レトコード_ロック クエリーの処理がブロックされている 10029 トレード_レトコード_フローズン 順序または位置の凍結 どなたかこの問題を解決してください。 上記はすべて、端末の要求に応じてサーバーが返すコードのことである。そのため、「トレードサーバーのリターンコード」の 項ですべてを説明しています。このリストには、エラー以外のものも含まれていると考えるのが自然だろう。では、順番に。については10008 トレード_レトコード_プレイス ご注文この回答はエラーではなく、単にクライアント(取引端末)に注文が成功したことを知らせるものであると考えるのが自然であろう。この場合、3つの解決策が考えられます。1.答えを全く処理しないこと。2. OnTrade()ブロックで発注を処理する - かなり許容範囲ですが、私の意見ではあまり正しくありません。私の考えでは、これが機械的な取引に最適な処理方法だと思います。追記私は、注文場所でサーバーの応答を処理し、OnTrade()でトレーダー、サーバー、他のExpert Advisorのアクションの結果をキャッチするのが好きです。例えば、OnTrade では、トレーダーの取引操作(注文の発注や削除、ポジションの操作)をキャッチすることができます。に関して10029 トレード_レトコード_フローズン 注文またはポジションが凍結されているポジションや注文が「凍結」される(それに対する操作が禁止される)レベルという ものがあります。このレベルは、サーバーが注文やポジションでの行動を禁止する、現在の価格との距離です。この距離はピップス単位で、各シンボルごとに設定されています。SymbolInfoInteger( )で パラメータ SYMBOL_TRADE_FREEZE_LEVEL を指定して取得することができます。サーバーからそのような応答があった場合、次の2つのうちどちらかが起こるのを待つ必要があります。1.価格が必要な距離( シンボルのプロパティで指定された距離より大きい )移動して いない。2. 注文や役職が、それらに設定された条件下で機能しないこと。に関して10021 トレード・レコード・プライスオフ 依頼を処理するための見積もりはありませんおそらく、この回答を得る際には、シンボル名の確認(念のため)、シンボルが選択されていることの確認(テスターやマルチキャストでは重要)、サーバー上も含めた履歴の確認(ダウンロードが必要な場合)、おそらく市場が開いていてシンボルの取引が可能なことの確認が必要でしょう。追記ただし、ここでは、開発者側で指定する必要があります。についてはどうですか?10028 トレード_レトコード_ロック リクエストの処理がブロックされているこれは、上に挙げたサーバーの回答の中で最も具体的なものでしょう...開発者からの説明が必要な可能性が高いです...(おそらく一定時間待てばいいという前提です)。 retired 2010.09.10 07:29 #1230 Interesting: について 10029 トレード_レトコード_フローズン 順序または位置の凍結 ポジションや注文が "凍結 "される水準があります(その水準以下では、いかなる行動も 禁止されます)。 このレベルは、サーバーが注文やポジションでの行動を禁止する、現在の価格との距離です。この距離はピップス単位で、各シンボルごとに設定されています。 SymbolInfoInteger( )で パラメータ SYMBOL_TRADE_FREEZE_LEVEL を指定して取得することができます。 サーバーからそのような応答があった場合、次の2つのうちどちらかが起こるのを待つ必要があります。 1.価格が必要な距離( シンボルのプロパティで指定された距離より大きい )移動して いない。 2. 注文またはポジションが、それらに設定された条件を満たしていない場合。 10029:TRADE_RETCODE_FROZEN:Order or position is frozen "というコードで理解 しました。 しかし、それ以外のものについては、まだ疑問が残っています(推測ではなく、正確な答えが知りたい)。 10008 トレード_レトコード_プレイス ご注文 10021 トレード・レコード・プライスオフ リクエストを処理するための見積もりはありません 10028 トレード_レトコード_ロック リクエストの処理はブロックされています 特に、サーバー上で注文がキューに入ると、チケットが割り当てられ、「10009:TRADE_RETCODE_DONE:Request executed」というコードが返されるので、「10008: Order has been placed」の意味がよくわからないのである。 1...116117118119120121122123124125126127128129130...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
このスクリプトを3回実行したときのスクリーンショットがこちらです。
私には効きません。
バグ-以前は動作していたが、今は動作しない。
メッセージをありがとうございました。
これからも探し続けます。
PrintCheckResult メソッド(Trade.mqhファイル、Tradeクラス、CTradeクラス)に小さなバグがあることがわかりました。
void CTrade::PrintCheckResult(void) const
{
printf("CheckResult")。
// printf("%d,%f,%f,%f,%f,%f,'%s'", - 最後の1つ以外のパラメータは不要です。
printf("%d,%f,%f,%f,%f,%f,'%s'",
m_check_result.retcode、m_check_result.balance、m_check_result.equity。
m_check_result.margin、m_check_result.margin_free、m_check_result.margin_levelです。
m_check_result.comment)。
}
文字列の代わりにprintf("%d,%f,%f,%f,%f,%f,%f,'%s'", - コメントアウト
という行があるはずです。
確認したところ、修正された機能は正常に動作していました。
バグ-以前は動作していたが、今は動作しない。
メッセージをありがとうございました。次回のアップデートで利用可能になる予定です。現在のバージョンで動作させるには、定数や一般的な乗算に対して明示的なキャスティングを使用します。
{
// вот так работает
Print(TimeCurrent()+2*PeriodSeconds(PERIOD_D1));
// а вот так нет (а раньше работало)
datetime time_end=0;
time_end=TimeCurrent()+(long) 2*PeriodSeconds(PERIOD_D1);
Print(time_end);
}
PrintCheckResult メソッド(Trade.mqhファイル、Tradeクラス、CTradeクラス)に小さなバグが見つかりました。
メッセージをありがとうございました。
すぐに修正されるでしょう。
メッセージをありがとうございました。次回のアップデートで利用可能になる予定です。現在のバージョンで動作させるには、定数または一般的な乗算に対して明示的なキャスティングを使用します。
ありがとうございます。私の理解が正しければ、それはタイプ変換による ものでした。コンパイル時にこのようなメッセージがないのは残念で、もっと見つけやすくなるはずです
ENUM_TRADE_RETURN_CODES の エラーを正しく処理するために、正しく解釈する必要があります。それらを詳しく説明する資料はないのでしょうか?
特に、以下のようなエラーは完全に把握できていない。
10008
トレード_レトコード_プレイス
ご注文
10021
トレード・レコード・プライスオフ
リクエストを処理するための見積もりはありません
10028
トレード_レトコード_ロック
クエリーの処理がブロックされている
10029
トレード_レトコード_フローズン
順序または位置の凍結
どなたかこの問題を解決してください。
ENUM_TRADE_RETURN_CODES の エラーを正しく処理するために、正しく解釈する必要があります。それらを詳しく説明する資料はないのでしょうか?
特に、以下のようなエラーは完全に把握できていない。
10008
トレード_レトコード_プレイス
ご注文
10021
トレード・レコード・プライスオフ
リクエストを処理するための見積もりはありません
10028
トレード_レトコード_ロック
クエリーの処理がブロックされている
10029
トレード_レトコード_フローズン
順序または位置の凍結
どなたかこの問題を解決してください。
上記はすべて、端末の要求に応じてサーバーが返すコードのことである。そのため、「トレードサーバーのリターンコード」の 項ですべてを説明しています。
このリストには、エラー以外のものも含まれていると考えるのが自然だろう。
では、順番に。
については
10008
トレード_レトコード_プレイス
ご注文
この回答はエラーではなく、単にクライアント(取引端末)に注文が成功したことを知らせるものであると考えるのが自然であろう。
この場合、3つの解決策が考えられます。
1.答えを全く処理しないこと。
2. OnTrade()ブロックで発注を処理する - かなり許容範囲ですが、私の意見ではあまり正しくありません。
私の考えでは、これが機械的な取引に最適な処理方法だと思います。
追記
私は、注文場所でサーバーの応答を処理し、OnTrade()でトレーダー、サーバー、他のExpert Advisorのアクションの結果をキャッチするのが好きです。
例えば、OnTrade では、トレーダーの取引操作(注文の発注や削除、ポジションの操作)をキャッチすることができます。
に関して
10029
トレード_レトコード_フローズン
注文またはポジションが凍結されている
ポジションや注文が「凍結」される(それに対する操作が禁止される)レベルという ものがあります。
このレベルは、サーバーが注文やポジションでの行動を禁止する、現在の価格との距離です。この距離はピップス単位で、各シンボルごとに設定されています。
SymbolInfoInteger( )で パラメータ SYMBOL_TRADE_FREEZE_LEVEL を指定して取得することができます。
サーバーからそのような応答があった場合、次の2つのうちどちらかが起こるのを待つ必要があります。
1.価格が必要な距離( シンボルのプロパティで指定された距離より大きい )移動して いない。
2. 注文や役職が、それらに設定された条件下で機能しないこと。
に関して
10021
トレード・レコード・プライスオフ
依頼を処理するための見積もりはありません
おそらく、この回答を得る際には、シンボル名の確認(念のため)、シンボルが選択されていることの確認(テスターやマルチキャストでは重要)、サーバー上も含めた履歴の確認(ダウンロードが必要な場合)、おそらく市場が開いていてシンボルの取引が可能なことの確認が必要でしょう。
追記
ただし、ここでは、開発者側で指定する必要があります。
についてはどうですか?
10028
トレード_レトコード_ロック
リクエストの処理がブロックされている
これは、上に挙げたサーバーの回答の中で最も具体的なものでしょう...開発者からの説明が必要な可能性が高いです...(おそらく一定時間待てばいいという前提です)。
について
10029
トレード_レトコード_フローズン
順序または位置の凍結
ポジションや注文が "凍結 "される水準があります(その水準以下では、いかなる行動も 禁止されます)。
このレベルは、サーバーが注文やポジションでの行動を禁止する、現在の価格との距離です。この距離はピップス単位で、各シンボルごとに設定されています。
SymbolInfoInteger( )で パラメータ SYMBOL_TRADE_FREEZE_LEVEL を指定して取得することができます。
サーバーからそのような応答があった場合、次の2つのうちどちらかが起こるのを待つ必要があります。
1.価格が必要な距離( シンボルのプロパティで指定された距離より大きい )移動して いない。
2. 注文またはポジションが、それらに設定された条件を満たしていない場合。
10029:TRADE_RETCODE_FROZEN:Order or position is frozen "というコードで理解 しました。
しかし、それ以外のものについては、まだ疑問が残っています(推測ではなく、正確な答えが知りたい)。
10008
トレード_レトコード_プレイス
ご注文
10021
トレード・レコード・プライスオフ
リクエストを処理するための見積もりはありません
10028
トレード_レトコード_ロック
リクエストの処理はブロックされています
特に、サーバー上で注文がキューに入ると、チケットが割り当てられ、「10009:TRADE_RETCODE_DONE:Request executed」というコードが返されるので、「10008: Order has been placed」の意味がよくわからないのである。