エラー、バグ、質問 - ページ 1741 1...173417351736173717381739174017411742174317441745174617471748...3185 新しいコメント Ilyas 2016.10.21 15:55 #17401 typenameはコンパイル時に文字列を生成するので、「尾を引く」必要があるわけです。 ポインターでオブジェクトの 実際の型を取得したいのか? 関数のようなもの。string GetPointerTypename(void *ptr); fxsaber 2016.10.21 16:09 #17402 Ilyas: typenameはコンパイル時に文字列を生成するため、「尾を引く」必要があるのです。 ポインターで実際のオブジェクトの型を 取得しますか? 関数のようなもの。string GetPointerTypename(void *ptr);はい、これです。スタニスラフ・コロツキーもっと繊細に作りたいですね。でも、どうやって?MQLでは、virtual baseメソッドのtypename(this) がベースクラスを返します。C++のtypeid(*this).name() のbase virtualメソッドでは、実際のオブジェクトクラスを返します。 fxsaber 2016.10.21 16:12 #17403 fxsaber: Profile Publicationsだけの機能なのでしょうか? 今日の午後には直りました。今、それが再び起こっている。 Yuriy Asaulenko 2016.10.21 16:22 #17404 なかなかまとまりませんね。int a=1;//a1int b=2;//b1int aa(int a, int b){return(a+a+b+b);}返り値のaとbの一方は、外部の//a1および//b1でなければなりません。これを通さないんです。 TheXpert 2016.10.21 16:30 #17405 Yuriy Asaulenko:a + ::a + b + ::bしかし、一般的には、そのような行為には平手打ちをするはずです。 Yuriy Asaulenko 2016.10.21 16:52 #17406 Комбинатор:a + ::a + b + ::bしかし、一般的には、そのような行為は罰せられるべきでしょう。ありがとうございます)C++の本が手元にないのですが。でも、視覚的にはこれが入っていたように記憶しています。忘れていたんでしょうね。今までこのような用途に使ったことはありません。さて、これであちこちの変数を変えなければならなくなりましたね〜。まあ、実はこのために設計されたんですけどね。だから、あなたは間違っている。悪用しない方がいい。 fxsaber 2016.10.22 10:22 #17407 グラフィカルオブジェクトOBJ_CHARTをマウスでドラッグ(CHARTEVENT_OBJECT_DRAG)すると、OBJ_CHARTの現在の表示間隔がリセットされます。次のビルドでは、このリセットを削除してください。 fxsaber 2016.10.22 10:35 #17408 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 イリヤス さん 2016.10.18 09:24 初期化リストを本文に記載しないのはなぜですか?比喩的に言えば、クラスオブジェクト(thisを含む)は':'記号で初期化されます。 では、なぜ?class A{ const int a; A() : this.a(0) {} // 'this' - struct member undefined && '.' - member(s) initialization expected// A() : a(this.a) {} // no problem}; fxsaber 2016.10.22 14:14 #17409 識別子商品説明物件タイプCHART_COMMENTグラフのコメント本文列チャート_専門家名指定したchart_idのチャートで起動したExpert Advisorの名前列チャートスクリプト名指定された chart_id のチャート上で実行されるスクリプトの名前列 ヘルプに太字で読み取り専用を追加。 Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков www.mql5.com Стандартные константы, перечисления и структуры / Константы графиков / Свойства графиков - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 fxsaber 2016.10.22 16:40 #17410 ローカライズに多くの時間を費やしたこと。電子ブックclass CHARTOBJECT{public: const string Name; const long Chart; int GetSubWindow( void ) const { const ulong StartTime = GetMicrosecondCount(); const int Res = ObjectFind(this.Chart, this.Name); Print((string)(GetMicrosecondCount() - StartTime) + " mcs."); return(Res); } CHARTOBJECT( const ENUM_OBJECT object_type, const long chart_id = 0 ) : Name((string)MathRand()), Chart(chart_id) { ObjectCreate(this.Chart, this.Name, object_type, 0, 0, 0); } ~CHARTOBJECT( void ) { if (this.GetSubWindow() != -1) ObjectDelete(this.Chart, this.Name); } long GetProperty( const ENUM_OBJECT_PROPERTY_INTEGER Property, const int Modifier = 0 ) const { return(ObjectGetInteger(this.Chart, this.Name, Property, Modifier)); }}; CHARTOBJECT Chart(OBJ_CHART); CHARTOBJECT* Bitmap;void OnInit(){ Bitmap = new CHARTOBJECT(OBJ_BITMAP_LABEL, Chart.GetProperty(OBJPROP_CHART_ID));}void OnDeinit( const int Reason ){ Bitmap.GetSubWindow(); delete Bitmap;}チャートから削除した後、ログが出力されます2016.10.22 19:35:51.362 Test9 (AUDCAD,M1) Abnormal termination2016.10.22 19:35:48.351 Test9 (AUDCAD,M1) 3005619 mcs.3秒後には取り外して出てきた。リリース版のみ再現。デバッグ中はすべて正常です。ご自身でご確認ください。スクリプトモードでは、再生がうまくいかなかった。EAのみです。 MetaEditor ビルド1463 Errors, bugs, questions MetaEditor build 1463 1...173417351736173717381739174017411742174317441745174617471748...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ポインターでオブジェクトの 実際の型を取得したいのか?
関数のようなもの。
typenameはコンパイル時に文字列を生成するため、「尾を引く」必要があるのです。
ポインターで実際のオブジェクトの型を 取得しますか?
関数のようなもの。
はい、これです。
スタニスラフ・コロツキー
もっと繊細に作りたいですね。でも、どうやって?MQLでは、virtual baseメソッドのtypename(this) がベースクラスを返します。C++のtypeid(*this).name() のbase virtualメソッドでは、実際のオブジェクトクラスを返します。
Profile Publicationsだけの機能なのでしょうか?
なかなかまとまりませんね。
int b=2;//b1
int aa(int a, int b)
{
return(a+a+b+b);
}
返り値のaとbの一方は、外部の//a1および//b1でなければなりません。これを通さないんです。
a + ::a + b + ::b
しかし、一般的には、そのような行為には平手打ちをするはずです。
a + ::a + b + ::b
しかし、一般的には、そのような行為は罰せられるべきでしょう。
ありがとうございます)C++の本が手元にないのですが。でも、視覚的にはこれが入っていたように記憶しています。忘れていたんでしょうね。今までこのような用途に使ったことはありません。さて、これであちこちの変数を変えなければならなくなりましたね〜。
まあ、実はこのために設計されたんですけどね。だから、あなたは間違っている。悪用しない方がいい。
グラフィカルオブジェクトOBJ_CHARTをマウスでドラッグ(CHARTEVENT_OBJECT_DRAG)すると、OBJ_CHARTの現在の表示間隔がリセットされます。
次のビルドでは、このリセットを削除してください。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
イリヤス さん 2016.10.18 09:24
初期化リストを本文に記載しないのはなぜですか?比喩的に言えば、クラスオブジェクト(thisを含む)は':'記号で初期化されます。{
const int a;
A() : this.a(0) {} // 'this' - struct member undefined && '.' - member(s) initialization expected
// A() : a(this.a) {} // no problem
};
識別子
商品説明
物件タイプ
CHART_COMMENT
グラフのコメント本文
列
チャート_専門家名
指定したchart_idのチャートで起動したExpert Advisorの名前
列
チャートスクリプト名
指定された chart_id のチャート上で実行されるスクリプトの名前
列
ローカライズに多くの時間を費やしたこと。電子ブック
{
public:
const string Name;
const long Chart;
int GetSubWindow( void ) const
{
const ulong StartTime = GetMicrosecondCount();
const int Res = ObjectFind(this.Chart, this.Name);
Print((string)(GetMicrosecondCount() - StartTime) + " mcs.");
return(Res);
}
CHARTOBJECT( const ENUM_OBJECT object_type, const long chart_id = 0 ) :
Name((string)MathRand()), Chart(chart_id)
{
ObjectCreate(this.Chart, this.Name, object_type, 0, 0, 0);
}
~CHARTOBJECT( void )
{
if (this.GetSubWindow() != -1)
ObjectDelete(this.Chart, this.Name);
}
long GetProperty( const ENUM_OBJECT_PROPERTY_INTEGER Property, const int Modifier = 0 ) const
{
return(ObjectGetInteger(this.Chart, this.Name, Property, Modifier));
}
};
CHARTOBJECT Chart(OBJ_CHART);
CHARTOBJECT* Bitmap;
void OnInit()
{
Bitmap = new CHARTOBJECT(OBJ_BITMAP_LABEL, Chart.GetProperty(OBJPROP_CHART_ID));
}
void OnDeinit( const int Reason )
{
Bitmap.GetSubWindow();
delete Bitmap;
}
チャートから削除した後、ログが出力されます
2016.10.22 19:35:48.351 Test9 (AUDCAD,M1) 3005619 mcs.
3秒後には取り外して出てきた。リリース版のみ再現。デバッグ中はすべて正常です。
ご自身でご確認ください。スクリプトモードでは、再生がうまくいかなかった。EAのみです。