Kien888288528
New Member
- 1
- 0
Chào cả nhà, em cũng đua đòi code mà lỗi ko chạy, ai đó giúp em với
em code chỉ báo vẽ màu cho spanb ichimoku: khi trend tăng thì vẽ màu xanh, trend tăng là close > tenkan, kịjun,spana, spanb tất cả ở quá khứ, close > spana, spanb ở hiện tại và spana tương lai > spanb tương lai:
#include <Indicators/Trend.mqh>
CiIchimoku* Ichimoku;
//--- indicator settings
#property indicator_chart_window
#property indicator_buffers 9
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 LimeGreen
#property indicator_width1 2
double sp1tl[];
double sp2tl[];
double trendtang[];
double tenqk[];
double kijqk[];
double sp1ht[];
double sp2ht[];
double sp1qk[];
double sp2qk[];
void OnInit()
{
Ichimoku = new CiIchimoku();
Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
SetIndexBuffer(0,trendtang,INDICATOR_DATA);
SetIndexBuffer(1,sp1tl,INDICATOR_DATA);
SetIndexBuffer(2,sp2tl,INDICATOR_DATA);
SetIndexBuffer(3,tenqk,INDICATOR_DATA);
SetIndexBuffer(4,kijqk,INDICATOR_DATA);
SetIndexBuffer(5,sp1ht,INDICATOR_DATA);
SetIndexBuffer(6,sp2ht,INDICATOR_DATA);
SetIndexBuffer(7,sp1qk,INDICATOR_DATA);
SetIndexBuffer(8,sp2qk,INDICATOR_DATA);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);
//--- sets first bar from what index will be drawn
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,51);
//--- lines shifts when drawing
PlotIndexSetInteger(0,PLOT_SHIFT,25);
}
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 start;
//---
if(prev_calculated==0)
start=0;
else
start=prev_calculated-1;
//--- main loop
for(int i=start; i<rates_total && !IsStopped(); i++)
{
MqlRates PArray[];
int Data=CopyRates(_Symbol,_Period,0,1,PArray);
Ichimoku.Refresh(-1);
double spanAtl= Ichimoku.SenkouSpanA(0);
double spanBtl= Ichimoku.SenkouSpanB(0);
double spanAht= Ichimoku.SenkouSpanA(-25);
double spanBht= Ichimoku.SenkouSpanB(-25);
double spanAqk= Ichimoku.SenkouSpanA(-51);
double spanBqk= Ichimoku.SenkouSpanB(-51);
double tenkanqk= Ichimoku.TenkanSen(-25);
double kijunqk= Ichimoku.KijunSen(-25);
sp1tl=spanAtl;
sp2tl=spanBtl;
tenqk=tenkanqk;
kijqk=kijunqk;
sp1ht=spanAht;
sp2ht=spanBht;
sp1qk=spanAqk;
sp2qk=spanBqk;
if(
sp1tl>=sp2tl
&& close>tenqk
&& close>kijqk
&& close>sp1ht
&& close>sp2ht
&& close>sp1qk
&& close>sp2qk
)
{
trendtang=sp2tl;
}
else
{
trendtang=EMPTY_VALUE;
}
}
//---
return(rates_total);
}
Đây là file của em, nhơ mọi người sửa giúp em ạ
em code chỉ báo vẽ màu cho spanb ichimoku: khi trend tăng thì vẽ màu xanh, trend tăng là close > tenkan, kịjun,spana, spanb tất cả ở quá khứ, close > spana, spanb ở hiện tại và spana tương lai > spanb tương lai:
#include <Indicators/Trend.mqh>
CiIchimoku* Ichimoku;
//--- indicator settings
#property indicator_chart_window
#property indicator_buffers 9
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#property indicator_color1 LimeGreen
#property indicator_width1 2
double sp1tl[];
double sp2tl[];
double trendtang[];
double tenqk[];
double kijqk[];
double sp1ht[];
double sp2ht[];
double sp1qk[];
double sp2qk[];
void OnInit()
{
Ichimoku = new CiIchimoku();
Ichimoku.Create(_Symbol,PERIOD_CURRENT,9,26,52);
SetIndexBuffer(0,trendtang,INDICATOR_DATA);
SetIndexBuffer(1,sp1tl,INDICATOR_DATA);
SetIndexBuffer(2,sp2tl,INDICATOR_DATA);
SetIndexBuffer(3,tenqk,INDICATOR_DATA);
SetIndexBuffer(4,kijqk,INDICATOR_DATA);
SetIndexBuffer(5,sp1ht,INDICATOR_DATA);
SetIndexBuffer(6,sp2ht,INDICATOR_DATA);
SetIndexBuffer(7,sp1qk,INDICATOR_DATA);
SetIndexBuffer(8,sp2qk,INDICATOR_DATA);
IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);
//--- sets first bar from what index will be drawn
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,51);
//--- lines shifts when drawing
PlotIndexSetInteger(0,PLOT_SHIFT,25);
}
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 start;
//---
if(prev_calculated==0)
start=0;
else
start=prev_calculated-1;
//--- main loop
for(int i=start; i<rates_total && !IsStopped(); i++)
{
MqlRates PArray[];
int Data=CopyRates(_Symbol,_Period,0,1,PArray);
Ichimoku.Refresh(-1);
double spanAtl= Ichimoku.SenkouSpanA(0);
double spanBtl= Ichimoku.SenkouSpanB(0);
double spanAht= Ichimoku.SenkouSpanA(-25);
double spanBht= Ichimoku.SenkouSpanB(-25);
double spanAqk= Ichimoku.SenkouSpanA(-51);
double spanBqk= Ichimoku.SenkouSpanB(-51);
double tenkanqk= Ichimoku.TenkanSen(-25);
double kijunqk= Ichimoku.KijunSen(-25);
sp1tl=spanAtl;
sp2tl=spanBtl;
tenqk=tenkanqk;
kijqk=kijunqk;
sp1ht=spanAht;
sp2ht=spanBht;
sp1qk=spanAqk;
sp2qk=spanBqk;
if(
sp1tl>=sp2tl
&& close>tenqk
&& close>kijqk
&& close>sp1ht
&& close>sp2ht
&& close>sp1qk
&& close>sp2qk
)
{
trendtang=sp2tl;
}
else
{
trendtang=EMPTY_VALUE;
}
}
//---
return(rates_total);
}
Đây là file của em, nhơ mọi người sửa giúp em ạ
Giới thiệu sách Trading hay
Mô Hình Biểu Đồ - Phương Pháp Hiệu Quả Để Tìm Kiếm Lợi Nhuận
Được xem là cẩm nang về mô hình biểu đồ của các nhà đầu tư, giao dich tài chính toàn cầu và là kiến thức bắt buộc phải nắm về Phân Tích Kỹ Thuật
Bài viết liên quan