MQLの目利きの方に質問です - ページ 4

 
アバック...MQLの専門家への質問」に乗ってしまった...。すみません、どちらかというと、プログラマーとしての能力はdと同じくらいなのですが...。でも、私は常に客観的です。 :)
 
leonid553:

わかったような気がします。関数の中でオブジェクトの名前を設定しました。

ObjectCreate(name+ WindowExpertName(), OBJ_LABEL, WindowFind(WindowExpertName()), 0, 0)とします。


モノではなく...。

init()に書くと

IndicatorShortName("CC-STOKS ");

WindowExpertName()をレンダリング関数のインジケータ名として使用すると...。

決めてくれ、親愛なる仲間よ(馴れ馴れしくてすみません)、インジケータが「CC-STOKS」(別名)と呼ばれているか、専門家の名前がついているか、どちらか...

 

私の...

そういや、オブジェクトのチェックがないな。

 

IndicatorShortName("CC-STOKS ")の 行を削除しました。

現在、動作しているようです。

//------------------------------------------

確認しました。

 string info =ObjectFind("Symbol1+WindowExpertName()");
     IndicatorShortName(info);     

コメントでは"-1 "が返されます。

そして-「エイリアス」があっても、削除されても問題ない。

 

はい、問題なく使えています...。

ご協力いただいた皆様、質問にお答えいただいた皆様、ありがとうございました。

 

ビールを何杯か飲んだが、君は私の心を揺さぶっている......。

口を割る


または

1.ショートネームがないことと

static int WINDOW = -1;

int start(){
   if (WINDOW == -1) WINDOW = WindowFind( WindowExpertName() );
}

をそのままinit()する。

または int() で shortname を設定します。

string short = "CC-STOKS";

int init(){
   IndicatorShortName( short );
   // остальное прочее
}

int start(){
   if (WINDOW == -1) WINDOW = WindowFind( short );
}

で、オブジェクトを描画するときに、サブウィンドウの番号としてWINDOWを使用します。

ObjectCreate(name + WindowExpertName(), OBJ_LABEL, WINDOWS, 0, 0);

オブジェクト関数は次のようになります。

void object(string name, int window, string text, color col, int corner,
            int x, int y, bool back = false, int fontsize = 9, 
            string fontname = "Tahoma") {
   if (ObjectFind(name)==-1)      
      ObjectCreate(name, OBJ_LABEL, window, 0, 0);
   ObjectSetText(name, text, fontsize, fontname, col);
   ObjectSet(name, OBJPROP_CORNER, corner);
   ObjectSet(name, OBJPROP_BACK,back);
   ObjectSet(name, OBJPROP_XDISTANCE, x);
   ObjectSet(name, OBJPROP_YDISTANCE, y);     
}

この方法では,すべての主要な属性はパラメータとして渡されます.

 
OKです。あなたの指示に従うこと ...
 

こんにちは。アドバイスをお願いします。

インジケーターウィンドウに三角形を描くことは可能ですか?その場合、座標はどのように設定するのですか?

三角形の座標を設定する方法がmqlのヘルプに載っていないのですが。

 
Rita:

こんにちは。アドバイスをお願いします。

インジケーターウィンドウに三角形を描くことは可能ですか?その場合、座標はどのように設定するのですか?

三角形の座標を設定する方法がmqlのヘルプに載っていないのですが。


ObjectCreate(имя_объекта, OBJ_TRIANGLE, 0, вершина1_время, вершина1_цена, вершина2_время, вершина2_цена, вершина3_времявершина3_цена);
メインサブウィンドウでない場合は、0 の代わりに対応するサブウィンドウの番号を使用します。https://docs.mql4.com/ru/windows/WindowFind
 


ObjectCreate(name,OBJ_TRIANGLE, WindowFind(WindowExpertName(),Time[-1],vertex1_price,

Time[-5],vertex2_price,

Time[-7],vertex3_price,)。

//--------------------------------------------------------------------------------------------------------------------------

三角形のノードの座標を時間で設定しました(例えば、未来のバーの開始時刻で)。あとは、よくわからないですね。インジケーターウインドウの目盛りに表示されるのは、価格ではありません。指標となる数値のグラデーションです。

値段に関係なく、てっぺんが硬く固定された三角持ち合いを「置く」必要があるんです。

そして、できれば右(または下)隅にガッチリと固定されていることが望ましい。

そして、その頂点の座標、つまりインジケータスケールの縦軸の座標をどのように設定すればよいのかがわかりません。