初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1317

 
Vladimir Karputov:

エラーをご覧ください。

1.チャート記号は 常に明示的に指定する(文書に頼ることもできるが、常に明示的に指定する方が良い)。

2.文字列は意味を なさない - preff+"hhh "は決してSymbol()と等しくならないからです。


追記:この方法だと、チャート上に常に1本の線があり、チャートを切り替えたときに線の価格を変えるだけなので、より良いと思います。

明示的な警告の場合:'文字列'から'数値'への暗黙の変換

問題の本質は、作成された場所に線が表示されないことです。

価格255のツールで作成した場合、現在の価格310の別のツールを読み込むと、なぜ255で表示されるのでしょうか?

行を保存して、作成した場所に表示する方法を教えてください。
 
serg_V777:

明示的に警告を発する場合:'文字列'から'数値'への暗黙の変換

問題の本質は、作成された場所に線が表示されないことです。

価格255のツールで作成した場合、現在の価格310の別のツールを読み込むと、なぜ255で表示されるのでしょうか?

行を保存し、作成した場所に表示する方法をご教示ください。

あなたは私にあなたのコードスニペットを示しました - 私はあなたにあなたのスニペットを与えました。変数を宣言すればエラーにならない。

セリフのある論理が理解できない。自分の行動を詳しく説明すること、そして最も重要なことは、なぜそれをする必要があるのかを説明するようにしましょう。


あなたのコードでは、なぜ、ChartSymbol

 
Vladimir Karputov:

あなたは私にコードのスクラップを見せ、私はあなたにスクラップを与えました。変数を宣言すれば、エラーは発生しません。

セリフの論理が理解できない。自分の行動を詳しく説明すること、そして最も重要なのは「なぜそうするのか」を説明することです。


あなたのコードでは、なぜChartSymbolが 必要なのか理解できません。

void OnChartEvent(const int id,           // идентификатор события   
                  const long& lparam,     // параметр события типа long 
                  const double& dparam,   // параметр события типа double 
                  const string& sparam) { // параметр события типа string 
 
 
  preff=ChartSymbol( NULL);
  price=SymbolInfoDouble(Symbol(),SYMBOL_BIDLOW); 
 if(id == CHARTEVENT_OBJECT_CLICK && sparam == "dz_draw")// Нажатие кнопки   
  {   
   ObjectCreate(0,preff+"hhh",OBJ_HLINE,0,0,price) ;    
 ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrBlack); 
   ObjectSetInteger(0,preff+"hhh",OBJPROP_STYLE,0); 
   ObjectSetInteger(0,preff+"hhh",OBJPROP_WIDTH,3); 
   ObjectSetInteger(0,preff+"hhh",OBJPROP_BACK,false); 
   ObjectSetInteger(0,preff+"hhh",OBJPROP_SELECTABLE,true); 
   ObjectSetInteger(0,preff+"hhh",OBJPROP_SELECTED,true); 
   ObjectSetInteger(0,"dz_draw"   ,OBJPROP_STATE,false);
   }
}

そこで、Gazpチャートの277という価格に ラインを作成します。

Sberの同じウィンドウで変更すると、Gazpで277で 作成した行が表示されるのですが...。

310でSberラインを 作成すると、チャート上に2本のラインが表示されます。1本は正しく(必要な場所に必要なものを作成)、2本目は間違っています。このチャートからではない のです.

ツールを変えて200~400の価格帯のラインを作り、Gazp チャートに戻すと、人と馬がご っちゃになるんです(笑)。

でも、必要な時に必要な場所で作成された、たった1本(横線2本くらい)のものが必要なんです。

 
serg_V777:

そこで、Gazpチャートに277の ラインを作ると...。

Sberで同じウィンドウで変更すると、Gazpで277で 作成したラインが表示されるのですが...。

Sberで310のラインを 作成すると、チャート上に2つのラインが表示されます - 1つは正しく(必要な場所に必要な分だけ作成)、2つ目は正しくない - このチャートからではありません...。

ツールを変えて200~400の価格帯のラインを作り、Gazp チャートに戻すと、人と馬がごっちゃになるんです(笑)

でも、必要なときに必要な場所で作成された、唯一のもの(横線2 本くらい)です。

ChartSymbol

ヘルプを読むヘルプの後、このオペレータを使用しないでください - あなたはそれを必要としない。


次のアルゴリズムが必要です:各キャラクターが価格を保存するために。価格は端末のグローバル変数に格納される(グローバル変数名はシンボル名)。次に、'CHARTEVENT_OBJECT_CHANGE' と'CHARTEVENT_OBJECT_DRAG' をサービスし、価格をグローバル変数に再保存する必要があります。

また、解決しなければならないニュアンスもたくさんあります。例えば、グローバル変数があるのに、チャート上に線がない...。

 
User_mt5:
ありがとうございました。 本当に助かりました。そしてもちろん、この機能はテクニカル指標のリストの真ん中以外にどこにあるのだろうか?)

嫌味にならない程度にできないか?

ドキュメントを全く読んでいないようですが...。しかし、あなたは自分が宇宙の中心であるかのようにヒントに答えている...。無教養でどうしようもないへそ曲がりだけが...。

 
Vitaly Muzichenko:

ありがとうございました。

標準的なツールではどうしようもないんです。

システムDLLを使わないとできない。

このために文庫を 全部出しました )

5の方は別に
CDir (MT4) - класс для получения оглавления каталога
CDir (MT4) - класс для получения оглавления каталога
  • www.mql5.com
Класс CDir предназначен для получения сведений о файлах и папках вне "песочницы" MQL4 подобно команде MS-DOS Dir. Задействован вызов системных DLL, поэтому следует разрешить их использование.
 
Vladimir Karputov:

ヘルプを読むヘルプの後、このオペレータを使用しないでください - あなたはそれを必要としません。


このアルゴリズムが必要です。各シンボルに対して、価格を保存する必要があります。価格は端末のグローバル変数に格納される(グローバル変数の名前は単なるシンボルの名前である)。次に、'CHARTEVENT_OBJECT_CHANGE' と'CHARTEVENT_OBJECT_DRAG' をサービスし、価格をグローバル変数に再保存する必要があります。

例えば、グローバル変数があり、チャート上に線がない...など、まだ解決しなければならないニュアンスがたくさんあります。

アルゴリズムに感謝します。

質問 -- なぜ、このコードでは線が見つかって変色しているのですか?

if(preff+"hhh" == ChartSymbol(0) ){
ObjectSetInteger(0,preff+"hhh",OBJPROP_COLOR,clrNONE); }

しかし、それをあるべき姿で行うには、暗い森を行くようなものだ......。

 
Mikhail Dovbakh:

システムDLLを使わないとできない。

このために文庫を 全部出しました )

別途5用

素晴らしい、まさに私が必要としているものがそこにある!

 
Сергей Таболин:

嫌味にならない程度にできないか?

ドキュメントを全く読んでいないようですが...。しかし、あなたは自分が宇宙の中心であるかのようにヒントに答えている...。無教養でどうしようもないへそ曲がりだけが・・・。

失礼なことをする代わりに、何か役に立つことをするんだ、頼むよ!

そして、わざわざ答えたり、反応したりする必要はないのですあなたの意見、残念ながら私には興味ありません!)

 

これらのメソッドをすべて使用するには、どのクラスを継承 すればよいか教えてください。

これらのクラスのすべてのメソッドを、クラス内でオブジェクトを作成 することなく使用することができますか?



理由: