トライ
//+------------------------------------------------------------------+ void Prn_Rect_Label(string Name, int X, int Y, int width, int height, color CLR, int Corner, bool back) { ObjectDelete(0,Name); ObjectCreate(0,Name,OBJ_RECTANGLE_LABEL,0,0,0); ObjectSetInteger(0,Name,OBJPROP_XDISTANCE,X); ObjectSetInteger(0,Name,OBJPROP_YDISTANCE,Y); ObjectSetInteger(0,Name,OBJPROP_XSIZE,width); ObjectSetInteger(0,Name,OBJPROP_YSIZE,height); ObjectSetInteger(0,Name,OBJPROP_BGCOLOR,CLR); ObjectSetInteger(0,Name,OBJPROP_CORNER,Corner); ObjectSetInteger(0,Name,OBJPROP_BACK,back); return; }
そのコツとは?なぜ、それ以上の操作をしないと、オブジェクトが塗りつぶしに反応しないのでしょうか?
Renat Akhtyamov:
削除するのではなく、存在するかどうかを確認する必要があるのです。存在しないのなら、作ればいい。そして、パラメータを設定する。
トライ
では、なぜフィラーは聞いていないのでしょうか?
Artyom Trishkin:
削除するのではなく、存在するかどうかを確認する必要があるのです。存在しないのなら、作ればいい。そして、パラメータを設定する。
削除するのではなく、存在するかどうかを確認する必要があるのです。存在しないのなら、作ればいい。そして、パラメータを設定する。
同意
を先に見つける。
しかし、オブジェクトが削除され、同じ名前でティック ごとに再作成される場合、既知の既存のオブジェクトを検索することは不要である5211845:
では、なぜフィルは耳を貸さないのでしょうか?
では、なぜフィルは耳を貸さないのでしょうか?
で、もしそうなら(false→true)。
ObjectSetInteger (current_chart_id, obj_name1, OBJPROP_FILL, true); // не задается сразу
うまくいきません。 すでに次の関数を試しています。
ObjectSet (obj_name1, OBJPROP_FILL, true | false)です。
このコードは全く動作しないのでしょうか?私の端末の不具合かも?
ObjectSetInteger(current_chart_id, obj_name1, OBJPROP_FILL, false)を使用します。
5211845:
一般的に、このコードは動作するはずです?私 の端末の不具合かも?
一般的に、このコードは動作するはずです?私 の端末の不具合かも?
ObjectSetInteger (current_chart_id, obj_name1, OBJPROP_FILL, false)を使用します。
もちろんです。
このコードと自分のコードを詳細に比較し、出力の刻みがないためOnTimer()に配置するか、OnInit()で一時的に実行します。
https://www.mql5.com/ru/docs/constants/objectconstants/enum_object/obj_rectangle
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Типы объектов / OBJ_RECTANGLE
- www.mql5.com
//| Cоздает прямоугольник по заданным координатам | time1=0, price1=0, time2=0, price2=0, width=1, //| Перемещает точку привязки прямоугольника |...
私はこの例を元にコードを作成しました。何が違うのか、どうしてもわからないんです。入力パラメータ用のウィンドウがあることのみ。
このウィンドウが必要ない場合はどうすればいいのでしょうか? 欲しいパラメータを持つオブジェクトを作成するだけなら。これは可能なのでしょうか?
取引の機会を逃しています。
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
親愛なるプログラマーの皆さん、ごきげんよう。
"MT4端末用。
何かヒントを頂きたいと思います。次のようなニュアンスの言葉に出会いました...。
1.矩形オブジェクトを作成する - それは動作します。
2.プロパティを設定しました。
- のスタイルで、うまくいきました。
- 線幅 - 動作しました。
- カラー - 動作しました。
-fill - 聞く 気がない。
いろいろといじくりまわしてみたところ、矩形オブジェクトはデフォルトで「オブジェクトを背景として描画する」にチェックを入れて作成されていることがわかりました。このチェックボックスがチェックされている限り、矩形はプログラムからのコマンドを聞きません。オブジェクトのプロパティから このチェックボックスを手動で削除すれば、プログラムから塗りつぶしを制御できるようになります。
問題は、なぜオブジェクトがすぐに "fill "プロパティに設定されないのか、ということです。何が間違っていて、何がわかっていないのか。
できる人は助けてください
以下は、使用したコードです。
#property indicator_chart_window
int start()
{
long current_chart_id=ChartID();
//
string obj_name1="Rectangle1";
//
double Price_Level_1 = 1296; // 金価格
double Price_Level_2 = 1293;
//
datetime Left_Side_1 = Time[9];
// datetime Right_Side_1 = Time[0] + PeriodSeconds() * 7;
//
const color clr = clrBeige;
const ENUM_LINE_STYLE style = STYLE_DASH;
const int width = 1;
const bool fill = false;
//
ObjectCreate (current_chart_id, obj_name1, OBJ_RECTANGLE, 0, Left_Side_1, Price_Level_1, Right_Side_1, Price_Level_2) を使用します。
ObjectSetInteger (current_chart_id, obj_name1, OBJPROP_COLOR, clr)です。
ObjectSetInteger (current_chart_id, obj_name1, OBJPROP_STYLE, style)を使用します。
ObjectSetInteger (current_chart_id, obj_name1, OBJPROP_WIDTH, width)を使用します。
ObjectSetInteger (current_chart_id, obj_name1, OBJPROP_FILL, false); // すぐに設定されません。
return(0)です。