グラフィカルなオブジェクトを作成するにはどうしたらよいですか?MQL4です。 - ページ 4

 
Integer:

作成前にオブジェクトが存在するかどうかを確認するために、ObjectFind()関数があります。何もしなくても、存在しているのだから、大丈夫、大したことはない。

オブジェクトのセット。オブジェクト名にバータイムを追加し、ユニークな名前を取得することができます。

ビームをトリミングする。ObjectSet(Name,OBJPROP_RAY,false)プロパティです。

いやー、感想を読ませていただきました。すでに終了しています。現在時刻に 名前を割り当てる。

ビームをトリミングした。つまり、旧名称を記憶して偽名称をつける?

 
forexman77:

...

ビームをカットする。旧名称を偽名に変えて覚えるってこと?

作成後、直ちに、作成を行ったのと同じ名前の ObjectSet() を呼び出す。
 

Expert Advisorのインジケータサブウィンドウでオブジェクトを描画しようとする(MQL4)

インジケータは同じで、サブウィンドウが1番であることを意味します。

long   chart_ID=0;        // ID графика
int win_idx=1;
string nameobj=TimeToStr(Time[0]);       
            //--- сбросим значение ошибки
            ResetLastError();
            //--- создадим трендовую линию по заданным координатам
           if(!ObjectCreate(chart_ID,nameobj,OBJ_TREND,win_idx,Time[index],maximum1,Time[1],TRENDmax[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            } 

図面がない。エラー4206(not found subwindow)が出ます。

Expert Advisorが視覚的にあるべき姿でトレードを開始します。つまり、変数「Time[index],max1,Time[1],TRENDmax[1]」は正しいです

 
forexman77:

Expert Advisorのインジケータサブウィンドウでオブジェクトを描画しようとする(MQL4)

インジケータは同じで、サブウィンドウが1番であることを意味します。

図面がない。4206エラー(Not found subwindow)が出る。

1」の代わりに「ChartWindowFind()」と入れてください。
 
Karputov Vladimir:
1」の代わりに「ChartWindowFind()」と入れてください。

EAに搭載されているインジケータのショートネームは どのように取得するのですか?

インジケータ自体に、短い名前を作りました。

IndicatorShortName("fraktalSDV");
 

スクリプトを作った。

void OnStart()
  {
string   shortName="fraktalSDV"; 
long   chart_ID=0;        // ID графика
int win_idx=ChartWindowFind(chart_ID,shortName);
Alert("Окно = ", win_idx);
  }

ウィンドウがそのまま表示されます。

EAでは。

string   shortName="fraktalSDV"; 
long   chart_ID=0;        // ID графика
int win_idx=ChartWindowFind(chart_ID,shortName);
         Print("shortName=",shortName);
         string nameobj=TimeToStr(Time[0]);          
            //--- сбросим значение ошибки
            ResetLastError();
            //--- создадим трендовую линию по заданным координатам
           if(!ObjectCreate(chart_ID,nameobj,OBJ_TREND,win_idx,Time[index],maximum1,Time[1],TRENDmax[1]))
            {
            Print(__FUNCTION__,
                  ": не удалось создать линию тренда! Код ошибки = ",GetLastError());
            return(0);
            } 

サブウィンドウの番号を取得する -1

 
forexman77:

スクリプトを作った。

ウィンドウがそのまま表示されます。

EAでは。

サブウィンドウの番号を取得する -1

サブウィンドウに "fraktalSDV " という短い名前のインジケータがあるのは間違いないですか?
 
Karputov Vladimir:
チャート上のサブウィンドウに "fraktalSDV " というショートネームのインジケータがあるのは間違いないですか?
テスターでビジュアライゼーションを有効にすると、実行の最後に表示されます。
 
forexman77:
テスターでビジュアライゼーションを有効にすると、実行の最後に表示されます。
インジケータを使ったテンプレートを作成し、このテンプレートをtesterという名前で保存します。
 
Karputov Vladimir:
インジケータを使ったテンプレートを作成し、このテンプレートをtesterという名前で保存します。

つまり、インジケーターでチャートプロファイルを作成する?

テスターでインジケーターを動かして みたところ、スローモーションでは、レンダリングされます。