正方形や長方形を描画する本当に助けが必要だ... - ページ 4 12345678 新しいコメント Alexey Viktorov 2016.10.07 12:56 #31 Alex_Profit:オブジェクトの作成時に、"_H", "_L "という値が帰属することが判明しました。まあ、考えないといけないのは、そうなんですけどね。それに、私はあまりお酒を飲まないんです。時間が経てば良くなると思います。ありがとうございます。objName+"_H",objName+"_L", あなたのことではないんです...あの答えを書いたときは、あまりシラフではなかった。 Alex_Profit 2016.10.07 19:01 #32 アガメンヌさん、ありがとうございます。ステージ1が終了しました。 Alex_Profit 2016.10.08 16:27 #33 indicator_chart_windowパラメータをindicator_separate_windowに変更すると、なぜかメインウィンドウの画像がサブウィンドウに表示さ れないのですが、教えてください。 Vitalie Postolache 2016.10.08 16:36 #34 Alex_Profit: indicator_chart_windowパラメータをindicator_separate_windowに変更すると、なぜかサブウィンドウにメインウィンドウの画像が表示 されないのですが、教えてください。 インジケータをチャートから削除し、再度追加する必要があります。 Alex_Profit 2016.10.11 03:42 #35 エラーがあれば教えてください。ひし形と十字がゼロバー上ではなく、バー自体の上に描かれるように変更する必要がある点。(毎月の最初のバーで)。ありがとうございます。//+------------------------------------------------------------------+#property strict#property indicator_chart_window //--- Внешние Глобальные переменные extern int barsToProcess = 5; //--- Кол-во отображаемых периодов (линий) //--- Глобальные переменные string Name_Obj; //--- Имя Элементов#property indicator_buffers 2#property indicator_color1 Red#property indicator_color2 Bluedouble Buf_High[];double Buf_Low[];MqlDateTime mqlDateTime;MqlRates mqlRates[1];//+------------------------------------------------------------------+int init() { SetIndexBuffer(0,Buf_High); SetIndexStyle (0,DRAW_ARROW,0,0); SetIndexArrow (0,116); SetIndexBuffer(1,Buf_Low); SetIndexStyle (1,DRAW_ARROW,0,0); SetIndexArrow (0,116); return(0); }//+------------------------------------------------------------------+int deinit() { int i; for (i=0; i<Bars; i++) //--- Выбираем все установленные объекты { ObjectDelete(Name_Obj + " High" + DoubleToStr(i,0)); //--- Удаляем все объекты ObjectDelete(Name_Obj + " Low" + DoubleToStr(i,0)); //--- Удаляем все объекты } return(0); }//+------------------------------------------------------------------+int start(){ int counted_bars = IndicatorCounted(); //--- перем counted_bars = функц. Возвращает количество баровint limit; //--- переменная старт кол-во баров. Линии рисуем о по всем барамif(counted_bars > 0) counted_bars --; //--- последний посчитанный бар будет пересчитан //--- основной цикл limit = Bars - counted_bars; for(int i = 0; i < limit; i ++) { //+------------------------ При выборе кол-ва линий отобразим их ко-во------------------------+ if(limit > barsToProcess) //--- Если кол-во линий > Кол-ву отображаемых периодов (линий) { limit = barsToProcess; //--- Тогда устанавливаем Кол-во отображаемых периодов (линий) //+------------------------ Рисуем линии -----------------------------------------------------+ while (i<limit) //--- Пока есть линии в окне терминала. Или пока висит индикатор в окне терминала. { datetime t_Line = iTime(Symbol(),PERIOD_MN1,i); //--- В ПЕРЕМ t_Line Будет Присваиваться значение времени открытия бара CopyRates(_Symbol, PERIOD_W1, t_Line, 1, mqlRates); { Buf_High[i] = mqlRates[i].high; Buf_Low[i] = mqlRates[i].low; //+------------------------ Рисуем Объекты -----------------------------------------------------+ //--- Строим линию по Хай ObjectCreate (0,Name_Obj + " High" + DoubleToStr(i,0), OBJ_TREND, 0,t_Line, mqlRates[0].high,t_Line+PeriodSeconds(PERIOD_MN1),mqlRates[0].high); ObjectSetInteger(0,Name_Obj + " High" + DoubleToStr(i,0), OBJPROP_RAY_RIGHT, false); //--- Строим линию по Лоу ObjectCreate (0,Name_Obj + " Low" + DoubleToStr(i,0), OBJ_TREND, 0,t_Line, mqlRates[0].low,t_Line+PeriodSeconds(PERIOD_MN1),mqlRates[0].low); ObjectSetInteger(0,Name_Obj + " Low" + DoubleToStr(i,0), OBJPROP_RAY_RIGHT, false); } i++; } } } return(0);} フラクタルラインの構築 カスタムインディケータ作成の特徴 怠慢は、進歩またはグラフィックスとインタラクティブに作業する方法への刺激 Vitalie Postolache 2016.10.11 04:48 #36 Alex_Profit:エラーがあれば教えてください。ひし形と十字がゼロバー上ではなく、バー自体の上に描かれるように変更する必要がある点。(毎月の最初のバーで)。ありがとうございます。もう新しい構文を学び始めてください。古い言語でしか書けない、再教育する気のない古い恐竜ならわかりますが、数年前から陳腐化した構文を学び始めたばかりで、新しいものを散りばめただけの立ち位置は、変質的としか言いようがありません。そして、少なくとも何が起こっているのかを理解するために、ヘルプを読み始めるだけでいいのです。 Alex_Profit 2016.10.11 04:54 #37 それは理解できるのですが、どこが新しくて、どこが古いのか?そして、ハンドブックを読むと、あまりにも巧みな言葉で書かれているのです。特に、ご批判をありがとうございました。正しい方向に進むことができるんです。 Alex_Profit 2016.10.14 05:59 #38 ヒントを教えてください。四半期ごとのマークアップはどのように行うのですか?これらの日付が発生したときに、縦線を 引く必要があるのです。1月1日、4月1日、7月1日、10月1日。 Alexey Viktorov 2016.10.14 06:48 #39 まず、私の言葉をよく読んでから、言語のドキュメント、特に「グラフィカル・オブジェクト」のセクションを読んでください。ドキュメントには、グラフィカル・オブジェクトを作成する 際に、どのようなパラメータが必要であるかが明記されています。そのうちのひとつがTIMEで、このパラメータに入れる必要があるのは日付です。縦線では値段は重要ではありませんが、機能的には必要です。難しいことはありません。 Alex_Profit 2016.10.17 06:49 #40 AlexeyVik:まず、私の言葉をよく読み、次に言語ドキュメント、特に「グラフィックオブジェクト」のセクションをよく読んでください。ドキュメントには、グラフィカル・オブジェクトを作成する際にどのようなパラメータが必要かが明確に記載されています。そのうちのひとつがTIMEで、これはあなたの日付であり、このパラメータに挿入されるべきものです。価格は縦線では重要ではありませんが、関数では必須なので0を入れてください。難しいことはありません。どうすればいいのかわからない。どうすればいいのか教えてください。期間は最長で1ヶ月です。変数t_Line.に1st,2nd,3rd,4th,kvの値を入れる必要が あります。 理解できない。 ぜひお願いします。int start(){ int counted_bars = IndicatorCounted(); //--- перем counted_bars = функц. Возвращает количество баровint limit; //--- переменная старт кол-во баров. Линии рисуем о по всем барам if(counted_bars > 0) counted_bars --; //--- последний посчитанный бар будет пересчитан //--- основной цикл limit = Bars - counted_bars; for(int i = 0; i < limit; i ++) { if(limit > barsToProcess) //--- Если кол-во линий > Кол-ву отображаемых периодов (линий) { limit = barsToProcess; //--- Тогда устанавливаем Кол-во отображаемых периодов (линий) while (i<limit) //--- Пока есть линии в окне терминала. Или пока висит индикатор в окне терминала. { datetime t_Line = iTime(Symbol(),PERIOD_MN1,i); //--- В ПЕРЕМ t_Line Будет Присваиваться значение времени открытия бара { ObjectCreate (Name_VLine + " VLine" + DoubleToStr(i,0),OBJ_VLINE,0,t_Line,0); //--- Создаём обьект вертикальную линию ObjectSet (Name_VLine + " VLine" + DoubleToStr(i,0),OBJPROP_STYLE,2); //--- Со стилем ObjectSet (Name_VLine + " VLine" + DoubleToStr(i,0),OBJPROP_COLOR,DimGray); //--- Со цветом ObjectSet (Name_VLine + " VLine" + DoubleToStr(i,0),OBJPROP_WIDTH,0); //--- С толщиной ObjectSet (Name_VLine + " VLine" + DoubleToStr(i,0),OBJPROP_BACK,0); //--- С типом отображения. Объект на заднем плане } i++; } } } return(0);} Drawing a square or MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 DoEasyライブラリのグラフィックス(第83部): 抽象標準グラフィカルオブジェクトのクラス 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
オブジェクトの作成時に、"_H", "_L "という値が帰属することが判明しました。
まあ、考えないといけないのは、そうなんですけどね。それに、私はあまりお酒を飲まないんです。
時間が経てば良くなると思います。ありがとうございます。
objName+"_H",
objName+"_L",
indicator_chart_windowパラメータをindicator_separate_windowに変更すると、なぜかサブウィンドウにメインウィンドウの画像が表示 されないのですが、教えてください。
エラーがあれば教えてください。ひし形と十字がゼロバー上ではなく、バー自体の上に描かれるように変更する必要がある点。(毎月の最初のバーで)。
ありがとうございます。
//+------------------------------------------------------------------+
#property strict
#property indicator_chart_window
//--- Внешние Глобальные переменные
extern int barsToProcess = 5; //--- Кол-во отображаемых периодов (линий)
//--- Глобальные переменные
string Name_Obj; //--- Имя Элементов
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
double Buf_High[];
double Buf_Low[];
MqlDateTime mqlDateTime;
MqlRates mqlRates[1];
//+------------------------------------------------------------------+
int init()
{
SetIndexBuffer(0,Buf_High);
SetIndexStyle (0,DRAW_ARROW,0,0);
SetIndexArrow (0,116);
SetIndexBuffer(1,Buf_Low);
SetIndexStyle (1,DRAW_ARROW,0,0);
SetIndexArrow (0,116);
return(0);
}
//+------------------------------------------------------------------+
int deinit()
{
int i;
for (i=0; i<Bars; i++) //--- Выбираем все установленные объекты
{
ObjectDelete(Name_Obj + " High" + DoubleToStr(i,0)); //--- Удаляем все объекты
ObjectDelete(Name_Obj + " Low" + DoubleToStr(i,0)); //--- Удаляем все объекты
}
return(0);
}
//+------------------------------------------------------------------+
int start()
{
int counted_bars = IndicatorCounted(); //--- перем counted_bars = функц. Возвращает количество баров
int limit; //--- переменная старт кол-во баров. Линии рисуем о по всем барам
if(counted_bars > 0) counted_bars --; //--- последний посчитанный бар будет пересчитан
//--- основной цикл
limit = Bars - counted_bars;
for(int i = 0; i < limit; i ++)
{
//+------------------------ При выборе кол-ва линий отобразим их ко-во------------------------+
if(limit > barsToProcess) //--- Если кол-во линий > Кол-ву отображаемых периодов (линий)
{
limit = barsToProcess; //--- Тогда устанавливаем Кол-во отображаемых периодов (линий)
//+------------------------ Рисуем линии -----------------------------------------------------+
while (i<limit) //--- Пока есть линии в окне терминала. Или пока висит индикатор в окне терминала.
{
datetime t_Line = iTime(Symbol(),PERIOD_MN1,i); //--- В ПЕРЕМ t_Line Будет Присваиваться значение времени открытия бара
CopyRates(_Symbol, PERIOD_W1, t_Line, 1, mqlRates);
{
Buf_High[i] = mqlRates[i].high;
Buf_Low[i] = mqlRates[i].low;
//+------------------------ Рисуем Объекты -----------------------------------------------------+
//--- Строим линию по Хай
ObjectCreate (0,Name_Obj + " High" + DoubleToStr(i,0), OBJ_TREND, 0,t_Line, mqlRates[0].high,t_Line+PeriodSeconds(PERIOD_MN1),mqlRates[0].high);
ObjectSetInteger(0,Name_Obj + " High" + DoubleToStr(i,0), OBJPROP_RAY_RIGHT, false);
//--- Строим линию по Лоу
ObjectCreate (0,Name_Obj + " Low" + DoubleToStr(i,0), OBJ_TREND, 0,t_Line, mqlRates[0].low,t_Line+PeriodSeconds(PERIOD_MN1),mqlRates[0].low);
ObjectSetInteger(0,Name_Obj + " Low" + DoubleToStr(i,0), OBJPROP_RAY_RIGHT, false);
}
i++;
}
}
}
return(0);
}
エラーがあれば教えてください。ひし形と十字がゼロバー上ではなく、バー自体の上に描かれるように変更する必要がある点。(毎月の最初のバーで)。
ありがとうございます。
もう新しい構文を学び始めてください。古い言語でしか書けない、再教育する気のない古い恐竜ならわかりますが、数年前から陳腐化した構文を学び始めたばかりで、新しいものを散りばめただけの立ち位置は、変質的としか言いようがありません。
そして、少なくとも何が起こっているのかを理解するために、ヘルプを読み始めるだけでいいのです。
それは理解できるのですが、どこが新しくて、どこが古いのか?そして、ハンドブックを読むと、あまりにも巧みな言葉で書かれているのです。
特に、ご批判をありがとうございました。正しい方向に進むことができるんです。
ヒントを教えてください。四半期ごとのマークアップはどのように行うのですか?
これらの日付が発生したときに、縦線を 引く必要があるのです。
1月1日、4月1日、7月1日、10月1日。
まず、私の言葉をよく読んでから、言語のドキュメント、特に「グラフィカル・オブジェクト」のセクションを読んでください。
ドキュメントには、グラフィカル・オブジェクトを作成する 際に、どのようなパラメータが必要であるかが明記されています。そのうちのひとつがTIMEで、このパラメータに入れる必要があるのは日付です。縦線では値段は重要ではありませんが、機能的には必要です。難しいことはありません。
まず、私の言葉をよく読み、次に言語ドキュメント、特に「グラフィックオブジェクト」のセクションをよく読んでください。
ドキュメントには、グラフィカル・オブジェクトを作成する際にどのようなパラメータが必要かが明確に記載されています。そのうちのひとつがTIMEで、これはあなたの日付であり、このパラメータに挿入されるべきものです。価格は縦線では重要ではありませんが、関数では必須なので0を入れてください。難しいことはありません。
どうすればいいのかわからない。どうすればいいのか教えてください。期間は最長で1ヶ月です。
変数t_Line.に1st,2nd,3rd,4th,kvの値を入れる必要が あります。
理解できない。
ぜひお願いします。
int start()
{
int counted_bars = IndicatorCounted(); //--- перем counted_bars = функц. Возвращает количество баров
int limit; //--- переменная старт кол-во баров. Линии рисуем о по всем барам
if(counted_bars > 0) counted_bars --; //--- последний посчитанный бар будет пересчитан
//--- основной цикл
limit = Bars - counted_bars;
for(int i = 0; i < limit; i ++)
{
if(limit > barsToProcess) //--- Если кол-во линий > Кол-ву отображаемых периодов (линий)
{
limit = barsToProcess; //--- Тогда устанавливаем Кол-во отображаемых периодов (линий)
while (i<limit) //--- Пока есть линии в окне терминала. Или пока висит индикатор в окне терминала.
{
datetime t_Line = iTime(Symbol(),PERIOD_MN1,i); //--- В ПЕРЕМ t_Line Будет Присваиваться значение времени открытия бара
{
ObjectCreate (Name_VLine + " VLine" + DoubleToStr(i,0),OBJ_VLINE,0,t_Line,0); //--- Создаём обьект вертикальную линию
ObjectSet (Name_VLine + " VLine" + DoubleToStr(i,0),OBJPROP_STYLE,2); //--- Со стилем
ObjectSet (Name_VLine + " VLine" + DoubleToStr(i,0),OBJPROP_COLOR,DimGray); //--- Со цветом
ObjectSet (Name_VLine + " VLine" + DoubleToStr(i,0),OBJPROP_WIDTH,0); //--- С толщиной
ObjectSet (Name_VLine + " VLine" + DoubleToStr(i,0),OBJPROP_BACK,0); //--- С типом отображения. Объект на заднем плане
}
i++;
}
}
}
return(0);
}