KimIV的有用功能 - 页 96 1...8990919293949596979899100101102103...128 新评论 Mazepa 2009.12.26 20:03 #951 KimIV >> : 你不需要添加任何东西...它已经在排队了。 非常感谢您! 你的主题是互联网上的一个宝藏。 我对我发现的东西爱不释手。 Mazepa 2009.12.27 10:36 #952 KimIV >> : 你不需要添加任何东西...它已经在排队了。 我想问问伊戈尔和每一个经常在这个话题中写作的人。我浏览了分支,没有找到确定趋势角度的函数。 你有没有一个函数可以确定15分钟图上6个或更多烛台的趋势角度? Леонид 2010.01.06 13:54 #953 是否有任何功能可以让你扣动(扳机)? 概况 模板 ??? Victor Nikolaev 2010.01.06 18:03 #954 mazepa писал(а)>> 我想问问伊戈尔和每一个经常在这个话题中写作的人。我看了一下分支,没有找到确定趋势角度的函数。 你是否有一个函数可以确定15分钟的蜡烛在6个或更多蜡烛上的趋势角度? 我们可以不谈角度,而是谈价格的变化率 [删除] 2010.01.07 16:59 #955 问候!谢谢你的工作,你做得很好。 我正在制作一个指标,但EquationDirect函数有时会错误地计算出交叉点:( 我已经在我的图表上计算出了线条的点,并将它们附在测试指标中,以使其清晰明了。该函数不能正确计算有偏移的交点,即在某些角度,函数中的公式不合适,需要以某种方式纠正,所以当它发生时,将由不同的公式进行计算IMHO #define CPR "DECIDE" #define mName "Signal" #property indicator_chart_window extern int SignalBars=30; // кол-во баров для сигнала extern int TrendBars=300; // кол-во баров для т. линий extern color CostMaxColor=FireBrick; // цвет максимальной цены extern color CostMinColor=SteelBlue; // цвет минимальной цены extern color VLineColor=DarkSlateGray; // цвет минимальной цены extern color TrendColor=Gray; // цвет трендовых линий extern color OrderColor=Green; // цвет сигнала ордера extern color LabelColor=Navy; // цвет меток // Инициализация - функция начальных установок int init(){ if(!IsDemo())return(0); if( SignalBars<30) SignalBars=30; } // ДеИнициализация - функция завершения работы int deinit(){ ObjectDelete("UpTrend"); ObjectDelete("DownTrend"); ObjectDelete("MaxCost"); ObjectDelete("MinCost"); ObjectDelete("SignOrder"); ObjectDelete("Trend"); ObjectDelete("Volume"); } // СТАРТ - основная функция обработки int start(){ int bar; double val, upb, t1, t2, h1, h2; val=173; bar=iHighest(NULL,0,MODE_HIGH,100,0); t1=Time[0]-273600; h1=High[ bar]; t2= t1-518400; h2=High[ bar]- val*Point; SetTLine( TrendColor,"DownTrend", t2, h2, t1, h1, True,STYLE_SOLID,2); upb= EquationDirect( t1, h1, t2, h2,Time[0]); SetArrow(6,DarkViolet,"UpBorder",Time[0], upb,2); SetVLine( VLineColor,"VLine",Time[0],STYLE_SOLID); } // --- ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ --- // вертикальная временная линия void SetVLine(color cl,string nm="",datetime t1=0,int st=0,int wd=1){ // Параметры: // cl - цвет линии // nm - наименование ("" - время открытия текущего бара) // t1 - время (0 - время открытия текущего бара) // st - стиль линии (0 - простая линия) // wd - ширина линии (1 - по умолчанию) if( nm=="") nm=DoubleToStr(Time[0],0); if( t1<=0) t1=Time[0]; if(ObjectFind( nm)<0)ObjectCreate( nm,OBJ_VLINE,0,0,0); ObjectSet( nm, OBJPROP_TIME1, t1); ObjectSet( nm, OBJPROP_COLOR, cl); ObjectSet( nm, OBJPROP_STYLE, st); ObjectSet( nm, OBJPROP_WIDTH, wd); } // установка трендовой линии void SetTLine(color cl,string nm="",datetime t1=0,double p1=0,datetime t2=0,double p2=0,bool ry= False,int st=0,int wd=1){ // Параметры: // cl - цвет линии // nm - наименование ( "" - время открытия текущего бара) // t1 - время открытия бара ( 0 - Time[10] // p1 - ценовой уровень ( 0 - Low[10]) // t2 - время открытия бара ( 0 - текущий бар) // p2 - ценовой уровень ( 0 - Bid) // ry - луч (False - по умолчанию) // st - стиль линии ( 0 - простая линия) // wd - ширина линии ( 1 - по умолчанию) if( nm=="") nm=DoubleToStr(Time[0],0); if( t1<=0) t1=Time[10];if( t2<=0) t2=Time[0]; if( p1<=0) p1=Low[10];if( p2<=0) p2=Bid; if(ObjectFind( nm)<0)ObjectCreate( nm,OBJ_TREND,0,0,0,0,0); ObjectSet( nm, OBJPROP_TIME1, t1); ObjectSet( nm, OBJPROP_PRICE1, p1); ObjectSet( nm, OBJPROP_TIME2, t2); ObjectSet( nm, OBJPROP_PRICE2, p2); ObjectSet( nm, OBJPROP_COLOR, cl); ObjectSet( nm, OBJPROP_RAY, ry); ObjectSet( nm, OBJPROP_STYLE, st); ObjectSet( nm, OBJPROP_WIDTH, wd); } // вычисление точки пересечения double EquationDirect(double x1,double y1,double x2,double y2,double x){ // Параметры: // x1,y1 - координаты первой точки, // x2,y2 - координаты второй точки, // x - значение, для которого вычислить Y if( x2== x1)return( y1); else return(NormalizeDouble(( y2- y1)/( x2- x1)*( x- x1)+ y1,Digits)); } // установка значька void SetArrow(int cd,color cl,string nm="",datetime t1=0,double p1=0,int sz=0){ // Параметры: // cd - код значка // cl - цвет значка // nm - наименование ("" - время открытия текущего бара) // t1 - время открытия бара (0 - текущий бар) // p1 - ценовой уровень (0 - Bid) // sz - размер значка (0 - по умолчанию) if( nm=="") nm=DoubleToStr(Time[0],0); if( t1<=0) t1=Time[0];if( p1<=0) p1=Bid; if(ObjectFind( nm)<0)ObjectCreate( nm,OBJ_ARROW,0,0,0); ObjectSet( nm, OBJPROP_TIME1, t1); ObjectSet( nm, OBJPROP_PRICE1, p1); ObjectSet( nm, OBJPROP_ARROWCODE, cd); ObjectSet( nm, OBJPROP_COLOR, cl); ObjectSet( nm, OBJPROP_WIDTH, sz); } [删除] 2010.01.07 17:23 #956 屏幕截图 通过Opera添加,在资源管理器中没有添加 [删除] 2010.01.08 18:36 #957 你如何确定图表上看到的结束时间(从左边)? Igor Kim 2010.01.08 18:43 #958 DECIDE писал(а)>> 我如何确定图表中可见的结束时间(从左)? TimeCurrent() Alexander 2010.01.08 19:56 #959 KimIV писал(а)>> TimeCurrent() 这似乎是在右边。 [删除] 2010.01.09 10:09 #960 我已经想明白了。 这不是因为EquationDirect函数的原因,计算是正确的,而是因为终端的一个错误,画线时有偏移。 这就是为什么我必须首先用Time[0]确定交叉点,然后用Time[0]画一条从初始点到交叉点的趋势线,在这种情况下,一切正常。 图表中最右边的时间需要用来定位指标信号开关图标(当图表比例 改变时),也就是说,如果你移动开关图标超过最右边的时间,即尚未达到,图标就会切换(下单的信号切换为开或关,这意味着你可以通过切换信号禁止或允许EA交易) 左手边的时间确定如下:我们得到图表上可见的最外层的条形图 WindowFirstVisibleBar()并获得时间 Time[WindowFirstVisibleBar()] 。 1...8990919293949596979899100101102103...128 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你不需要添加任何东西...它已经在排队了。
非常感谢您!
你的主题是互联网上的一个宝藏。 我对我发现的东西爱不释手。
你不需要添加任何东西...它已经在排队了。
我想问问伊戈尔和每一个经常在这个话题中写作的人。我浏览了分支,没有找到确定趋势角度的函数。 你有没有一个函数可以确定15分钟图上6个或更多烛台的趋势角度?是否有任何功能可以让你扣动(扳机)?
概况
模板
???
我想问问伊戈尔和每一个经常在这个话题中写作的人。我看了一下分支,没有找到确定趋势角度的函数。 你是否有一个函数可以确定15分钟的蜡烛在6个或更多蜡烛上的趋势角度?
我们可以不谈角度,而是谈价格的变化率
问候!谢谢你的工作,你做得很好。
我正在制作一个指标,但EquationDirect函数有时会错误地计算出交叉点:(
我已经在我的图表上计算出了线条的点,并将它们附在测试指标中,以使其清晰明了。该函数不能正确计算有偏移的交点,即在某些角度,函数中的公式不合适,需要以某种方式纠正,所以当它发生时,将由不同的公式进行计算IMHO
屏幕截图
通过Opera添加,在资源管理器中没有添加
我如何确定图表中可见的结束时间(从左)?
TimeCurrent()
TimeCurrent()
这似乎是在右边。
我已经想明白了。
这不是因为EquationDirect函数的原因,计算是正确的,而是因为终端的一个错误,画线时有偏移。
这就是为什么我必须首先用Time[0]确定交叉点,然后用Time[0]画一条从初始点到交叉点的趋势线,在这种情况下,一切正常。
图表中最右边的时间需要用来定位指标信号开关图标(当图表比例 改变时),也就是说,如果你移动开关图标超过最右边的时间,即尚未达到,图标就会切换(下单的信号切换为开或关,这意味着你可以通过切换信号禁止或允许EA交易)
左手边的时间确定如下:我们得到图表上可见的最外层的条形图
WindowFirstVisibleBar()并获得时间 Time[WindowFirstVisibleBar()] 。