为指标添加颜色 - 页 2 1234 新评论 MrChuckW 2011.08.08 17:45 #11 我还没有搞清楚指标缓冲区的问题。 但下面的代码能做到我想要的,显示当前和过去的条形海肯阿西的颜色。 但它没有做的是把它放在一个单独的窗口中,并且只在当前条形下显示。 这可能吗? 还是我仍然需要弄清楚指标的缓冲区? 你面对的是一个非常青涩的新手...谢谢你的耐心。 int start() { ObjectsDeleteAll()。 // 在绘制前清除图表 // 5分钟电流 double open.5.0 =iCustom(NULL,1, "Heiken Ashi",0,2,0); //前次开盘 double close.5.0 =iCustom(NULL,1, "Heiken Ashi",0,3,0); //前次收盘 bool Up.5.0 = (close.5.0>open.5.0); bool Down.5.0 = (close.5.0<open.5.0); //过去5分钟 double open.5.1 =iCustom(NULL,1, "Heiken Ashi",0,2,1); //前次开盘 double close.5.1 =iCustom(NULL,1, "Heiken Ashi",0,3,1); // 前次收盘 bool Up.5.1 = (close.5.1>open.5.1); bool Down.5.1 = (close.5.1<open.5.1); ObjectCreate("square1",OBJ_RECTANGLE, 0, TimeCurrent(), Ask-0.001, 0, Bid-0.001)。 if(Down.5.0 == 1) ObjectSet("square1",OBJPROP_COLOR,Red); ObjectCreate("square1",OBJ_RECTANGLE, 0, TimeCurrent(), Ask-0.001, 0, Bid-0.001)。 if(Down.5.0 == 0) ObjectSet("square1",OBJPROP_COLOR,White); ObjectCreate("square2",OBJ_RECTANGLE, 0, TimeCurrent(), Ask-0.0015, 0, Bid-0.0015); if(Down.5.1 == 1) ObjectSet("square2",OBJPROP_COLOR,Red); ObjectCreate("square2",OBJ_RECTANGLE, 0, TimeCurrent(), Ask-0.0015, 0, Bid-0.0015); if(Down.5.1 == 0) ObjectSet("square2",OBJPROP_COLOR,White); return(0); } Adding Color to an Another Heiken Ashi question Code correct but wrong Simon Gniadkowski 2011.08.08 18:05 #12 请用这个来张贴代码。.这使它更容易阅读。 Simon Gniadkowski 2011.08.08 18:13 #13 mrchuckw: 我还没有搞清楚指标缓冲区的问题。 但下面的代码能做到我想要的,显示当前和过去的条形海肯阿西的颜色。 但它没有做的是把它放在一个单独的窗口中,并且只在当前条形下显示。 这可能吗? 还是我还需要弄清楚指标的缓冲区? 我想你需要在单独的窗口上画一个指示器,以便首先获得窗口,这样你就可以把对象添加到窗口中。 [删除] 2011.08.08 18:24 #14 类似这样的事情 double adUpBuffer[], adDnBuffer[]; //---- indicator colors color cDirection[2]={LimeGreen,FireBrick}; string sDirection[2]={"up", "down"}; int iSquare=110; double dGap=10*Point //+------------------------------------------------------------------+ // Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- drawing settings IndicatorBuffers(2); for(int i=0;i<2;i++){ SetIndexStyle(i,DRAW_ARROW,clrDirection[i]); SetIndexArrow(i,iSquare); SetIndexDrawBegin(i,12); SetIndexLabel(i,sDirection[i]);} //---- 2 indicator buffers mapping SetIndexBuffer(0,adUpBuffer); SetIndexBuffer(1,adDnBuffer); //---- initialization done return(0); } if(Up.5.0) adUpBuffer[i]=Low[i]-dGap; else adDnBuffer[i]=NULL; if(Dn.5.0) adDnBuffer[i]=High[i]+dGap;} else adDnBuffer[i]=NULL;} Simon Gniadkowski 2011.08.08 18:56 #15 我不擅长使用指标......看一下这个,看看它是否能满足你的需要......。 附加的文件: ashi1.mq4 3 kb MrChuckW 2011.08.08 19:22 #16 好的......我正在努力......但你认为我知道的比我多得多。 附上我目前的整个指标程序。 我怎样才能把你的代码放进去? 还是说我要创建一个全新的程序? 我试着把它塞进去,但我无法编译。 它不喜欢双倍 的dGap=10*Point ,即使我在它后面加了一个;。 而且还有一大堆其他的编译错误。 我想我只是太笨了,不知道现在该怎么做。 附加的文件: objects2.mq4 3 kb Simon Gniadkowski 2011.08.08 19:29 #17 mrchuckw: 好的......我正在努力......但你认为我知道的比我多得多。 附上我目前的整个指标程序。 我怎样才能把你的代码放进去? 还是说我要创建一个全新的程序? 我试着把它塞进去,但我无法编译。 它不喜欢双倍 的dGap=10*Point ,即使我在它后面加了一个;。 而且还有一大堆其他的编译错误。 我想我只是太笨了,不知道现在该怎么做。 只要下载我的代码,将其复制到你的MT4目录结构中的指标中。停止并重新启动MT4,然后将指标添加到图表中 ......如果你使用指标缓冲区,你就不会使用对象。 MrChuckW 2011.08.08 19:55 #18 我在哪里可以下载你的代码? 看看我有多蠢? Simon Gniadkowski 2011.08.08 20:00 #19 mrchuckw: 我在哪里可以下载你的代码? 看看我有多蠢? 它附在我的帖子里,就在上面的几个帖子里 . . .ashi1.mq4 MrChuckW 2011.08.08 21:30 #20 这几乎是完美的。 我一直在玩它,而且玩得很开心。 我想我可能已经谋杀了它,但我现在让它把方块放在一个单独的窗口里。 这一部分工作得很完美。 现在... 我不知道如何把所有的方块放在一条完美的线上。 因为,我想在那条线下再放一条线。 我想我能想出办法来......至少我在尝试中会有乐趣。 新线将是一个更大的时间框架。 而第三条线将是另一个更大的时间框架。 这是我玩过你的EA后的样子。 你能告诉我如何把平方放在一条直线上吗。? 谢谢 ps...我已经玩了一段时间了,但我不知道如何获得第二和第三条线,并使它们成为直线。 如果你能帮我解决这个问题,我将不胜感激。 第二个文件是我对第二行的尝试。 附加的文件: ashi1_1.mq4 3 kb ashi1-a.mq4 3 kb 1234 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我还没有搞清楚指标缓冲区的问题。
但下面的代码能做到我想要的,显示当前和过去的条形海肯阿西的颜色。
但它没有做的是把它放在一个单独的窗口中,并且只在当前条形下显示。
这可能吗? 还是我仍然需要弄清楚指标的缓冲区?
你面对的是一个非常青涩的新手...谢谢你的耐心。
int start()
{
ObjectsDeleteAll()。
// 在绘制前清除图表
// 5分钟电流
double open.5.0 =iCustom(NULL,1, "Heiken Ashi",0,2,0); //前次开盘
double close.5.0 =iCustom(NULL,1, "Heiken Ashi",0,3,0); //前次收盘
bool Up.5.0 = (close.5.0>open.5.0);
bool Down.5.0 = (close.5.0<open.5.0);
//过去5分钟
double open.5.1 =iCustom(NULL,1, "Heiken Ashi",0,2,1); //前次开盘
double close.5.1 =iCustom(NULL,1, "Heiken Ashi",0,3,1); // 前次收盘
bool Up.5.1 = (close.5.1>open.5.1);
bool Down.5.1 = (close.5.1<open.5.1);
ObjectCreate("square1",OBJ_RECTANGLE, 0, TimeCurrent(), Ask-0.001, 0, Bid-0.001)。
if(Down.5.0 == 1) ObjectSet("square1",OBJPROP_COLOR,Red);
ObjectCreate("square1",OBJ_RECTANGLE, 0, TimeCurrent(), Ask-0.001, 0, Bid-0.001)。
if(Down.5.0 == 0) ObjectSet("square1",OBJPROP_COLOR,White);
ObjectCreate("square2",OBJ_RECTANGLE, 0, TimeCurrent(), Ask-0.0015, 0, Bid-0.0015);
if(Down.5.1 == 1) ObjectSet("square2",OBJPROP_COLOR,Red);
ObjectCreate("square2",OBJ_RECTANGLE, 0, TimeCurrent(), Ask-0.0015, 0, Bid-0.0015);
if(Down.5.1 == 0) ObjectSet("square2",OBJPROP_COLOR,White);
return(0);
}
请用这个来张贴代码。.这使它更容易阅读。
我还没有搞清楚指标缓冲区的问题。
但下面的代码能做到我想要的,显示当前和过去的条形海肯阿西的颜色。
但它没有做的是把它放在一个单独的窗口中,并且只在当前条形下显示。
这可能吗? 还是我还需要弄清楚指标的缓冲区?
类似这样的事情
我不擅长使用指标......看一下这个,看看它是否能满足你的需要......。
好的......我正在努力......但你认为我知道的比我多得多。
附上我目前的整个指标程序。 我怎样才能把你的代码放进去? 还是说我要创建一个全新的程序?
我试着把它塞进去,但我无法编译。 它不喜欢双倍 的dGap=10*Point ,即使我在它后面加了一个;。
而且还有一大堆其他的编译错误。 我想我只是太笨了,不知道现在该怎么做。
好的......我正在努力......但你认为我知道的比我多得多。
附上我目前的整个指标程序。 我怎样才能把你的代码放进去? 还是说我要创建一个全新的程序?
我试着把它塞进去,但我无法编译。 它不喜欢双倍 的dGap=10*Point ,即使我在它后面加了一个;。
而且还有一大堆其他的编译错误。 我想我只是太笨了,不知道现在该怎么做。
我在哪里可以下载你的代码?
看看我有多蠢?
我在哪里可以下载你的代码?
看看我有多蠢?
这几乎是完美的。 我一直在玩它,而且玩得很开心。
我想我可能已经谋杀了它,但我现在让它把方块放在一个单独的窗口里。
这一部分工作得很完美。 现在... 我不知道如何把所有的方块放在一条完美的线上。
因为,我想在那条线下再放一条线。 我想我能想出办法来......至少我在尝试中会有乐趣。
新线将是一个更大的时间框架。 而第三条线将是另一个更大的时间框架。
这是我玩过你的EA后的样子。 你能告诉我如何把平方放在一条直线上吗。?
谢谢
ps...我已经玩了一段时间了,但我不知道如何获得第二和第三条线,并使它们成为直线。
如果你能帮我解决这个问题,我将不胜感激。 第二个文件是我对第二行的尝试。