エラー、バグ、質問 - ページ 2967

 
Artyom Trishkin:
変数を初期化しないのは異常な動作です。初期化すれば、そのような疑問はなくなります。

完全にfor itです。

しかし、だからといってバグがどこにもないわけではない ))) 。ただ、何も問題がないことを確認したかっただけなんです。

 
mktr8591:

完全にfor itです。

しかし、だからといってバグがどこにもないわけではない ))) 。ただ、何も問題がないことを確認したかったのです。

何らかのプロテクトがかかっている可能性が高いです。
mqlではメモリセルへのアクセスができないので、変数にアクセスすると、そのゴミ値がランダムに生成されるのでしょう。
また、変数が初期化されていない場合、デバッグ時にエラーを発見できない確率が何倍にもなります ))
また、コンパイラは、変数が初期化されていないことを警告で伝えることがほとんどです。

 
Roman:

これは一種の保護である可能性が高い。
mqlではメモリセルへのアクセスができないので、変数にアクセスすると、そのゴミ値がランダムに生成されるのでしょう。
また、変数が初期化されていないと、デバッグ時に、エラーを発見できない確率が何倍にもなります ))
そして、コンパイラは、変数が初期化されていないという警告で、そのことを伝えることがほとんどでしょう。

あるいは最適化。変数は未定義なので、レジスタなど好きな値を与えることができる。

 
JRandomTrader:

あるいは最適化。変数は定義されていないので、例えばレジスタで、最も近い値を与えればよい。

そんな感じですね、私の環境からすると。もちろん世代は私が言ったように適切ではなく、一般的な仮定に過ぎません。

 

将来、マルチコアプロセッサを搭載したアイアンを作るために、MQL5クラウドネットワークサービスの 2つのエージェントがどれくらいの収入を得られるか調べることにした。Agent Managerを使用してエージェントを追加しました。問題なく追加されているようです。

エージェントマネージャー

何も不審な 点はないようですが...。MQL5.COMのアカウントにログインしてみました。私のアカウントの「エージェント」で作成されたエージェントを確認しました。また、タスクマネージャーでMetaTester-1とMetaTester-2 という2つのサービスを発見しました。しかし、半日ほどは代理店の仕事は ない。すべてがNULLです。なぜエージェントは働かないのか?

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
	 CList *deals_array = new CList;

         for(int i=0;i<10;i++)
         {
            RobotDeal *cobj = new RobotDeal;
            cobj.ticker = "ticker " +IntegerToString(i);
            deals_array.Add(cobj);
         }
         
         RobotDeal *cobj11 = new RobotDeal;
         cobj11.ticker = "ticker 11 ";
         deals_array.Add(cobj11);
         
         RobotDeal *cobj12 = new RobotDeal;
         cobj12.ticker = "ticker 12 ";
         deals_array.Add(cobj12);
         
         RobotDeal *cobj13 = new RobotDeal;
         cobj13.ticker = "ticker 13 ";
         deals_array.Add(cobj13);
         
         RobotDeal *cobj14 = new RobotDeal;
         cobj14.ticker = "ticker 14 ";
         deals_array.Add(cobj14);

         Print("Total: " + IntegerToString(deals_array.Total()));

         for(int i=0;i<deals_array.Total();i++)
           {
               RobotDeal *object=deals_array.GetNodeAtIndex(i);
               Print(object.ticker);
           }
         
         for(int i=0; i < 14; i++)
         {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

         for(int i=0;i<deals_array.Total();i++)
           {
               RobotDeal *object=deals_array.GetNodeAtIndex(i);
               Print(object.ticker);
           }

         Print("Total end: " + IntegerToString(deals_array.Total()));
class RobotDeal: public CObject
{
    public:

    string ticker;

    RobotDeal() {}
};

Clistから アイテムを正しく削除する方法を教えてください。削除しようとすると、半分しか削除されず、インデックス作成もうまくいきません。あらゆる方法を試したが、全く効果がない!


このコードを実行すると、例えば次のように出力されます。


合計:14

ティッカー0

ティッカー1

ティッカー2

ティッカー3

ティッカー4

ティッカー5

ティッカー6

ティッカーセブン

ティッカーエイト

ティッカー9

ティッカー11

ティッカー12

ティッカー13

ティッカー14

リムーブ # 0

remove: ティッカー 0

remove #1

remove: ティッカー2

remove # 2

remove: ティッカー4

リムーブ #3

remove: ティッカー6

4を削除

remove: ティッカー8

remove # 5

remove: ティッカー11

リムーブ #6

remove: ティッカー13

リムーブ7

リムーブ8

9を削除

リムーブ #10

11を削除

12を削除

リムーブ # 13

ティッカー1

ティッカー3

ティッカー5

ティッカーセブン

ティッカー9

ティッカー12

ティッカー14

トータルエンド:7


 
Mihail Matkovskij:

将来、マルチコアプロセッサを搭載したアイアンを作るために、MQL5クラウドネットワークサービスの 2つのエージェントがどれくらいの収入を得られるか調べることにした。Agent Managerを使用してエージェントを追加しました。問題なく追加されているようです。

何も不審な 点はないようですが...。MQL.COMのアカウントにログインしました。作成されたエージェントは、私のアカウントの「エージェント」に表示されています。また、タスクマネージャーでMetaTester-1とMetaTester-2 という2つのサービスを発見しました。しかし、半日ほどは代理店の仕事は ない。すべてがNULLです。なぜエージェントは働かないのか?

代理店にはどんなPRをしましたか?例えば、20日にPR180のタスクがありました(特に午前中)。

 
Vladimir Karputov:

どのようなPRをされたのですか?例えば、PR180の20Chislaはタスク(特に午前中)でした。

119の広報担当者がいます。これってどう影響するんだろう?

 
Mihail Matkovskij:

119名の広報担当者がいます。その影響はどうなんでしょうね?

確かなことはわからない。と思っていたところです。

 
DimaDDM:

Clistから 項目を削除する方法を教えてください。削除しようとすると半分しか削除されず、インデックスが壊れている。あらゆる方法を試したが、全く効果がない!

削除に誤りがあります!あなたのコード

        for(int i=0; i < 14; i++)
        {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

1つ1つ削除していくと、リストが小さくなっていくのですだから、こうやってやるしかないんです。

        for(int i = deals_array.Total() - 1; i >= 0; i--)
        {
            Print("remove # " + IntegerToString(i));
            RobotDeal *deal = deals_array.GetNodeAtIndex(i);
            
            if(CheckPointer(deal) != POINTER_INVALID)
            {
               Print("remove: " + deal.ticker);
               deals_array.Delete(i);
            }
         }

あるいはもっとシンプルに。

deals_array.Clear();