コーディングのヘルプ - ページ 193

 

Всем привет!

дорого дня!!!

помогите добавить красную полоску в индикатор

полоска зелёная работает хорошо (bear;// Lime)

красная не работает(bull;// Red;)

заранее Спасибо.

индикатор:

bearbull.mq4

ファイル:
 

Mrtoolsさん、Mladenさん、こんにちは。

TSVのBullish & BearishはGann Hilo ActivatorのHistoバージョンであることを確認しました。

私は、なぜ一部の人々が、すでに存在する別の指標に難解で奇妙な名前を付けることを好むのか理解できません(Gann Hilow Activatorはすでに奇妙で難解な名前ですが・・・)・・・。

TSVのBullish & Bearishはとても面白いと思ったが、これではTSHのBullshit & Bearishの方がいい。

良い一日を、そしてあなたの答えに感謝します。

Zilliq

mrtools:
Zilliqはここにバージョンがあります https://www.forex-tsd.com/forum/debates-discussions/116-something-interesting-please-post-here/page299#comment_679505 ソースコードと。
ファイル:
 

ムラデン

この方法でやってみました。

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // 1つのバーにつき1つのアラート。

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

文字列名 = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1);

else if (ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

else continue; // ラインが見つからない

if ((High[0]>=(line-_distance) && (line+_distance)>=Low[0]))

{

Text = Symbol()+" M "+Period()+" touched S/R @"+Close[0];

Alert(Text)。

Time0 = Time[0]; // もうアラートは出ない。

if (Notification)SendNotification(Text);

}

}

//----

今はリアルタイムの相場がないので、テストできません。しかし、この方法でObjectGetValueByShift()を使うのは理にかなっていると思います。私は現在のバー内のラインタッチを探すだけです。そのため、私は(name,0)を使用しました。

しかし、OBJ_HLINEとOBJ_TRENDを本当に区別しなければならないのかどうか、お聞きしたいのです。ObjectGetValueByShift(name,0) を使用した場合、水平線の値も受け取ることになりますが、間違っていますか?ObjectGet(name, OBJPROP_PRICE1) と ObjectGetValueByShift(name,0) の間には、現在の期間の線の値だけが必要な場合、論理的な違いはないと思われますが、いかがでしょうか。

多分、あなたはそれを少し明確にすることができますか?ありがとうございます!

 
Marbo:
ムラデン

こんな感じでやってみました。

int start()

{

//----

double _distance = pipsDistance*Point*MathPow(10,Digits%2);

if (displayAlert==false) return;

static datetime Time0;

if (Time0 == Time[0]) return; // 1つのバーにつき1つのアラート。

for(int iObj = ObjectsTotal() - 1; iObj >= 0; iObj--)

{

文字列名 = ObjectName(iObj);

if (ObjectType(name) == OBJ_HLINE)

{

line = ObjectGet(name, OBJPROP_PRICE1);

else if (ObjectType(name) == OBJ_TREND)

{

line = ObjectGetValueByShift(name,0);

}

else continue; // ラインが見つからない

if ((High[0]>=(line-_distance) && (line+_distance)>=Low[0]))

{

Text = Symbol()+" M "+Period()+" touched S/R @"+Close[0];

Alert(Text)。

Time0 = Time[0]; // もうアラートは出ない。

if (Notification) SendNotification(Text);

}

}

//----

今はリアルタイムの相場がないので、テストできません。しかし、この方法でObjectGetValueByShift()を使うのは理にかなっていると思います。私は現在のバー内のラインタッチを探すだけです。そのため、私は(name,0)を使用しました。

しかし、OBJ_HLINEとOBJ_TRENDを本当に区別しなければならないのかどうか、お聞きしたいのです。ObjectGetValueByShift(name,0) を使用した場合、水平線の値も受け取ることになりますが、間違っていますか?ObjectGet(name, OBJPROP_PRICE1) と ObjectGetValueByShift(name,0) は、現在の期間の線の値のみが必要な場合、論理的な違いはないと思います。

少しははっきりさせてくれるかな?ありがとうございます!

マー坊

水平線 とトレンド線を区別する必要があるのは、トレンド線が水平線とは異なるタイプのオブジェクトだからです(水平線では価格1の値を読み取れば十分ですが、トレンド線では価格1は価格2と同じである必要はまったくなく、その間の価格とはまったく異なる場合があるのです)。

 

こんにちは。

このインディケータの問題を解決するために、どなたか助けていただけないでしょうか?

mt4のビジュアルテスターでバックテストモードを 有効にすると、mtfモード(M5チャートのH1-H4)では問題なく動作します。

しかし、実際のチャートでは - ラインが遅れています。

ありがとうございます。

mtf_moving_average.mq4

ファイル:
 

ムラデン

そのことは理解しています。あくまで私のシンプルなインジケータの場合ですが。私にとっては、トレンドラインがどこから来て、どこへ行くかは重要 ではありません。私はただ現在のバーでの値が必要なのです。したがって、私はそれをまとめて、両方の線に対してObjectGetValueByShift()のみで作業できないかと尋ねました。

が、しかし、上のコードでやった方法でうまくいくと思いますか?

ありがとうございます!!(笑

 
Marbo:
Mladen

ということは理解できました。あくまで私のシンプルなインジケーターの場合ですが。私にとっては、トレンドラインがどこから来て、どこへ行くかは重要ではありません。私はちょうど現在のバーでそれの値が必要です。したがって、私はそれをまとめて、両方の線に対してObjectGetValueByShift()のみで作業できないかと尋ねました。

が、しかし、上のコードでやった方法でうまくいくのでしょうか?

ありがとうございます。

マーボ

私が見る限りでは、それは動作するはずです

 
cain82:
こんにちは。

このインディケータの問題を解決するために、どなたか助けていただけないでしょうか?

mt4のビジュアルテスターでバックテストモードを 有効にすると、mtfモード(M5チャートのH1-H4)では問題なく動作します。

しかし、実際のチャートでは - ラインが遅れています。

ありがとうございます。

mtf_moving_average.mq4

代わりにこの投稿にあるものを使ってみてください :https://www.mql5.com/en/forum/173574/page239

 
mladen:
代わりにこの投稿にあるものを使ってみてください :https://www.mql5.com/en/forum/173574/page239

ご返信ありがとうございます。

しかし、あなたのインディが異なって動作します。

 
cain82:
ご返信ありがとうございます。 しかし、あなたのインディでは動作が異なります。

はい、正しく動作しているからです。もし、修正すべき点がすべて投稿されたもので行われるなら、それらはまったく同じになります。

よろしくお願いします。