MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 238

 
Vyacheslav Kornev:
ここで理解できないことはないでしょう。Above the barは一般的な意味です。最下位には、バー以下です。一番左の点が、実は線の起点になります。
線は上が赤、下がピンクです。

ディテールが重要です。
間違った質問 - 正しいドットはどこですか?
 
Artyom Trishkin:
ディテールが重要です。
間違った質問 - 正しいポイントはどこでしょう?
まあデータウィンドウに 表示されるんですけどね。ラインを上げる。ペンタックスの最低ラインである。それが、私が取ることのできた価値です
 
Vyacheslav Kornev:
まあデータウィンドウに 表示されるんですけどね。ライン上を歩く。ペンタックスの最低ラインである。それが、私が取ることのできた価値です
つまり、インジケータは2つのバッファを持っているのです。bar1 の値が表示されます。bar0については、先ほど申し上げたように計算する必要があります。
 
Artyom Trishkin:
つまり、インジケータは2つのバッファを持っているのです。bar1 の値を出力します。bar0については、先ほど申し上げたように計算する必要があります。
そうやってやったんだ!」と。
完全にきちんと書くこと。
 
Vyacheslav Kornev:
そうやってやったんだ!」と。
完全に正しく書くこと。

bar0での値を計算する必要があります。直線の方程式。

//+------------------------------------------------------------------+
//| Уравнение прямой                                                 |
//+------------------------------------------------------------------+
double EquationDirect(const int left_bar,const double left_price,const int right_bar,const double right_price,const int bar_to_search) {
  return((right_bar==left_bar)?left_price:(right_price-left_price)/(right_bar-left_bar)*(bar_to_search-left_bar)+left_price);
}
//+------------------------------------------------------------------+

形式変数の名前から、関数に何を渡すかはすべて明らかです。

BAR関数は、探しているバーの値を返します。

 
Artyom Trishkin:

bar0での値を計算する必要があります。直線の方程式。

関数に何を渡すかは、正式な変数名ですべて明らかです。

シークしたバーの値を返す。


あらら、複雑ですね。なんとか値を取得できた、あとはObjectGetValueByShiftを書くだけだ、えらいこっちゃ。ビデオチュートリアルを送ってください。インジケーターのやり方を調べましたが、そこにはありませんでした。すべてがうまくいく。同質問より引用http://www.mql5.com/ru/forum/121347

このようなバッファを作ることが可能かどうかは全く分かりませんが...動作はします。ncurbarが何なのかよくわからない。

//---- チャート内のオブジェクトを移動させる

ObjectMove("トレンドDN-0",1,Time[st1],s1);

ObjectMove("トレンドDN-0",0,時間[st2],s2);

Dn[nCurBar] = ObjectGetValueByShift("Trend DN-0",0)。

//----

ObjectMove("トレンドUP-0",1,Time[rt1],r1);

ObjectMove("トレンドUP-0",0,Time[rt2],r2);

Up[nCurBar] = ObjectGetValueByShift("Trend UP-0",0)。

Помогите с кодом!!!
Помогите с кодом!!!
  • 2009.10.23
  • www.mql5.com
Ситуация такая, пишу индикатор, он должен рисовать уровни поддержки и сопротивления...
 
Vyacheslav Kornev:

あらら、複雑ですね。なんとか値を取得できた、あとはObjectGetValueByShiftを書くだけだ、えらいこっちゃ。ビデオチュートリアルを送ってください。インジケーターの作り方を調べましたが、そこにはそのようなものは見つかりませんでした。すべてがうまくいく。

//---- チャート内のオブジェクトを移動させる

ObjectMove("トレンドDN-0",1,Time[st1],s1);

ObjectMove("トレンドDN-0",0,時間[st2],s2);

Dn[nCurBar] = ObjectGetValueByShift("Trend DN-0",0)。

//----

ObjectMove("トレンドUP-0",1,Time[rt1],r1);

ObjectMove("トレンドUP-0",0,Time[rt2],r2);

Up[nCurBar] = ObjectGetValueByShift("Trend UP-0",0)。


ここで、EAをログから取得した値を巻き戻し、ビジュアルモードではなく、EAを実行させます。テストを停止してログを見てください。

ビジュアルモードでないテスターでは、グラフィカルオブジェクトから値を取得することはできないとお伝えしましたが、それはビルドされないだけです。

また、2本の線の各値に対して1本だけという通常の計算をインジケータに追加することは困難です。

まあ、説得はしませんが。

 
Artyom Trishkin:

ここで、行から得た値をログにEAプリントアウトし、ビジュアルモードでNOTを実行します。テストを停止してログを見てください。

ビジュアルモードでないテスターでは、グラフィカルオブジェクトから値を取得することはできないとお伝えしましたが、それはビルドされないだけです。

また、2本の線の各値に対して1本だけという通常の計算をインジケータに追加することは困難です。

まあ、説得はしませんが。


ただ、付け方がわからないんです。

よくわからない、エラーが出る、どこに追加すればいいのか
 
Vyacheslav Kornev:

ただ、どうやって...どこに追加すればいいのか...わからない。

私はそれを得ることはありません、私はエラーを持っている、それを追加する場所

関数とは何か、ご存じですか?機能をあげてみました。任意のインジケータ関数のボディの外側に記述し、必要なデータを入力することでコードから呼び出すことができます。出力では、探しているバーの価格が表示されます。

mql4.comに300年ほど 前の記事を書きました。そこには、直線の方程式で作業する方法が書かれています。現在は、関数が修正されていますが、バーの価格を返すという機能は変わっていないのです。

その記事をもとにした指標を 紹介します。

 
Artyom Trishkin:

関数とは何か、ご存じですか?機能をあげてみました。任意のインジケータ関数のボディの外側に記述し、必要なデータを入力してコードから呼び出します。出力では、探しているバーの価格が表示されます。

mql4.comで300年ほど 前の記事を書きました。そこには、直線の方程式で作業する方法が書かれています。現在は、関数が修正されていますが、バーの価格を返すという機能は変わっていないのです。

その記事をもとにした指標を 紹介します。


インジケーターやExpert Advisorはチャートに装着する必要があるので、実際の取引では価格の取り方に違いはないのでは?