[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 241 1...234235236237238239240241242243244245246247248...652 新しいコメント neo333 2011.10.06 13:01 #2401 artmedia70: その理由はもうお分かりですね。重要なのは、i++やi--ではなく、リストのどの端から注文を削除していくかということです。 注文が削除されたときに何が起こるかを理解するためには、注文がどのように配列に格納されるかを知り、理解する必要があります。 最初のオーダーを最初に削除すると(i=0でインデックスされる)、すべてのオーダーのインデックスが配列内でシフトされます - 最初のオーダーはNULLになり、2番目のオーダーは1番目に、3番目のオーダーは2番目に、といった具合です。このため、すべてのオーダーが完全に削除されるわけではありません。実際、iが6になると、6番目のオーダーはオーダーの配列の5番目の位置に移動し、インデックス6でオーダーが選択されることはありません。 リストの末尾から注文を削除すると、シフトは起こりません。最初の注文はリスト内でゼロの位置にあり、それを持ち続けることになります。10番目のオーダーの位置が9だったので、それが削除され、次にリストの位置が8である9番目のオーダーが削除され、オーダーの配列の中で位置が0である最初のオーダーまで、削除されました。 artmedia70には、包括的な回答をいただき、ありがとうございました。そしてnadyaさんにも参加してもらっています.よろしゅうございます Vitaliy Andreischev 2011.10.06 13:24 #2402 マルチカレンシーツールを設定して、1つのウィンドウから複数の通貨を扱えるようにしたのですが、アドバイスをお願いします。しかし、問題は、通貨の切り替えが速すぎて、注文を開く時間がないことです。3分以内に、4つの注文+4つの保留注文がオープンしました。そして、通貨間の切り替えも多かった。 Maxim Zaguzov 2011.10.06 14:11 #2403 volshebnik: 何が良くて、何が悪いのか?) ユニークな名前を作り、覚えてもらう。あなたのタスクは知らない、必要ないのかもしれない。 Victor Nikolaev 2011.10.06 15:57 #2404 forexnew: マルチカレンシーツールを設定して、1つのウィンドウから複数の通貨を扱えるようにしたのですが、アドバイスをお願いします。しかし、問題は、通貨の切り替えが速すぎて、注文を開く時間がないことです。3分以内に、4つの注文+4つの保留注文がオープンしました。そして、通貨間の切り替えも多かった。 http://vinin.ucoz.ru/forum/11 Владимир 2011.10.06 16:05 #2405 Mod_1 と Mod_2 の2つのユーザーモディファイがあります。 いずれも修正条件あり double TS; int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL); if (TS < Min_Dist) TS=Min_Dist; 買いストップロスが トレイリングストップより小さい場合、ストップロス条件では修正が通らないように変更するにはどうしたらよいでしょうか。 売りの場合、ストップロスはトレーリングストップより大きい。 Артур 2011.10.06 16:44 #2406 こんにちは。 バグを探すのに協力してください。 以下のコードは、テスターでは動作しませんが、デモではそのような問題はありません。ログブックに間違いはない。 ありがとうございました。 //====================== Отлавливаем прибыль по рынку =========================================== if (RinProfit) { if(SchBuyLots>0 || SchBuyLots777>0) { if((SchSellStop_b(MAGIC)>0 && (maM_fast<maM_slow || maH_fast<maH_slow || maOtk_fast<maOtk_slow)) || (SchSellStop_b(MAGIC)>0 && (speedup_H1_ff<(10000+H1_MA_factor_ff) || speedup_H1_ss<(10000+H1_MA_factor_ss) || speedup_M15_ff<(10000+M15_MA_factor_ff) || speedup_M15_ss<(10000+M15_MA_factor_ss))) || (SchSellStop_b(MAGIC)>0 && ((maHXX<=H1_point_min && speedup_H1_ss<(10000+H1_MA_factor_ss)) || maHXX>=H1_point_max)) || (SchSellStop_b(MAGIC)>0 && Fractal_fibo_buy>Fibo_prohibit) || (SchSellStop_b(MAGIC)>0 && TF1S>0 && TF2S>0 && timf1s!=0 && timf2s!=0 && TF1S<TF2S) || (SchSellStop_b(MAGIC)>0 && TF1S>0 && TF2S>0 && timf1s!=0 && timf2s!=0 && TF1S>=TF2S && Bid<price_S)) { while (SchBuyLots+SchBuyLots777>0 && SchSellLots+SchSellLots777>0) { CloseVstrechnye(MAGIC); return (0); } CloseAll_bMAGIC(Proskalz, MAGIC); CloseAll777_b(Proskalz); DeleteOtlozhMAGIC(MAGIC); DeleteOtlozh777(); Alert("Позиции Buy закрыты согласно рыночной ситуации."); RefreshRates(); if (Timeout_Trade>0 && ProfHist<=0) { Comment (SMB,": ТАЙМАУТ ТОРГОВЛИ "); Sleep (Timeout_Trade*60000); } RefreshRates(); } } if(SchSellLots>0 || SchSellLots777>0) { if((SchBuyStop_b(MAGIC)>0 && (maM_fast>maM_slow || maH_fast>maH_slow || maOtk_fast>maOtk_slow)) || (SchBuyStop_b(MAGIC)>0 && (speedup_H1_ff>(10000-H1_MA_factor_ff) || speedup_H1_ss>(10000-H1_MA_factor_ss) || speedup_M15_ff>(10000-M15_MA_factor_ff) || speedup_M15_ss>(10000-M15_MA_factor_ss))) || (SchBuyStop_b(MAGIC)>0 && ((maHXX<=H1_point_min && speedup_H1_ss>(10000-H1_MA_factor_ss)) || maHXX>=H1_point_max)) || (SchBuyStop_b(MAGIC)>0 && Fractal_fibo_sell>Fibo_prohibit) || (SchBuyStop_b(MAGIC)>0 && TF1B>0 && TF2B>0 && timf1b!=0 && timf2b!=0 && TF1B>TF2B) || (SchBuyStop_b(MAGIC)>0 && TF1B>0 && TF2B>0 && timf1b!=0 && timf2b!=0 && TF1B<=TF2B && Bid>price_B)) { while (SchBuyLots+SchBuyLots777>0 && SchSellLots+SchSellLots777>0) { CloseVstrechnye(MAGIC); return (0); } CloseAll_bMAGIC(Proskalz, MAGIC); CloseAll777_b(Proskalz); DeleteOtlozhMAGIC(MAGIC); DeleteOtlozh777(); Alert("Позиции Sell закрыты согласно рыночной ситуации."); RefreshRates(); if (Timeout_Trade>0 && ProfHist<=0) { Comment (SMB,": ТАЙМАУТ ТОРГОВЛИ "); Sleep (Timeout_Trade*60000); } RefreshRates(); } } } //=============================================================================================== Andrey Dik 2011.10.06 17:08 #2407 MT4とMT5でDLLから関数を呼び出す場合の違いは何ですか?コンパイルすると、MT5では正常に動作しますが、MT4ではエラーになります。 2011.10.06 23:00:34 Solaris executor EURUSDm,M1: dll 'Solaris.dll' から関数 'InfoOfTrading' をコールできない(エラー 127) これは一体何なんだ?- 私は頭を悩ませていたんです。:( --- 2011.10.06 17:09 #2408 Win32のDLプロジェクトを 作成する Andrey Dik 2011.10.06 17:10 #2409 sergeev: Win32のDLプロジェクトを作成する しかし、MT5では問題なく動作しています Артур 2011.10.06 17:45 #2410 上記の質問の続きをさせていただきます。 また、上記のコードを別のEAで使用したことがあります。そのEAの状況は上記のものと似ていますが、コードの条件が全く逆に満たされている点が異なります(デモでは、やはり全てエラーなく動作していました)。しかしある日、テスターが正しく動作し、コードが与えられた条件に従って正しく動作するようになった。 まさに神秘主義ですね。 また、なぜかコードの最適化ができないことがあります。時々、何かを再計算しても、なぜかすべての結果をゼロにリセットしてしまう。異なるブローカーの端末でそのようなことが起こります。しかし、おそらく空にあるすべての星や星座が収束したとき、すべてがあるべき姿で動き出すのでしょう。 1...234235236237238239240241242243244245246247248...652 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
その理由はもうお分かりですね。重要なのは、i++やi--ではなく、リストのどの端から注文を削除していくかということです。
注文が削除されたときに何が起こるかを理解するためには、注文がどのように配列に格納されるかを知り、理解する必要があります。
最初のオーダーを最初に削除すると(i=0でインデックスされる)、すべてのオーダーのインデックスが配列内でシフトされます - 最初のオーダーはNULLになり、2番目のオーダーは1番目に、3番目のオーダーは2番目に、といった具合です。このため、すべてのオーダーが完全に削除されるわけではありません。実際、iが6になると、6番目のオーダーはオーダーの配列の5番目の位置に移動し、インデックス6でオーダーが選択されることはありません。
リストの末尾から注文を削除すると、シフトは起こりません。最初の注文はリスト内でゼロの位置にあり、それを持ち続けることになります。10番目のオーダーの位置が9だったので、それが削除され、次にリストの位置が8である9番目のオーダーが削除され、オーダーの配列の中で位置が0である最初のオーダーまで、削除されました。
何が良くて、何が悪いのか?)
マルチカレンシーツールを設定して、1つのウィンドウから複数の通貨を扱えるようにしたのですが、アドバイスをお願いします。しかし、問題は、通貨の切り替えが速すぎて、注文を開く時間がないことです。3分以内に、4つの注文+4つの保留注文がオープンしました。そして、通貨間の切り替えも多かった。
http://vinin.ucoz.ru/forum/11
Mod_1 と Mod_2 の2つのユーザーモディファイがあります。
いずれも修正条件あり
double TS;
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);
if (TS < Min_Dist)
TS=Min_Dist;
買いストップロスが トレイリングストップより小さい場合、ストップロス条件では修正が通らないように変更するにはどうしたらよいでしょうか。
売りの場合、ストップロスはトレーリングストップより大きい。
こんにちは。
バグを探すのに協力してください。
以下のコードは、テスターでは動作しませんが、デモではそのような問題はありません。ログブックに間違いはない。
ありがとうございました。
MT4とMT5でDLLから関数を呼び出す場合の違いは何ですか?コンパイルすると、MT5では正常に動作しますが、MT4ではエラーになります。
2011.10.06 23:00:34 Solaris executor EURUSDm,M1: dll 'Solaris.dll' から関数 'InfoOfTrading' をコールできない(エラー 127)
これは一体何なんだ?- 私は頭を悩ませていたんです。:(
Win32のDLプロジェクトを作成する
上記の質問の続きをさせていただきます。
また、上記のコードを別のEAで使用したことがあります。そのEAの状況は上記のものと似ていますが、コードの条件が全く逆に満たされている点が異なります(デモでは、やはり全てエラーなく動作していました)。しかしある日、テスターが正しく動作し、コードが与えられた条件に従って正しく動作するようになった。
まさに神秘主義ですね。
また、なぜかコードの最適化ができないことがあります。時々、何かを再計算しても、なぜかすべての結果をゼロにリセットしてしまう。異なるブローカーの端末でそのようなことが起こります。しかし、おそらく空にあるすべての星や星座が収束したとき、すべてがあるべき姿で動き出すのでしょう。