どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 656

 
evillive:

問題は、正直なところ、初心者向けではない。チャート上の全てのデータをテンプレートに保存し、そのテンプレートに必要なパラメータを追加した後、新しいテンプレートをチャートにロードする必要があります。テンプレートの保存と読み込みはMQLによって可能ですが、テンプレートファイルの編集にはおそらくDLLを書く必要があり、カスタムスクリプトがテンプレートファイルの書き込みにアクセスできるかどうかわかりません。

グラフを用いた演算

チャートを操作するための機能。すべてのグラフ操作は、Expert Advisorとスクリプトにのみ適用されます。

チャートのプロパティを設定する関数は、実際には、チャートに変更のコマンドを送る役割を果たします。これらの関数が正常に実行された場合、コマンドはチャートの一般イベントキューに入ります。チャートの修正は、与えられたチャートのイベントキューを処理する過程で行われます。

このため、関数の呼び出し後、すぐにチャートの視覚的な更新を期待しない方がよいでしょう。一般に、チャートは、新しい気配値の到着、チャートウィンドウのサイズの変更など、変化のイベントに応じて、端末によって自動的に更新されます。 チャートの外観を強制的に更新するには、ChartRedraw() コマンドを使用します。

機能

アクション

ChartApplyTemplate

指定されたチャートに対して、指定されたファイルのテンプレートを適用します。

ChartSaveTemplate

現在のチャート設定を指定された名前のテンプレートに保存します

チャートウィンドウファインド

インジケータが配置されているサブウインドウの番号を返します。

ChartTimePriceToXY(チャートタイムプライストゥーエックスワイ

チャート座標を時間/価格表示からX/Y座標に変換します。

チャートXYToTimePrice

チャートのX、Y座標を時間、価格の値に変換する

チャートオープン

指定されたシンボルと期間で新しいチャートを開く

チャートファースト

指定されたチャートの後に続くチャート ID を返します。

チャートネクスト

クライアント端末の最初のチャートの ID を返します。

チャートクローズ

指定したチャートを閉じる

チャートシンボル

指定されたチャートシンボルの名称を返します。

チャートピリオド

指定された期間の値を返す。

 
Vinin:

グラフを用いた演算


はい、その通りです。パターン編集(MT5のようにインジケータを追加することも可能)はどこにあるのでしょうか?いいえ。つまり、DLLが必要なんですね。または、テンプレート編集以外にMT4チャートにインジケータを追加する方法はありますか?


Expert Advisorの助けを借りてインジケータを追加するという質問だったのですが、 ここで

 
evillive:

この作業は、正直言って初心者向けではありません。チャート上にあるものをすべてテンプレートに保存し、必要なインジケータをすべてのパラメータとともにこのテンプレートに追加し、新しいテンプレートをチャートにロードし直すことが必要です。テンプレートの保存と読み込みはMQLによって可能ですが、テンプレートファイルの編集にはおそらくDLLを書く必要があり、カスタムスクリプトがテンプレートファイルの書き込みにアクセスできるかどうかわかりません。

必要なインジケータを別のウィンドウで開き、それをすべてテンプレートに保存します。 次に、プログラムを「空の」チャートで実行し、このテンプレートを開くとどうなりますか?
 
waroder:

必要なインジケータを別のウィンドウで開き、それをすべてテンプレートに保存します。 次に、「空の」チャートでプログラムを実行し、このテンプレートを開きます。すべてのインジケータは同様に開きますか?それとも、テンプレート自体にインジケータの開き方を規定する必要がありますか?

テンプレートを適用 すると、すべてのインジケータが指定されたチャートウィンドウに自動的に添付されます。
 
barabashkakvn:

テンプレートを適用すると、すべてのインジケータは自動的にこのチャートウィンドウに添付されます。


オーシャンズ) 了解) ありがとう、他の人たち。

 
waroder:

必要なインジケータを別のウィンドウで開き、それをすべてテンプレートに保存した後、「空の」チャートでプログラムを実行し、このテンプレートを開くと、すべてのインジケータが同様に開きますか。
をテンプレートに追加する必要があります。そうしないと、テンプレート自体をロードする際に、プログが規定されていないため、アンロードされてしまうからです。ちなみに、これはEAをオフにする良い方法です ;)
 
2台の車が交差するときにビープ音を鳴らすインジケータを送信してください)
 

質問1- EA外部パラメータの新しいビルド(ME5 Build 934; MT4 Build 646)では、変数名の代わりにコメントが表示されます。どうすればいいのか?コ メントを書くなということは言わないでください、必要なんです(質問2参照)。

質問2- 私の理解では、コメントはプログラマー自身がコードを書きながら考えたこと、メモなどを書き留めるためのものです。もしそうだとしたら(本や講座でもそう教えている)、ユニークな仕事である。そして、「1つの機能、1つの仕事」と教えられる。その結果、このタスクが別のタスクを持つと、--これはまさに、新築物件で行われることを意図したシャレです--ヴィネグレットができるのです。- これは正しいこと なのでしょうか?そうでないと、じゃあどうやってコメントを書けばいいんだ、私には必要なんだ、他の人には一切見せたくないんだ、となる。だって、私のコメントが宣伝に反映されるのなら、どんなコメントなんだろう?それは、まったく別の作業です。

つまり、2つの異なるタスクがあるわけです。「コードを書きながら自分のためにコメントする」「外部変数を記述する」。

新しいタスク「外部変数の記述」については、別の独立したコンパイラ・オプションを割り当てる必要があるようです。少なくとも、このオプションはユーザーが選択できるようにしましょう(ただし、これはすでにプログラミングの基本原則に反しています)。

間違っていたら訂正してください。

 
Chiripaha:

質問1- 新しいビルド(ME5 Build 934; MT4 Build 646)のEA外部パラメータでは、変数名の代わりにコメントが表示されます。どうすればいいのか?コ メントを書くなということは言わないでください、必要なんです(質問2参照)。

質問2- 私の理解では、コメントはプログラマー自身がコードを書きながら考えたこと、メモなどを書き留めるためのものです。もしそうだとしたら(本や講座でもそう教えている)、ユニークな仕事である。そして、私たちは「1つの機能、1つの仕事」と教えられる。その結果、このタスクが別のタスクを持つと、--これはまさに、新築物件で行われることを意図したシャレです--ヴィネグレットができるのです。- これは正しいこと なのでしょうか?そうでないと、じゃあどうやってコメントを書けばいいんだ、私には必要なんだ、他の人には一切見せたくないんだ、となる。だって、私のコメントが世間に反映されるなら、どんなコメントなんだろう?それは、まったく別の作業です。

つまり、2つの異なるタスクがあるわけです。「コードを書きながら自分のためにコメントする」「外部変数を記述する」。

新しいタスク「外部変数の記述」については、別の独立したコンパイラ・オプションを割り当てる必要があるようです。あるいは、少なくともこのオプションはユーザーが選択できるようにする(ただし、これはすでにプログラミングの基本原則に反している)。

間違っていたら訂正してください。


そのため、外部変数が自分自身やユーザーにとって読みやすくなるのは便利なことです。

また、外部変数に関するコメントを見えなくする(コードの中だけで見えるようにする)には、2行目として書けばいいのです。

だから、例えば、その代わりに

input double AbcD=1.2345;//Хочу профит на отметке:

を2行にする。

input double AbcD=1.2345;
//Желаемый уровень профита

最初のケースでは、 Abcdの 代わりに、外部変数が表示されます。"利益確定は:1.2345"で行いたい。

2番目は"AbcD 1.2345"です。

 
DiPach:

外部変数をより読みやすくすることは、自分自身やユーザーにとって良いことです。

また、外部変数へのコメントが表示されないように(コードの中でしか見えないように)、単純に2行目として書けばよい。

だから、例えば、その代わりに

を2行にする。

最初のケースでは、 Abcdの 代わりに、外部変数が表示されます。"利益確定は:1.2345"で行いたい。

の場合、「AbcD 1.2345」。


そうですね、全然気にならないので便利です。しかも、彼らが実現したかったことがよくわかる。しかし、あるタスクを殺してまで他のタスクを実装することはできません。

2行で書くと、変数が5〜10個あれば我慢できるので、あまり便利ではありません(とはいえ、やはり、なぜ我慢する必要があるのでしょうか?)しかし、この変数が200個くらいあったらどうでしょう?この場合、コードのサイズはかなり大きくなってしまいます。
一方、別の選択肢であれば、やはり変数の 記述を犠牲にして、コードのサイズを大きくする必要があります。ですから、2番目の選択肢を導入するよりも、あなたの提案するソリューションの方が最適で簡潔なのかもしれませんね。同意する用意がある。

私の推測が正しければ、キャリッジ変換は変数記述の制約になりますか?

そして、もうひとつ質問があります。

オプションで、説明文の言語を複数選択できるようにできないでしょうか?そうなれば、さらに便利になりますね。: ))この場合、通常のコメントで説明するのではなく、とにかくオプションで作った方が良い。

ちなみに。このような変数の説明は、列のサイズが伸縮を保持せず、説明欄の狭さに説明のほとんどが「食われる」ため、とにかくオプションダイアログにはほとんど表示されません。しかし、変数値のスペースが理不尽なほど多い。だから、もっといいものを作りたかった...。しかし、これは一歩前進でもあるのです。: ))