エラー、バグ、質問 - ページ 112 1...105106107108109110111112113114115116117118119...3185 新しいコメント Yedelkin 2010.08.29 09:59 #1111 sandex: OrderCheck 機能を使用したことがある人。 こんな構造です。 MqlTradeRequest request; request.action=TRADE_ACTION_DEAL; request.symbol=_Symbol; request.volume=volume_exe; request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK); request.sl=0; request.tp=0; request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2; request.type=ORDER_TYPE_BUY; request.type_filling=ORDER_FILLING_CANCEL; MqlTradeResult result; OrderCheck(request, result); if(OrderSend(request, result)==false) コンパイル時に、'result' - parameter conversion is not allowed.というエラーが発生します。 OrderCheckを削除すると、すべてが正常にコンパイルされ、テスターでポジションが開きます。 機能の説明を見てください。MqlTradeCheckResultの 応答構造について書かれています。 Alexander Bereznyak 2010.08.29 11:21 #1112 Yedelkin: 機能の説明をご覧ください。MqlTradeCheckResultの 応答構造について書かれています。ありがとうございました。 Валерий 2010.08.29 12:32 #1113 Dmitriy2:その内容はというと...。 指定された日付からの取引の利益をカウントする必要があります。実際とはまったく違う結果を出してしまうのです。例えば、私は約2000という結果ではなく、611という結果を得ました。1日あたりのチェックをするようになりました(コメント行)。同じ結果の日もある(!!)のですが、大抵はあるべき姿ではありません...(規則性は見つけられませんでした)。 そしてデバッガーは、取引量 全体に対して全く同じサイクルを生成しています。int変数以外は値が表示されない(Expressionが評価できない)ので、この件数だけしかトレースできないのですが。 このコードは正しいのか、デバッガの使い方は正しいのか...?トランザクションループはfor(i=0;i<HistoryDealsTotal();i=i++) デバッガで、「ステップイン」(F11)を使用します。そして、変数や式が定義されている関数に入力すると、その値が表示されます。 Дмитрий 2010.08.29 13:05 #1114 Valmars: トランザクションサイクルは デバッガで「Step with Entry」(F11)を使用します。そして、変数や式が定義されている関数に入力すると、その値を表示します。 をゼロから始めるとすると...。しかし、取引数字がゼロから始まるなんて、どこに書いてあるんだ?今、私たちは10611(以前は611、代わりに約2000)、すなわち、プラス元の預金のサイズを持っているという事実から判断すると、私はそれについてよく分からない......たとえゼロでも、1でも、どこからが1万なのかがわからない。 デバッガ、なるほど、F11か...。 削除済み 2010.08.29 13:14 #1115 Dmitriy2: ゼロから始めるとすると...。しかし、取引数字がゼロから始まるなんて、どこに書いてあるんだ?今あなたが10611(それは約611だった前に、代わりに約2000)、すなわち、プラス元の預金のサイズを得るという事実から判断して、私はそれについてよく分からない...たとえゼロでも、1でも、どこからが1万なのかがわからない。 デバッガ、なるほど、F11か...。最初の取引は、通常、手付金である。履歴は0からカウントされるようなので、0番目の取引は入金になります。取引の利益が どのような計算式で算出されるのか、明確にすることは可能か?追記記憶が正しければ、結果は次のように計算されるはずです - TotalProfit = Profit+Swap-Commision; Renat Fatkhullin 2010.08.29 14:05 #1116 Kos: SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), がゼロを返すのはなぜですか? 0は制限なしを意味します。 Дмитрий 2010.08.29 14:19 #1117 Interesting: 最初の取引は通常、預金である。取引は0から履歴にカウントされるようなので、私の勘違いでなければ、0回目の取引は入金になりますね。 取引の利益を 算出するための計算式を具体的に教えてください。 追記 記憶が正しければ、結果は次のように計算されるはずです - TotalProfit = Profit+Swap-Commision; 最後のページでフルコードで このコードによって、預金はいかなる場合にも考慮されるべきではありません。 手数料もプラス - マイナスです。 Николай 2010.08.29 16:48 #1118 Yedelkin: 最初、コンパイラは "#import "lbS7N_Servis.ex5 "がないと文句を言った。 この行を削除したら、ギブアップしました。 2010.08.28 22:19:51 サービス[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000 2010.08.28 22:19:51 サービス[1] (EURUSD,H1) A=101699 B=101699 C=661701 2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- ! コード内の口座番号を自分の口座番号に置き換えると、こうなりました。 2010.08.28 22:26:46 サービス[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000 2010.08.28 22:26:46 サービス[1] (EURUSD,H1) A=101699 B=101699 C=101699 2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- ! MQサーバー、ビルド316。 ありがとうございます。すべてはあなたのためにあるべき姿です。まだ、わかっていないんです。 Николай 2010.08.29 16:58 #1119 sergey1294: と私のM1が合わなかったのです。 あなたもバグがあるけど、私より少ないということです。 プログラムとシステムの接続で探すべきかもしれませんね。 どのようなシステムなのでしょうか? core2duo 1.3 Ghz 64 Win7 HB ライセンス、4GB ddr 2 RAM、ビルドを持っています。316 Николай 2010.08.29 17:02 #1120 simpleton: そして、3つものユニークなシチュエーションがあるのです。これが検出されたものです。また、未検出のものはどれくらいあるのでしょうか? この状態で、MetaQuotesは1ヶ月後にチャンピオンシップ2010をスタートさせるのですか? ああ、MetaTrader 5には、どれだけの "不思議 "があるのだろう...。 勝者は、プログラムに多くの誤りが含まれており、プログラムの小さな不具合と相まって、誰も追いつけないほどの効果を発揮するものであろう。 1...105106107108109110111112113114115116117118119...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
OrderCheck 機能を使用したことがある人。
こんな構造です。
request.action=TRADE_ACTION_DEAL;
request.symbol=_Symbol;
request.volume=volume_exe;
request.price=SymbolInfoDouble(_Symbol, SYMBOL_ASK);
request.sl=0;
request.tp=0;
request.deviation=SymbolInfoInteger(_Symbol, SYMBOL_SPREAD)*2;
request.type=ORDER_TYPE_BUY;
request.type_filling=ORDER_FILLING_CANCEL;
MqlTradeResult result;
OrderCheck(request, result);
if(OrderSend(request, result)==false)
コンパイル時に、'result' - parameter conversion is not allowed.というエラーが発生します。
OrderCheckを削除すると、すべてが正常にコンパイルされ、テスターでポジションが開きます。
機能の説明をご覧ください。MqlTradeCheckResultの 応答構造について書かれています。
ありがとうございました。
その内容はというと...。
指定された日付からの取引の利益をカウントする必要があります。実際とはまったく違う結果を出してしまうのです。例えば、私は約2000という結果ではなく、611という結果を得ました。1日あたりのチェックをするようになりました(コメント行)。同じ結果の日もある(!!)のですが、大抵はあるべき姿ではありません...(規則性は見つけられませんでした)。 そしてデバッガーは、取引量 全体に対して全く同じサイクルを生成しています。int変数以外は値が表示されない(Expressionが評価できない)ので、この件数だけしかトレースできないのですが。
このコードは正しいのか、デバッガの使い方は正しいのか...?
トランザクションループは
デバッガで、「ステップイン」(F11)を使用します。そして、変数や式が定義されている関数に入力すると、その値が表示されます。トランザクションサイクルは
デバッガで「Step with Entry」(F11)を使用します。そして、変数や式が定義されている関数に入力すると、その値を表示します。をゼロから始めるとすると...。しかし、取引数字がゼロから始まるなんて、どこに書いてあるんだ?今、私たちは10611(以前は611、代わりに約2000)、すなわち、プラス元の預金のサイズを持っているという事実から判断すると、私はそれについてよく分からない......たとえゼロでも、1でも、どこからが1万なのかがわからない。
デバッガ、なるほど、F11か...。
ゼロから始めるとすると...。しかし、取引数字がゼロから始まるなんて、どこに書いてあるんだ?今あなたが10611(それは約611だった前に、代わりに約2000)、すなわち、プラス元の預金のサイズを得るという事実から判断して、私はそれについてよく分からない...たとえゼロでも、1でも、どこからが1万なのかがわからない。
デバッガ、なるほど、F11か...。
最初の取引は、通常、手付金である。履歴は0からカウントされるようなので、0番目の取引は入金になります。
取引の利益が どのような計算式で算出されるのか、明確にすることは可能か?
追記
記憶が正しければ、結果は次のように計算されるはずです - TotalProfit = Profit+Swap-Commision;
SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_LIMIT), がゼロを返すのはなぜですか?
最初の取引は通常、預金である。取引は0から履歴にカウントされるようなので、私の勘違いでなければ、0回目の取引は入金になりますね。
取引の利益を 算出するための計算式を具体的に教えてください。
追記
記憶が正しければ、結果は次のように計算されるはずです - TotalProfit = Profit+Swap-Commision;
最後のページでフルコードで
このコードによって、預金はいかなる場合にも考慮されるべきではありません。
手数料もプラス - マイナスです。
最初、コンパイラは "#import "lbS7N_Servis.ex5 "がないと文句を言った。
この行を削除したら、ギブアップしました。
2010.08.28 22:19:51 サービス[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=6617010000 M1=1016990000
2010.08.28 22:19:51 サービス[1] (EURUSD,H1) A=101699 B=101699 C=661701
2010.08.28 22:19:51 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
コード内の口座番号を自分の口座番号に置き換えると、こうなりました。
2010.08.28 22:26:46 サービス[1] (EURUSD,H1) L1=1016990000 L2=1016990000 L3=1016990000 M1=1016990000
2010.08.28 22:26:46 サービス[1] (EURUSD,H1) A=101699 B=101699 C=101699
2010.08.28 22:26:46 Servis[1] (EURUSD,H1) --- OnInit() --- 1 --- !
MQサーバー、ビルド316。
と私のM1が合わなかったのです。
あなたもバグがあるけど、私より少ないということです。
プログラムとシステムの接続で探すべきかもしれませんね。
どのようなシステムなのでしょうか?
core2duo 1.3 Ghz 64 Win7 HB ライセンス、4GB ddr 2 RAM、ビルドを持っています。316
そして、3つものユニークなシチュエーションがあるのです。これが検出されたものです。また、未検出のものはどれくらいあるのでしょうか?
この状態で、MetaQuotesは1ヶ月後にチャンピオンシップ2010をスタートさせるのですか?
ああ、MetaTrader 5には、どれだけの "不思議 "があるのだろう...。