*

【FX】アンディさんのリアルタイム雲 (3)

公開日: : 最終更新日:2019/09/15 マネー

最強の「FX理論」を君たちに教えたい
アンディ
扶桑社
売り上げランキング: 384,795

今週の FX トレードは火曜日以降は値動きがあまりなかった(ユーロ爆下げを除く)ので参加していませんでした。

ようやく メタエディタが使えるようになったので、以前作った EAの点検をしていたのですが、最近の相場にはうまく適応できていないものが多いことにショック。トランプのツィッター爆弾の影響でしょうか。

また作り直しですね。

ということで、今週はカンを取り戻すのと新作 EAのネタ探しをかねて、以前買った FX 本を読み込むことにしていました。

上の本を読んで、最後に独自インジケーターをダウンロードしようと所定のサイトにいったら、すでにダウンロード期間は終了していました。

ということで自作することに。

リアルタイム雲だけは以前に作ったので、今回はダブル遅行線も組み込んでみました

もちろん最初から作るのはめんどくさいので、公式の一目均衡表インジケーターのソースプログラムを改変しました。

通常の一目均衡表(公式インジケーター)

アンディさんのリアルタイム雲+W遅行線(改変したもの)

リアルタイム雲のほうが先行スパン2(と基準線)がレジスタンスとして機能しやすいのがよくわかります。

詳しい使い方は上記の本(いい本です)を御覧ください。

プログラムソース

//+——————————————————————+
//|                                               Ichimoku_Andy2.mq4 |
//|   一目均衡表(改)  Andyさんのダブル遅行線+リアルタイム雲                  |
//|                                              http://yiwasaki.com |
//+——————————————————————+
#property description “Ichimoku Kinko Hyo with Real-time cloud & W-chikousen by Andy”
#property strict

#property indicator_chart_window
#property indicator_buffers 8 // 7 から変更

#property indicator_color1 Red          // Tenkan-sen
#property indicator_color2 Blue         // Kijun-sen
#property indicator_color3 SandyBrown   // Up Kumo
#property indicator_color4 Thistle      // Down Kumo
#property indicator_color8 Yellow         // Chikou Span2(追加)色は Lime から変更
#property indicator_color5 Yellow         // Chikou Span  色は Lime から変更
#property indicator_color6 SandyBrown   // Up Kumo bounding line
#property indicator_color7 Thistle      // Down Kumo bounding line
//— input parameters
input int InpTenkan=9;   // Tenkan-sen
input int InpKijun=26;   // Kijun-sen
input int InpSenkou=52;  // Senkou Span B
//— buffers
double ExtTenkanBuffer[];
double ExtKijunBuffer[];
double ExtSpanA_Buffer[];
double ExtSpanB_Buffer[];
double ExtChikouBuffer[];
double ExtChikouBuffer2[]; // Chikou Span2(追加)
double ExtSpanA2_Buffer[];
double ExtSpanB2_Buffer[];
//—
int    ExtBegin;
//+——————————————————————+
//| Custom indicator initialization function                         |
//+——————————————————————+
void OnInit(void)
{
IndicatorDigits(Digits);
//—
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtTenkanBuffer);
SetIndexDrawBegin(0,InpTenkan-1);
SetIndexLabel(0,”Tenkan Sen”);
//—
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtKijunBuffer);
SetIndexDrawBegin(1,InpKijun-1);
SetIndexLabel(1,”Kijun Sen”);
//—
ExtBegin=InpKijun;
if(ExtBegin<InpTenkan)
ExtBegin=InpTenkan;
//—
SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_DOT);
SetIndexBuffer(2,ExtSpanA_Buffer);
SetIndexDrawBegin(2,InpKijun+ExtBegin-1);
//   SetIndexShift(2,InpKijun); // リアルタイムなのでずらさない
SetIndexLabel(2,NULL);
SetIndexStyle(5,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(5,ExtSpanA2_Buffer);
SetIndexDrawBegin(5,InpKijun+ExtBegin-1);
//   SetIndexShift(5,InpKijun); // リアルタイムなのでずらさない
SetIndexLabel(5,”Senkou Span A”);
//—
SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_DOT);
SetIndexBuffer(3,ExtSpanB_Buffer);
SetIndexDrawBegin(3,InpKijun+InpSenkou-1);
//   SetIndexShift(3,InpKijun); // リアルタイムなのでずらさない
SetIndexLabel(3,NULL);
SetIndexStyle(6,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(6,ExtSpanB2_Buffer);
SetIndexDrawBegin(6,InpKijun+InpSenkou-1);
//   SetIndexShift(6,InpKijun); // リアルタイムなのでずらさない
SetIndexLabel(6,”Senkou Span B”);
//—
SetIndexStyle(4,DRAW_LINE);
SetIndexBuffer(4,ExtChikouBuffer);
SetIndexShift(4,-InpKijun);
SetIndexLabel(4,”Chikou Span”);

SetIndexStyle(7,DRAW_LINE); // Chikou Span2(追加)
SetIndexBuffer(7,ExtChikouBuffer2); // Chikou Span2(追加)
SetIndexShift(7,-InpSenkou); // Chikou Span2(追加と値の変更)
SetIndexLabel(7,”Chikou Span 2″); // Chikou Span2(追加)
//— initialization done
}
//+——————————————————————+
//| Ichimoku Kinko Hyo                                               |
//+——————————————————————+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int    i,k,pos;
double high_value,low_value;
//—
if(rates_total<=InpTenkan || rates_total<=InpKijun || rates_total<=InpSenkou)
return(0);
//— counting from 0 to rates_total
ArraySetAsSeries(ExtTenkanBuffer,false);
ArraySetAsSeries(ExtKijunBuffer,false);
ArraySetAsSeries(ExtSpanA_Buffer,false);
ArraySetAsSeries(ExtSpanB_Buffer,false);
ArraySetAsSeries(ExtChikouBuffer,false);
ArraySetAsSeries(ExtChikouBuffer2,false); // Chikou Span2(追加)
ArraySetAsSeries(ExtSpanA2_Buffer,false);
ArraySetAsSeries(ExtSpanB2_Buffer,false);
ArraySetAsSeries(open,false);
ArraySetAsSeries(high,false);
ArraySetAsSeries(low,false);
ArraySetAsSeries(close,false);
//— initial zero
if(prev_calculated<1)
{
for(i=0; i<InpTenkan; i++)
ExtTenkanBuffer[i]=0.0;
for(i=0; i<InpKijun; i++)
ExtKijunBuffer[i]=0.0;
for(i=0; i<ExtBegin; i++)
{
ExtSpanA_Buffer[i]=0.0;
ExtSpanA2_Buffer[i]=0.0;
}
for(i=0; i<InpSenkou; i++)
{
ExtSpanB_Buffer[i]=0.0;
ExtSpanB2_Buffer[i]=0.0;
}
}
//— Tenkan Sen
pos=InpTenkan-1;
if(prev_calculated>InpTenkan)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
high_value=high[i];
low_value=low[i];
k=i+1-InpTenkan;
while(k<=i)
{
if(high_value<high[k])
high_value=high[k];
if(low_value>low[k])
low_value=low[k];
k++;
}
ExtTenkanBuffer[i]=(high_value+low_value)/2;
}
//— Kijun Sen
pos=InpKijun-1;
if(prev_calculated>InpKijun)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
high_value=high[i];
low_value=low[i];
k=i+1-InpKijun;
while(k<=i)
{
if(high_value<high[k])
high_value=high[k];
if(low_value>low[k])
low_value=low[k];
k++;
}
ExtKijunBuffer[i]=(high_value+low_value)/2;
}
//— Senkou Span A
pos=ExtBegin-1;
if(prev_calculated>ExtBegin)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
ExtSpanA_Buffer[i]=(ExtKijunBuffer[i]+ExtTenkanBuffer[i])/2;
ExtSpanA2_Buffer[i]=ExtSpanA_Buffer[i];
}
//— Senkou Span B
pos=InpSenkou-1;
if(prev_calculated>InpSenkou)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
high_value=high[i];
low_value=low[i];
k=i+1-InpSenkou;
while(k<=i)
{
if(high_value<high[k])
high_value=high[k];
if(low_value>low[k])
low_value=low[k];
k++;
}
ExtSpanB_Buffer[i]=(high_value+low_value)/2;
ExtSpanB2_Buffer[i]=ExtSpanB_Buffer[i];
}
//— Chikou Span
pos=0;
if(prev_calculated>1)
pos=prev_calculated-1;
for(i=pos; i<rates_total; i++)
{
ExtChikouBuffer[i]=close[i];
ExtChikouBuffer2[i]=close[i]; // Chikou Span2(追加)
}
//—
return(rates_total);
}
//+——————————————————————+

インジケーター(コンパイル済み)

Ichimoku_Andy2

関連記事

###

関連記事

FX に対する向き合い方

外国為替取引(FX)に対する私の認識です。 個人の意見なので気に入らない人は無視してください。

記事を読む

[FX] 2本の移動平均線を使ったシンプルな EA

あるブログの記事「移動平均線クロスでエントリーするEA(フリーEA)」を読んで、「よし久々に作ってみ

記事を読む

[FX]通貨ペア毎の順バリ・逆バリの時間割(2014年度)

以前の記事 「超シンプルな自動売買プログラム(12) 前週の平均値と逆張り 時間特性」、「超シン

記事を読む

[FX] VQ をエントリートリガーにした自動売買プログラム ysVQ03a.ex4

魔法のインジケーター VQ をエントリーのトリガーに使ったものは今までも結構作ってきたのですが、VQ

記事を読む

【かんたん図解】しっかり儲けるFX入門 / 今井 雅人 酒匂 隆雄

【かんたん図解】しっかり儲けるFX入門 今井 雅人/酒匂 隆雄 日本実業出版

記事を読む

BBW フィルタの使い方 / 決済編

BBW フィルタの2つめの使い方として、急騰あるいは急落後に ちゃぶついたときの決済というのを挙

記事を読む

【FX】なつかしの Vulkan Profit インジケーター

Vulkan Profit というインジケーターは有名なので大昔から知っているのですが、そのロジック

記事を読む

[FX] タイムフィルタについてのまとめ

タイムフィルタ開発の経緯 タイムフィルタは私の造語です。 以前、時刻をトリガーにした「時の旅

記事を読む

1/8 イラン、アメリカ基地にミサイル攻撃

3日前の 1/8 朝にイランが報復としてアメリカ基地にミサイル攻撃をしかけたときにドル円がド

記事を読む

みんなで大破さん

「みんなで大家さん」というあやしいスキームが問題になっています。 不動産開発に出資して利益を分配す

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

新宿中村屋 中村屋 インドカリー ビーフスパイシー 200g

ボースゆかりのインドカレーで有名な新宿中村屋。 本日昼はインドカ

頭寒足熱

仕事部屋はまだ暖房を入れていません。 着る毛布と指先をカットした

ウエスタンデジタルHDD Ultrastar 14TB フォーマット

アマゾンで買った ウエスタンデジタルのハードディスク Ultras

五木食品・マルタイ 瀬戸内レモンとんこつラーメン

五木食品・マルタイ 棒ラーメン(乾めん)選べる

生成AI投資の教科書 / ジョン・シュウギョウ

★★★★☆ 生成AI を投資(主に株式)のアドバイザーとして

→もっと見る

  • アクセスカウンター
PAGE TOP ↑