-
【MT4】MQLによる移動平均線インジケーターのプログラミング
投稿日 2020年9月6日 11:00:00 (自動売買)
【動画】MT4のMQLプログラミング超初心者入門
初心者でもできるMT4のMQLプログラミング
まず、前回のソースコード。ローソク足の高値をラインで結ぶ、というものでした。線を1本引いただけで、インジケーターとはいいがたいものでしたので、今回は移動平均線を作ってみます。
前回のソースコードの、チャートが動くたび実行されるOnCalculate関数の中身を、高値のラインから移動平均線へと変えていきます。試しに5日移動平均線を作ってみたいのですが、移動平均線の仕組みはこのようになっています。
移動平均線の計算説明
for分を使う部分の説明
for分を使う部分の説明
高値ラインを引くソースコード
//+------------------------------------------------------------------+
//| ma.mq4 |
//| Copyright 2020, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots 1
//--- plot Label1
#property indicator_label1 "Label1"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrYellow
#property indicator_style1 STYLE_SOLID
#property indicator_width1 3
//--- indicator buffers
double Label1Buffer[];
extern int MA_Period=5;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping
SetIndexBuffer(0,Label1Buffer);
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
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;
int j;
int limit;
if(prev_calculated==0){
limit=rates_total-1;
}
else
{
limit=rates_total-prev_calculated;
}
for(i=limit; i>=0; i--)
{
if(i+MA_Period-1<rates_total)
{
Label1Buffer[i]=0;
for(j=0; j<MA_Period; j++)
{
Label1Buffer[i]=Label1Buffer[i]+Close[i+j];
}
Label1Buffer[i]=Label1Buffer[i]/MA_Period;
}
}
//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+
Source: 【FXブログ】よく当たるFX為替レート予想
最新情報
投稿日 2025年12月13日 22:00:36 (自動売買)
投稿日 2025年12月13日 20:32:53 (自動売買)
投稿日 2025年12月13日 16:55:59 (自動売買)
投稿日 2025年12月11日 20:22:26 (自動売買)
投稿日 2025年12月11日 14:18:26 (自動売買)
投稿日 2025年12月11日 12:28:22 (自動売買)
投稿日 2025年12月11日 12:24:51 (自動売買)
投稿日 2025年12月10日 16:44:38 (自動売買)
投稿日 2025年12月10日 11:59:23 (自動売買)
投稿日 2025年12月10日 11:30:13 (自動売買)
投稿日 2025年12月9日 11:48:44 (自動売買)
投稿日 2025年12月9日 11:33:45 (自動売買)
投稿日 2025年12月9日 11:28:47 (自動売買)
投稿日 2025年12月9日 11:18:18 (自動売買)
投稿日 2025年12月8日 19:17:34 (自動売買)
投稿日 2025年12月8日 18:50:37 (自動売買)
投稿日 2025年12月7日 12:12:27 (自動売買)
投稿日 2025年12月6日 16:34:56 (自動売買)
投稿日 2025年12月6日 12:35:17 (自動売買)
投稿日 2025年12月5日 12:06:44 (自動売買)
投稿日 2025年12月4日 17:42:07 (自動売買)
投稿日 2025年12月4日 11:26:40 (自動売買)
投稿日 2025年12月4日 00:08:07 (自動売買)
投稿日 2025年12月4日 00:03:12 (自動売買)
投稿日 2025年12月3日 23:41:57 (自動売買)
投稿日 2025年12月3日 18:38:06 (自動売買)
投稿日 2025年12月1日 15:08:47 (自動売買)
投稿日 2025年11月30日 17:58:26 (自動売買)
投稿日 2025年11月30日 11:41:54 (自動売買)
投稿日 2025年11月29日 18:00:53 (自動売買)



