エラー、バグ、質問 - ページ 2137 1...213021312132213321342135213621372138213921402141214221432144...3185 新しいコメント Sofiia Butenko 2018.02.20 23:51 #21361 利益を読むとエラーになる(もう何か勘違いしているのか)。 EAの中にも機能があります。 bool Fn_profit_summ(double &profit_summ, bool is_buy, ulong magic, bool prnt=false){ profit_summ = 0; string str=(is_buy?"B":"S")+" -> "; //----------------------------- int total = PositionsTotal(); for(int i=total-1; i>=0; i--){ const ulong tic= PositionGetTicket(i); if(tic<=0) return(false); //--- asinchr if(!PositionSelectByTicket(tic) ) return(false); //--- asinchr bool is_buy_ = (PositionGetInteger(POSITION_TYPE )==POSITION_TYPE_BUY); if( is_buy_ != is_buy) continue; if( PositionGetInteger(POSITION_MAGIC ) != magic ) continue; if( PositionGetSymbol (POSITION_SYMBOL) != _Symbol) continue; profit_summ += PositionGetDouble(POSITION_PROFIT)+PositionGetDouble(POSITION_SWAP); str+=IntegerToString(tic)+" - "+DoubleToString((PositionGetDouble(POSITION_PROFIT)+PositionGetDouble(POSITION_SWAP)), 2)+"/"; } //----------------------------- if( prnt) Print(str+" --> "+DoubleToString(profit_summ, 2)); return(true);} ログを見るとわかるのですが 2018.02.21 01:44:04.315 2018.02.14 04:59:49 S -> 273 - -5.62/ --> -5.62 それはそれでいいのですが、売り注文ではなく、買い注文の利益となります チケットはまさに売り注文のもの(273、ログ通り) 関数で確認し、同じ型は正しく考慮したつもりですが、本当に利益が違うのですね。もしそれが本当なら、それは黙示録です - クライアントは、指定された利益/損失に達したときに売りと買いのポジションを別々に閉じ、それは常に買いの利益を取るため、売りを閉じます。同じように預金が知らず知らずのうちに流出する可能性があります (もし私がオーバーワークで、すでに想像していることであれば、訂正してください。このような致命的なバグがないことを切に願います) Kirill Belousov 2018.02.21 04:38 #21362 Galina Bobro:利益を読むとエラーになる(もう何か勘違いしているのか)。 EAの中にも機能があります。 ログを見るとわかるのですが それはそれでいいのですが、売り注文ではなく、買い注文の利益となります チケットはまさに売り注文のもの(273、ログ通り) 関数で確認し、同じ型は正しく考慮したつもりですが、本当に利益が違うのですね。もしそれが本当なら、それは黙示録です - クライアントは、指定された利益/損失に達したときに売りと買いのポジションを別々に閉じ、それは常に買いの利益を取るため、売りを閉じます。同じように預金が知らず知らずのうちに流出する可能性があります (もし私がオーバーワークで、すでに想像していることであれば、訂正してください。このような致命的なバグがないことを切に願います) string str=(! is_buy?"B":"S")+" -> "; Sofiia Butenko 2018.02.21 07:03 #21363 Kirill Belousov: これはどういうことですか?なぜ「if bye withdraw S」が欲しいのか? fxsaber 2018.02.21 07:33 #21364 カスタムキャラクターを 扱うことが多いですね。例えば、この中の一つでデバッグを行いたいのですが。そのためには、ここにその名前を入力する必要があります。 しかし、カスタム文字(に限らず)の名前は長い/複雑な場合があり、キーボードから入力するのは大変です。シンボルの名前をバッファにコピーする仕組みは、どこにもありません。そこで、このメニューに「シンボル名のコピー」という項目を追加することを提案します。 ZZY テスタービジュアライザーにミリ秒を追加してください。 Slava 2018.02.21 07:47 #21365 fxsaber:ZS テスタービジュアライザーにミリ秒を追加してください。追加 A100 2018.02.21 12:42 #21366 実行中のエラー struct A { template<typename T> void Print( T t ) { ::Print( 2 ); } ~A() { Print( 1 ); } }; void OnStart() { A a; } 結果:1 期待値:2 fxsaber 2018.02.21 12:55 #21367 A100:期待値:void A::Print<int>(int):1これは、通常のプリントの狡猾さによるものと思われます。また、同じようにiCustomをオーバーロードすることもできます。同じ結果が得られると思います。 Print、Comment、Alert、iCustom、...の名前空間です。- 何か特別なものがあるようだ。 A100 2018.02.21 13:04 #21368 fxsaber:それは、インハウスプリントの難しさに起因しています。関係ありません。 void Print2( int ) { Print( 1 ); } struct A { template<typename T> void Print2( T t ) { Print( 2 ); } ~A() { Print2( 1 ); } }; void OnStart() { A a; } 同じ結果です。 fxsaber 2018.02.21 13:15 #21369 カスタムシンボルの SymbolInfoTickは、Historyにティックがある場合でも(CustomTicksAddが行われていない場合)空のティックを生成します。 Terminal側では、CustomTicksReplaceの後、Historyの最後のティック(またはその時間)をSymbolInfoTickにすることを提案します。 このアクションは論理的に端末とユーザーのどちらに掛かるべきなのか、開発者にアドバイスをお願いします。 ターミナルは、ユーザが自分のコードに時々発生するバグから解放されるからです(1つ捕まりました)。 さて、例えば最近、あるシンボルがこんな風に発見されることがあります。 ulong GetOriginalLastTime( void ) const { MqlTick Tick[1] = {0}; ::SymbolInfoTick(this.Symb, Tick[0]); if (!Tick[0].time_msc) ::CopyTicks(this.Symb, Tick, COPY_TICKS_ALL, 0, 1); return(Tick[0].time_msc); } fxsaber 2018.02.21 13:17 #21370 A100:関係ありません。 結果は同じはい、バグです。私はいつもメソッドのせいにしているので、遭遇したことはありません。 1...213021312132213321342135213621372138213921402141214221432144...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
利益を読むとエラーになる(もう何か勘違いしているのか)。
EAの中にも機能があります。
ログを見るとわかるのですが
2018.02.21 01:44:04.315 2018.02.14 04:59:49 S -> 273 - -5.62/ --> -5.62
それはそれでいいのですが、売り注文ではなく、買い注文の利益となります
チケットはまさに売り注文のもの(273、ログ通り)
関数で確認し、同じ型は正しく考慮したつもりですが、本当に利益が違うのですね。もしそれが本当なら、それは黙示録です - クライアントは、指定された利益/損失に達したときに売りと買いのポジションを別々に閉じ、それは常に買いの利益を取るため、売りを閉じます。同じように預金が知らず知らずのうちに流出する可能性があります
(もし私がオーバーワークで、すでに想像していることであれば、訂正してください。このような致命的なバグがないことを切に願います)
利益を読むとエラーになる(もう何か勘違いしているのか)。
EAの中にも機能があります。
ログを見るとわかるのですが
それはそれでいいのですが、売り注文ではなく、買い注文の利益となります
チケットはまさに売り注文のもの(273、ログ通り)
関数で確認し、同じ型は正しく考慮したつもりですが、本当に利益が違うのですね。もしそれが本当なら、それは黙示録です - クライアントは、指定された利益/損失に達したときに売りと買いのポジションを別々に閉じ、それは常に買いの利益を取るため、売りを閉じます。同じように預金が知らず知らずのうちに流出する可能性があります
(もし私がオーバーワークで、すでに想像していることであれば、訂正してください。このような致命的なバグがないことを切に願います)
カスタムキャラクターを 扱うことが多いですね。例えば、この中の一つでデバッグを行いたいのですが。そのためには、ここにその名前を入力する必要があります。
しかし、カスタム文字(に限らず)の名前は長い/複雑な場合があり、キーボードから入力するのは大変です。シンボルの名前をバッファにコピーする仕組みは、どこにもありません。そこで、このメニューに「シンボル名のコピー」という項目を追加することを提案します。
ZZY テスタービジュアライザーにミリ秒を追加してください。
ZS テスタービジュアライザーにミリ秒を追加してください。
追加
実行中のエラー
結果:1
期待値:2
期待値:void A::Print<int>(int):1
これは、通常のプリントの狡猾さによるものと思われます。また、同じようにiCustomをオーバーロードすることもできます。同じ結果が得られると思います。
Print、Comment、Alert、iCustom、...の名前空間です。- 何か特別なものがあるようだ。
それは、インハウスプリントの難しさに起因しています。
関係ありません。
同じ結果です。
カスタムシンボルの SymbolInfoTickは、Historyにティックがある場合でも(CustomTicksAddが行われていない場合)空のティックを生成します。
Terminal側では、CustomTicksReplaceの後、Historyの最後のティック(またはその時間)をSymbolInfoTickにすることを提案します。
このアクションは論理的に端末とユーザーのどちらに掛かるべきなのか、開発者にアドバイスをお願いします。
ターミナルは、ユーザが自分のコードに時々発生するバグから解放されるからです(1つ捕まりました)。
さて、例えば最近、あるシンボルがこんな風に発見されることがあります。
関係ありません。
結果は同じ
はい、バグです。私はいつもメソッドのせいにしているので、遭遇したことはありません。