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
Nhật Ký Giao Dịch Thực Chiến của Phù Thủy Thị trường Tài Chính
Sách chia sẻ 05 tháng giao dịch thực tế trên thị trường tài chính, sử dụng Price Action và Mô hình Biểu đồ của Phù thủy trader Peter Brandt, người có gần 50 năm kinh nghiệm trading và đạt lợi nhuận bình quân 68% lợi nhuận mỗi năm
Bài viết liên quan