请对我的帖子作出回应。
我需要你的帮助。
试图打印的箭头,但都无济于事。
请帮助解决。
这些是下面的代码。
#property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Green #property indicator_color2 Red extern bool Alerts=TRUE; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { return (0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int deinit() { return (0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if(Alerts==TRUE) { if(Close[4]>Open[4] && Close[3]>Open[3] && Close[2]>Open[2] && Close[1]<Open[2]) { string SELLSIGNAL="SELLSIGNAL"+(string)Time[1]; if(ObjectFind(0,SELLSIGNAL)!=0) { ObjectCreate(SELLSIGNAL,OBJ_ARROW_DOWN,0,Time[1],Low[1]-(Period()*Point*2)); ObjectSet(SELLSIGNAL,OBJPROP_WIDTH,5); ObjectSet(SELLSIGNAL,OBJPROP_ARROWCODE,242); ObjectSet(SELLSIGNAL,OBJPROP_COLOR,Red); ObjectSetInteger(0,SELLSIGNAL,OBJPROP_ANCHOR,ANCHOR_TOP); } else if(Close[4]<Open[4] && Close[3]<Open[3] && Close[2]<Open[2] && Close[1]>Open[2]) { string BUYSIGNAL="BUYSIGNAL"+(string)Time[1]; if(ObjectFind(0,BUYSIGNAL)!=0) { ObjectCreate(BUYSIGNAL,OBJ_ARROW_UP,0,Time[1],High[1]+(Period()*Point*2)); ObjectSet(BUYSIGNAL,OBJPROP_COLOR,clrBlue); ObjectSet(SELLSIGNAL,OBJPROP_ARROWCODE,241); ObjectSet(BUYSIGNAL,OBJPROP_WIDTH,10); ObjectSetInteger(0,BUYSIGNAL,OBJPROP_ANCHOR,ANCHOR_BOTTOM); } } } } //---- return(0); } //+------------------------------------------------------------------+
使用。
//+------------------------------------------------------------------+ //| ProjectName | //| Copyright 2012, CompanyName | //| http://www.companyname.net | //+------------------------------------------------------------------+ #property indicator_chart_window #property indicator_color1 Green #property indicator_color2 Red extern bool Alerts=TRUE; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { return (0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int deinit() { return (0); } //+------------------------------------------------------------------+ //| expert start 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[]) { //---- if(Alerts==TRUE) { if(Close[4]>Open[4] && Close[3]>Open[3] && Close[2]>Open[2] && Close[1]<Open[2]) { string SELLSIGNAL="SELLSIGNAL"+(string)Time[1]; if(ObjectFind(0,SELLSIGNAL)!=0) { ObjectCreate(SELLSIGNAL,OBJ_ARROW_DOWN,0,Time[1],Low[1]); ObjectSet(SELLSIGNAL,OBJPROP_WIDTH,5); ObjectSet(SELLSIGNAL,OBJPROP_ARROWCODE,242); ObjectSet(SELLSIGNAL,OBJPROP_COLOR,Red); ObjectSetInteger(0,SELLSIGNAL,OBJPROP_ANCHOR,ANCHOR_TOP); } else if(Close[4]<Open[4] && Close[3]<Open[3] && Close[2]<Open[2] && Close[1]>Open[2]) { string BUYSIGNAL="BUYSIGNAL"+(string)Time[1]; if(ObjectFind(0,BUYSIGNAL)!=0) { ObjectCreate(BUYSIGNAL,OBJ_ARROW_UP,0,Time[1],High[1]); ObjectSet(BUYSIGNAL,OBJPROP_COLOR,clrBlue); ObjectSet(SELLSIGNAL,OBJPROP_ARROWCODE,241); ObjectSet(BUYSIGNAL,OBJPROP_WIDTH,10); ObjectSetInteger(0,BUYSIGNAL,OBJPROP_ANCHOR,ANCHOR_BOTTOM); } } } } //---- return(prev_calculated); } //+------------------------------------------------------------------+
图片。
我的条件是检查至少3个连续的看涨/看跌的蜡烛,并等待看涨/看跌的蜡烛来吞噬它。一旦吞噬蜡烛在连续蜡烛的最后一个下面/上面关闭,它应该弹出警报并打印/画出箭头。
谢谢你的回答,一旦满足条件,就像下面的附图 一样,它应该在吞噬蜡烛的信号条下面/上面打印/画箭头。
附加的文件:
DRAWN_ARROW.JPG
15 kb
印象非常深刻,先生,事实上我真的很感激。
但有一点,它是这样的。我在下面附上了2张图片,第一张是1穆尼特时间框架。因此,该指标在1穆尼特时间框架中打印正确的信号,我切换到15穆尼特时间框架,那些在1穆尼特时间框架中打印的箭头出现在15穆尼特时间框架中,这不是应该的,先生。
如果这个问题能得到解决,我将非常高兴。
附加的文件:
1MSIGNAL.JPG
147 kb
15MSIGNAL.JPG
143 kb
请我如何在下面的代码中显示买入和卖出的箭头,请有人帮助我。
for (int i = 5; i > 1; i--)
{
if(Close[i] > Open[i]) { COUNT = COUNT + 1; }
else{ COUNT = COUNT - 1; }}
如果(EnableBB==True)
{
如果(COUNT == 4 && Close[1] < Open[1])
{ BUYARROW }}
如果(EnableBB==True)
{
if (COUNT == -4 && Close[1] > Open[1])
{ SELLARROW }
}