今のローソク、何pips?をチャート上に表示させたい!
FX
こんにちは。ちょびっとfxです。
さて、タイトル通りですが、EAつくーるで出力されたソースコードを基に、現在のローソクが何pipsくらい動いているか見えるものを作ってみました。
データ表示で確認するのって空目してしまってヤダなーってときに便利です。
ざっくり説明すると、EAつくーるの条件設定にある「ローソク構成足(ヒゲ)」を利用します。
EAつくーるで適当な条件で作ったファイルの中にある、下記の関数を使います。
//--------------------------------------------------------------------------------------------------------+
//ローソク足の構成要素(ヒゲ)算出処理
// 処理:入力されたローソク足の構成要素を算出する処理
// 引数:通貨ペア,時間足,ローソク足の位置,ローソク足の構成(0:上ヒゲ,1:実体,2:下ヒゲ,3:値幅)
// 戻り値:指定したローソク足の構成から算出したpips
//--------------------------------------------------------------------------------------------------------+
double getCandleStickPips(string symbol, int period, int shift, int hige)
{
int digits = (int)MarketInfo(symbol, MODE_DIGITS);
double open = iOpen(symbol,period,shift);
double close = iClose(symbol,period,shift);
double high = iHigh(symbol,period,shift);
double low = iLow(symbol,period,shift);
// 陽線の場合
if (open < close) {
if (hige == 0) {
return (NormalizeDouble(PriceToPips(MathAbs(high - close)), digits));
}
else if (hige == 1) {
return (NormalizeDouble(PriceToPips(MathAbs(close - open)), digits));
}
else if (hige == 2) {
return (NormalizeDouble(PriceToPips(MathAbs(open - low)), digits));
}
else if (hige == 3) {
return (NormalizeDouble(PriceToPips(MathAbs(high - low)), digits));
}
else {
return (NormalizeDouble(PriceToPips(MathAbs(high - close)), digits));
}
}
// 陰線の場合
else {
if (hige == 0) {
return (NormalizeDouble(PriceToPips(MathAbs(high - open)), digits));
}
else if (hige == 1) {
return (NormalizeDouble(PriceToPips(MathAbs(open - close)), digits));
}
else if (hige == 2) {
return (NormalizeDouble(PriceToPips(MathAbs(close - low)), digits));
}
else if (hige == 3) {
return (NormalizeDouble(PriceToPips(MathAbs(high - low)), digits));
}
else {
return (NormalizeDouble(PriceToPips(MathAbs(high - open)), digits));
}
}
return 0;
}
チャート上に表示したいので、「OnTick()」内に「Comment」
void OnTick()
{
Comment(
"\n",
"\n 現在のローソク足:", getCandleStickPips(Symbol(), 0, 0, 3),
"\n 1本前のローソク足:", getCandleStickPips(Symbol(), 0, 1, 3),
"\n"
);
}出来上がり。
どうですか?簡単でしょ。
EAつくーるのエンジンさん、本当に素敵な関数を用意くださる。
ではまた。
ファイルDLは下記より。
×![]()
ใช่ไหม?