"ダミー "からの質問 - ページ 184

 
Karlson: とはいえ...
まあ、無駄に「明示的な 型変換の関数 表記を使う」と書いたわけではないのですが...... :)
 
やれやれ)
 
こんにちは。私のソフトにはフォルテカウンターが書かれていて、0から...forカウンタには、プリント( i )があります。とにかく、何度かプログラムをONにしたところ、プリントは63から143までずっと書き込まれています。これは正常なのか?というか、ゼロからじゃないんですか?時間がない?しかし、なぜ63年から厳密なのか?
//+------------------------------------------------------------------+
//|                                                  htghtgfhthf.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
  
  
  
  ulong TicetTojSdelki=0;
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

/////////////////////////////////////////////////////////////////////// 
 
 
  PositionSelect(   Symbol() );  Print ( "Start@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@" ); 
  
  long PositionID =PositionGetInteger(POSITION_IDENTIFIER);//Идентификатор позиции - это уникальное число, которое присваивается каждой вновь открытой позиции и не изменяется в течение всей ее жизни. Переворот позиции не изменяет идентификатора позиции.
  
  Print("PositionID");
   Print(PositionID);
   HistorySelect(
     TimeCurrent()-(60*60*24*7*4) ,    // с даты
     TimeCurrent()       // по дату
   );
   
    for(int i=0; HistoryDealsTotal()>i; i++ ) {
       ulong TicetSdelki;
       TicetSdelki=
       HistoryDealGetTicket(
       i        // номер сделки
       );
       
     long  HistoryID =  HistoryDealGetInteger(
         TicetSdelki               ,     // тикет
   DEAL_POSITION_ID          // идентификатор свойства
   );                          //Идентификатор позиции, в открытии, изменении или закрытии которой участвовала эта сделка. Каждая позиция имеет уникальный идентификатор, который присваивается всем сделкам, совершенным на инструменте в течение всей жизни позиции.
  
 Print ( i ); Print ( "HistoryID" ); Print ( HistoryID );  if( HistoryID!=0&&PositionID!=0&&PositionID==HistoryID ){ TicetTojSdelki= TicetSdelki;Print ( "TicetTojSdelki" ); Print ( TicetTojSdelki );}
 
   
   }
   
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+     
 
 
Dimka-novitsek:
こんにちは。私のソフトにはフォルテカウンターが書かれていて、0から...forカウンタには、プリント( i )があります。とにかく、何度かプログラムをONにしたところ、プリントは63から143までずっと書き込まれています。これは正常なのか?というか、ゼロからじゃないんですか?時間がない?しかし、なぜ63年から厳密なのか?
また、積極的にPrint() を使っていると、それ以前のメッセージがないことに気がつきました。実験では、出力履歴が限定されることがわかった。ところで、その深さを増す方法を知っている人はいますか?
 

はい、そう理解しました。

ありがとうございました。このログファイルはどこにあるのですか?質問はどうでもいいんですけどね。

 
Voice:
IE6。ただ、MT5がIEとどのようにつながっているのかがわからない。

IE6のアップグレードが必要。

市場の可視化で使用されます。

 

なぜ4バイトもかかるのか、説明してください。

struct Q
{
   unsigned char p1 : 4;
   unsigned char p2 : 5;
   unsigned char p3 : 5;
   unsigned char p4 : 5;
};

そんなことから、隙間なくビットが並んでいることを期待するのですが、不思議なことが起こります。

念のため:この目的は何ですか?いくつかの要素からコードナンバーを形成することです。

 
220Volt:

なぜ4バイトもかかるのか、説明してください。

とか、あれで何バイトになると思ってるんだ?
 
sergeev:
何バイトになるんだ?

19ビット→3バイトに収まる。

そこに何らかのアライメントがあったとしても、20バイトだから3バイトに収まる。何が起こっているのか理解できない.

 
ああ。柄が破れてしまった。