//+------------------------------------------------------------------+//| Create an equidistant channel by the given coordinates |//+------------------------------------------------------------------+bool ChannelCreate(constlong chart_ID=0, // chart's IDconststring name="Channel", // channel nameconstint sub_window=0, // subwindow index datetime time1=0, // first point timedouble price1=0, // first point pricedatetime time2=0, // second point timedouble price2=0, // second point pricedatetime time3=0, // third point timedouble price3=0, // third point priceconstENUM_BASE_CORNER corner = CORNER_RIGHT_UPPER, // the angle of the graph for the bindingconstcolor clr=clrRed, // channel colorconstENUM_LINE_STYLE style=STYLE_SOLID, // style of channel linesconstint width=1, // width of channel linesconstbool back=false, // in the backgroundconstbool selection=true, // highlight to moveconstbool ray_left = false, // extend the line to the leftconstbool ray_right=false, // channel's continuation to the rightconstbool hidden=true, // hidden in the object listconstlong z_order=0) // priority for mouse click
{
//--- reset the error valueResetLastError();
//--- create a channel by the given coordinatesif(!ObjectCreate(chart_ID,name,OBJ_CHANNEL,sub_window,time1,price1,time2,price2,time3,price3))
{
Print(__FUNCTION__,
": failed to create an equidistant channel! Error code = ",GetLastError());
return(false);
}
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width);
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_RAY_RIGHT,ray_right);
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- return(true);
}
//+------------------------------------------------------------------+//| Delete the channel |//+------------------------------------------------------------------+bool ChannelDelete(constlong chart_ID=0, // chart's IDconststring name="Channel") // channel name
{
//--- reset the error valueResetLastError();
//--- delete the channelif(!ObjectDelete(chart_ID,name))
{
Print(__FUNCTION__,
": failed to delete the channel! Error code = ",GetLastError());
return(false);
}
//---return(true);
}
//---
Графические объекты Text, Label, Bitmap и Bitmap Label (OBJ_TEXT, OBJ_LABEL, OBJ_BITMAP и OBJ_BITMAP_LABEL) могут иметь один из 9 различных способов привязки своих координат, задаваемых свойством OBJPROP_ANCHOR. – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты...
一般論として、Artyomは何も答えていないし、上の人は、関数は既知でなければならない構造を扱うので、グローバルに宣言しなければならないという答えを出したので、構造はグローバルに宣言しなければ ならないという結論になるのです。
構造体を扱う関数は、その性質上、同じ静的構造体しか受け入れない。つまり、構造体をローカルに宣言して、限られたスコープを持つようにして、それを関数に渡すことはできないのです。
私が言ったことを理解できないのに、私を引き合いに出さないでください。アルテムの言葉を注意深く読んでください。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラムです。
MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関する支援や議論など。
変数の宣言を その構造体の型と混同しているのでは?
統計はこれと変わりません。
ちなみに、午前1時や午後11時に表示されないだけでなく、こんな風に表示されるんですよ。
技術的な仕事です。
進捗状況
これらのチェックボックスをすべてクリックすると、1週間後に自動的に支払いがなくなると書かれています。ただし、受け取ったのはデモファイルだけで、そこには昨年しか使えない日付制限のあるものが入っています。飽きたのか、今度は給与ファイルが自動で変わるのを1週間も待つのか。
すでに起こったことです。
仕事の引継ぎと支払い
お客さまにデモを受け入れていただき、次は開発者が最終的な成果物を引き渡さなければなりません。
作品の検収後、お客様の口座から自動的に支払われます(手数料を差し引いた金額)。提出された作品に対して、1週間以内にお客様から返信がない場合は、自動的に注文が完了したものとみなします。
開発者=========================================================="作業と支払いの引継ぎ"のステップを確認。
この喜びはどういうことなのでしょうか?
知らないのに参考にしないでください。アルテムの言葉をよく読んでください。
まあ、私の場合、まさに構造について話しているのですが、それもカスタム変数型であることは明らかですが、特に私はローカルレベルに興味があるのです。授業を通してできるかもしれない。原理的には、クラスを通してプライベートな型を宣言して終わりなのでしょうが、あまりよく理解できません。
さて、私はまさに私のケースと構造について話しており、まさにこのように、それはまた、カスタム変数の型であることは明らかですが、特に私はローカルレベルに興味があります。授業を通してできるかもしれない。原則的には、クラスを通してプライベートな型を宣言することができるのですが、あまりよく理解できていません。
グローバルなレベルで構造を定義する - プログラム全体がそれを知っている必要がある - それはあなたが作成した新しいタイプの変数です。
そして、この構造の型を持つ別の変数を、どのローカルレベルでも定義することができます - その中(ローカルレベル)だけで、そのスコープで作成された変数が見えるようになります。
みなさん、こんにちは。
添付ファイル
このオブジェクトに
ブール
ChartXYToTimePriceは、デフォルトでも左上から 座標を計算するのですね。
ChartXYToTimePriceは、私が指定したコーナーからどのように再計算されるのでしょうか?
ChartXYToTimePriceは、左上から 座標とデフォルトを計算することは理解しています。
ChartXYToTimePriceは、私が指定した角度からどのように再計算されるのでしょうか?
決断する材料を持っている人の心しか変えられないのです。また、「それ」が他人の設定を実行するだけなら、何かを納得させるための台詞はすべて無駄でしかありません))。
タスクがよくわからないのですが、結合角度ENUM_BASE_CORNER だけでなく、結合点ENUM_ANCHOR_POINT にも注意してください。
Alexey Viktorov:
タスクがよくわからない
呼び出し時にインジケータが左上 隅にオブジェクト(OBJ_CHANNEL)を作成する
もう一方のコーナーにオブジェクトを作成するための条件を設定する方法。
呼び出し時にインジケータが左上 隅にオブジェクト(OBJ_CHANNEL)を作成する
もう一方のコーナーにオブジェクトを作成するための条件を設定する方法。
取扱説明書をよくお読みください。OBJ_CHANNELは角度とは関係ありません。