*

【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】ThreeTrader で新たなタイプの口座を開いてみる

以前の記事「ThreeTrader という FX業者」で書きましたが、ThreeTrader は な

記事を読む

過去検証

いきなり「過去検証」という言葉を聞くとドキッとする方がおられるかもしれませんが、FX や株で過去の相

記事を読む

【FX】MT4 build1420 の不具合(2)

以前の記事「【FX】MT4 build1420 の不具合」の続きです。 前回の記事へのコメント

記事を読む

【FX】2024年2月集計

現在運用中の FX口座の2024年2月中の運用成績です。 1336.63$+153568円(と

記事を読む

【FX】EA詐欺について

EA詐欺という言葉を聞いたことがないでしょうか。 EA とは自動売買プログラムのこと。

記事を読む

ラテ・マネーを惜しみましょう

ラテ・マネーとはコーヒーのラテを買うくらいの些細な金額のこと。 対象はコーヒーとは限らず、少額

記事を読む

FXトレードの利益

トレードにおける利益 FX に限りませんが、勝率を βとすると、負ける確率は(1-β)ですね。

記事を読む

【FX】驚きの EA かも

以前、他人に譲った仕事(遠隔画像診断)が先月から2つほど帰ってきまして、最近夕方からの時間がそれらに

記事を読む

【FX】ForexTrend というインジケーター(2)

昨日の続きで、ForexTrend というインジケーターの話です。 ForexTrend という一

記事を読む

QYLD が有望?

3年以上前に書いた記事「ロト7で4億円当選した男の話」で QYLD という米国高配当 ETF の話を

記事を読む

Message

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

【FX】MT4からMT5へ

MetaTrader4(MT4)と MetaTrader5(MT5)と

【FX】AXI Select インキュベーションステージ最初の報酬

ひさびさに プロップファームの AXI Select のお話です。

イシバの功績

高市総理がすごい成果を上げている。 マスコミはなぜトランプを非難

米国債20年超プレミアムインカムETF(453A)

また面白い高配当ETF を見つけました。米国債20年超プレミアムインカ

WCM 世界成長株厳選ファンド(予想分配金提示型)【愛称】ネクスト・ジェネレーション(2)

以前紹介した「WCM 世界成長株厳選ファンド(予想分配金提示型)【愛称

→もっと見る

  • 2026年5月
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
  • アクセスカウンター
PAGE TOP ↑