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

 
Artyom Trishkin:

機能で表示したほうがいいのでは?

デザインしてみる。

 
このトピックに関連しないコメントは、「MQL4 MT4 MetaTrader 4初心者からの質問」に移動しました。
 

ホームページのウェブデザイナーの皆様へ。

メッセージのスクリーンショットです。現在、どの対談者が選択されているか教えてください。


すでに私の目は、私が誰に向かって書いているのかを理解するために、私の額に登っている・・・・。

返信していない人、返信した人、そしてメールする相手には別のカラーコードをつけてください ...

 
Vladimir Pastushak:

ホームページのウェブデザイナーの皆様へ。

メッセージのスクリーンショットです。現在、どの対談者が選択されているか教えてください。


すでに私の目は、私が誰に向かって書いているのかを理解するために、私の額に登っている・・・・。

返信していない人、返信した人、メールしている人とは別の色分けをお願いします...。

2

でも、私はそう思います。いつもは気づかない、コントラストの少なさ。

 
Vladimir Pastushak:

メッセージのスクリーンショットです。現在、どの対談者が選択されているか教えてください。

Chrome(71.0.3578.98) ではOK、FF (64) では全く見えません。
 
一般的には、サイト全体にコントラストをつけるとよいでしょう
 

MQLで*CObjectポインターをデリファレンスすることは可能ですか?

このスクリプトは、リンクリストに3つのMyclass要素を追加し、CMyclassフィールドの値を変更するもので、動作します。

#include <Object.mqh>
#include <Arrays\List.mqh>
//+------------------------------------------------------------------+
class CMyclass:public CObject
  {
public:
   int               x;
   double            y;
   void              CMyclass(void):x(-1),y(-2.2) { }
  };
//+------------------------------------------------------------------+
void OnStart()
  {
   CList *base=new CList;
   CMyclass *result;
   for(int i=0;i<3;i++)
     {
      base.Add(new CMyclass);
      result=base.GetCurrentNode();
      result.x = 99;
      result.y = -555.5;
     }
   for(int i=0;i<3;i++)
     {
      result=base.GetNodeAtIndex(i);
      Print(result.x," : ",result.y);
     }
   delete base;
  }
//+------------------------------------------------------------------+

中間ポインターのCMyclass *result なしで、動的に作成されたCMyclass要素のフィールドを修正することは可能ですか?

このように(CMyclass *)(base.GetCurrentNode()).x = 99;

追記:typedefを使う必要があると思われるが、今のところ失敗している。

 
Igor Makanu:

MQLで*CObjectポインターをデリファレンスすることは可能ですか?

このスクリプトは、リンクリストに3つのMyclass要素を追加し、CMyclassフィールドの値を変更するもので、動作します。

中間ポインターのCMyclass *result なしで、動的に作成されたCMyclass要素のフィールドを修正することは可能ですか?

このように(CMyclass *)(base.GetCurrentNode()).x = 99;

追記:typedefを使う必要があると思われるが、今のところ失敗している。

CListという ライブラリが何をするものなのかは知りませんが、以前はこうやって

#define  alive(node)  (CheckPointer(node)==POINTER_DYNAMIC)
#define  loopf(type, node)  for(type *o=alive(node)?node.First():NULL; alive(o); o=alive(o)?(alive(o.Next())?o.Next():NULL):NULL)
//.....
      loopf(COrder, corr){
         if((fabs(o.StopLoss()-sl)>=_point(o.Symbol())) || (fabs(o.TakeProfit()-tp)>=_point(o.Symbol()))){
            o.SLTP(sl, tp);
         }
      }
//.....
 
Ilya Malev:

CListというライブラリがどうなっているかは知りませんが、以前はこうしていました。

この例は、関数呼び出しによる型変換です。

SZZ: 私はMQLでポインターを扱うのに慣れていないので、それを理解しようとしています。 この例はシンプルでうまくいっているように見えますが、GetCurrentNode () -->CObject * の結果を私のCMyclass...タイプに持って いく方法については、まだ解決策が見つかっていません。もちろん、CMyclassのコンストラクタを使う こともできますが、MQLできちんとした解決策を講じることが できればと思います。

 
Igor Makanu:

ありがとうございます。この例は、関数呼び出しによる型変換です。

SZZ: 私はMQLでポインターを扱うのに慣れていません。この単純でうまくいく例を理解しようとしているのですが、GetCurrentNode () -->CObject * という結果を私のタイプCMyclassに もたらす解決策が見つかりません...。もちろん、CMyclassコンストラクタを 使うこともできますが、MQLで型変換 のスマートなソリューションがあればいいのですが。

私のベースクラスはCNodeで、Prev()、Next()などのメソッドを持っています。ループは、その子孫であるCOrderのフィールドを呼び出します。ループはdefinesで1回だけ宣言され、あとはいたるところで使われる。

理由: