ここから本文です

MQLを勉強しています。 1つ前のバーのヒゲが実体より2倍付いたら アローを表示さ...

hid********さん

2019/3/217:44:29

MQLを勉強しています。
1つ前のバーのヒゲが実体より2倍付いたら
アローを表示させたいのでが
どなたかわかる方アドバイスをもらえないでしょうか。
お願いします。

閲覧数:
82
回答数:
1

違反報告

ベストアンサーに選ばれた回答

2019/3/418:14:49

たまたま見たのでササっと組んでみました。上記の条件には合致しますが、恐らく貴方の意図する物とは違うと思うので、後は、これを参考にして改変してください。

#property copyright "Copyright (c) 2019, IKA"
#property link ""
#property version "1.01"

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 clrYellow
#property indicator_color2 clrAqua

double Up[];
double Down[];
//-----------
int init()
{
SetIndexStyle(0, DRAW_ARROW, EMPTY,3);
SetIndexArrow(0, 233);
SetIndexBuffer(0, Up);
SetIndexStyle(1, DRAW_ARROW, EMPTY,3);
SetIndexArrow(1, 234);
SetIndexBuffer(1, Down);

return(0);
}
//------------
int deinit()
{
return(0);
}
//------------
int start()
{
int limit, i;
int counted_bars = IndicatorCounted();
double uehige = 0;
double shitahige = 0;
double jittai = 0;

if(counted_bars<0) return(-1);

if(counted_bars>0) counted_bars--;

limit = Bars - counted_bars;

for(i = 0; i <= limit; i++)
{
jittai = MathAbs(Open[i+1] - Close[i+1]); // 実体の絶対値

if(Open[i+1] > Close[i+1]) // 陰線なら
{
uehige = High[i+1] - Open[i+1];
shitahige = Close[i+1] - Low[i+1];
}
else if(Open[i+1] < Close[i+1]) // 陽線なら
{
uehige = High[i+1] - Close[i+1];
shitahige = Open[i+1] - Low[i+1];
}

if(jittai * 2 <= uehige)
{
Down[i+1] = High[i+1];
}

if(jittai * 2 <= shitahige)
{
Up[i+1] = Low[i+1];
}

}

return(0);
}

質問した人からのコメント

2019/3/4 20:58:21

一からわざわざありがとうございます。
上記のものを使わせていただきまして
納得のいくものに改造させていただきます。
本当にありがとうございました。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる