将颜色分解为阴影的功能。 - 页 13 1...67891011121314151617181920...23 新评论 Реter Konow 2018.10.11 15:54 #121 添加。看看这个脚本。 //+------------------------------------------------------------------+ //| Gradient test 1.mq4 | //| Peter Konow | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Peter Konow" #property link "https://www.mql5.com" #property version "1.00" #include <Canvas\Canvas.mqh> //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ union rgb { uint clr; uchar c[ 4 ];}; rgb C,cc; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnStart () { CCanvas canvas; if (!canvas.CreateBitmapLabel( "Gradient" , 200 , 200 , 768 , 256 , COLOR_FORMAT_ARGB_NORMALIZE )) { Print ( "Error creating canvas: " , GetLastError ()); } string Main_color = C'190,215,160' ; double d= 5 ; string Gradient[ 256 ]; while (! IsStopped ()) { C.c[ 2 ]= uchar ( 127.5 *( 1 + sin (d* 1.2 ))+ 0.4999 ); C.c[ 1 ]= uchar ( 127.5 *( 1 + sin (d* 1.9 ))+ 0.4999 ); C.c[ 0 ]= uchar ( 127.5 *( 1 + sin (d* 2.8 ))+ 0.4999 ); // генерируем новый цвет cc.clr=C.clr; ulong t= GetMicrosecondCount (); Диапазон_оттенков(C.clr,Gradient); //Диапазон_оттенков(Main_color,Gradient); t= GetMicrosecondCount ()-t; for ( int y= 0 ; y< 256 ; y++) { //Alert(__FUNCTION__," Gradient[",y,"] ",Gradient[y]); canvas.LineHorizontal( 0 , 767 ,y, ColorToARGB ( StringToColor (Gradient[y]), 255 )); C.clr=Gradient[y]; canvas.PixelSet(( int )C.c[ 2 ]+( int )C.c[ 1 ]+( int )C.c[ 0 ],y, ColorToARGB ( clrWhite )); if (C.c[ 1 ]> 0 ) canvas.PixelSet( int ( 50.0 *( int )C.c[ 2 ]/( double )C.c[ 1 ]+ 50.0 *( int )C.c[ 0 ]/( double )C.c[ 1 ]),y, ColorToARGB ( clrGreen )); if (C.c[ 2 ]> 0 ) canvas.PixelSet( int ( 50.0 *( int )C.c[ 1 ]/( double )C.c[ 2 ]+ 50.0 *( int )C.c[ 0 ]/( double )C.c[ 2 ]),y, ColorToARGB ( clrRed )); if (C.c[ 0 ]> 0 ) canvas.PixelSet( int ( 50.0 *( int )C.c[ 2 ]/( double )C.c[ 0 ]+ 50.0 *( int )C.c[ 1 ]/( double )C.c[ 0 ]),y, ColorToARGB ( clrBlue )); } canvas.FillRectangle( 500 , 75 , 660 , 150 , ColorToARGB (cc.clr, 240 )); canvas.FontSet( "Tahoma" , 20 ); canvas. TextOut ( 510 , 85 , "R = " + string (cc.c[ 2 ]), ColorToARGB (~cc.clr)); canvas. TextOut ( 510 , 107 , "G = " + string (cc.c[ 1 ]), ColorToARGB (~cc.clr)); canvas. TextOut ( 510 , 129 , "B = " + string (cc.c[ 0 ]), ColorToARGB (~cc.clr)); canvas.FontSet( "Times New Roman" , 15 ); canvas. TextOut ( 300 , 10 , "Время формирования градиентного массива из 256 элементов = " + string (t)+ " микросекунд" , ColorToARGB ( clrWhite )); canvas.Update(); d+= 0.01 ; Sleep ( 30 ); } canvas.Destroy(); //------------------------ // for(int a1 = 0; a1 < 256; a1++)Alert(__FUNCTION__," Gradient[",a1,"] ",Gradient[a1]); } //+------------------------------------------------------------------+ //================================================================================================================================================================ void Диапазон_оттенков( color _Цвет, string &Все_оттенки[ 256 ]) { color R,G,B,q; //------------------------------------------------------ string Этот_цвет; double Тангенс_угла_старшего_треугольника_1, Тангенс_угла_среднего_треугольника_1, Тангенс_угла_младшего_треугольника_1, Значение_в_точке_преломления_старшей_компоненты, Значение_в_точке_преломления_средней_компоненты, Значение_в_точке_преломления_младшей_компоненты, Тангенс_угла_старшего_треугольника_2, Тангенс_угла_среднего_треугольника_2, Тангенс_угла_младшего_треугольника_2; //------------------------------------------------------ double pi = 3.1415926536 , Comp_1,Comp_2,Comp_3, //----------------------------------------------- Первая_компонента, Вторая_компонента, Третья_компонента, //----------------------------------------------- Исходный_R = GetR(_Цвет), Исходный_G = GetG(_Цвет), Исходный_B = GetB(_Цвет), //----------------------------------------------- Старшая_компонента = Нужная_компонента(Исходный_R,Исходный_G,Исходный_B, 0 ), Средняя_компонента = Нужная_компонента(Исходный_R,Исходный_G,Исходный_B, 1 ), Младшая_компонента = Нужная_компонента(Исходный_R,Исходный_G,Исходный_B, 2 ), //----------------------------------------------- Координата_исходного_цвета = Старшая_компонента/ tan (( 63.43989 *pi)/ 180 ) + Младшая_компонента/ 2 ; //----------------------------------------------- //----------------------------------------------- if (Старшая_компонента == Исходный_R)R = Старшая_компонента; if (Старшая_компонента == Исходный_G)G = Старшая_компонента; if (Старшая_компонента == Исходный_B)B = Старшая_компонента; //------------------------ if (Средняя_компонента == Исходный_R)R = Средняя_компонента; if (Средняя_компонента == Исходный_G)G = Средняя_компонента; if (Средняя_компонента == Исходный_B)B = Средняя_компонента; //------------------------ if (Младшая_компонента == Исходный_R)R = Младшая_компонента; if (Младшая_компонента == Исходный_G)G = Младшая_компонента; if (Младшая_компонента == Исходный_B)B = Младшая_компонента; //========================================================================================== if (Координата_исходного_цвета <= 127 ) { Тангенс_угла_старшего_треугольника_1 = Старшая_компонента/Координата_исходного_цвета; Тангенс_угла_среднего_треугольника_1 = Средняя_компонента/Координата_исходного_цвета; Тангенс_угла_младшего_треугольника_1 = Младшая_компонента/Координата_исходного_цвета; //----------------------------------------------- Значение_в_точке_преломления_старшей_компоненты = Тангенс_угла_старшего_треугольника_1* 128 ; Значение_в_точке_преломления_средней_компоненты = Тангенс_угла_среднего_треугольника_1* 128 ; Значение_в_точке_преломления_младшей_компоненты = Тангенс_угла_младшего_треугольника_1* 128 ; //----------------------------------------------- Тангенс_угла_старшего_треугольника_2 = ( 255 - Значение_в_точке_преломления_старшей_компоненты)/ 128 ; Тангенс_угла_среднего_треугольника_2 = ( 255 - Значение_в_точке_преломления_средней_компоненты)/ 128 ; Тангенс_угла_младшего_треугольника_2 = ( 255 - Значение_в_точке_преломления_младшей_компоненты)/ 128 ; //----------------------------------------------- for ( int a1 = 0 ; a1 < 128 ; a1++) { Comp_1 = Тангенс_угла_старшего_треугольника_1*a1; Comp_2 = Тангенс_угла_среднего_треугольника_1*a1; Comp_3 = Тангенс_угла_младшего_треугольника_1*a1; //--------------------------------------------------- if (Comp_1 > 255 )Comp_1 = 255 ; if (Comp_1 > 255 )Comp_2 = 255 ; if (Comp_1 > 255 )Comp_3 = 255 ; if (Comp_1 < 0 )Comp_1 = 0 ; //добавлено if (Comp_2 < 0 )Comp_2 = 0 ; //добавлено if (Comp_3 < 0 )Comp_3 = 0 ; //добавлено //--------------------------------------------------- if (R == Старшая_компонента)Первая_компонента = Comp_1; if (R == Средняя_компонента)Первая_компонента = Comp_2; if (R == Младшая_компонента)Первая_компонента = Comp_3; //--------------------------------------------------- if (G == Старшая_компонента)Вторая_компонента = Comp_1; if (G == Средняя_компонента)Вторая_компонента = Comp_2; if (G == Младшая_компонента)Вторая_компонента = Comp_3; //--------------------------------------------------- if (B == Старшая_компонента)Третья_компонента = Comp_1; if (B == Средняя_компонента)Третья_компонента = Comp_2; if (B == Младшая_компонента)Третья_компонента = Comp_3; //--------------------------------------------------- Этот_цвет = ( string ) MathRound (Первая_компонента) + "," + ( string ) MathRound (Вторая_компонента) + "," + ( string ) MathRound (Третья_компонента); //--------------------------------------------------------------------------- Все_оттенки[a1] = Этот_цвет; //--------------------------------------------------------------------------- } //------------------------------------------------------------------------------ for ( int a2 = 255 ; a2 >= a1; a2--) { Comp_1 = 255 - Тангенс_угла_старшего_треугольника_2*q; Comp_2 = 255 - Тангенс_угла_среднего_треугольника_2*q; Comp_3 = 255 - Тангенс_угла_младшего_треугольника_2*q; //--------------------------------------------------- if (Comp_1 > 255 )Comp_1 = 255 ; if (Comp_1 > 255 )Comp_2 = 255 ; if (Comp_1 > 255 )Comp_3 = 255 ; if (Comp_1 < 0 )Comp_1 = 0 ; //добавлено if (Comp_2 < 0 )Comp_2 = 0 ; //добавлено if (Comp_3 < 0 )Comp_3 = 0 ; //добавлено //--------------------------------------------------- if (R == Старшая_компонента)Первая_компонента = Comp_1; if (R == Средняя_компонента)Первая_компонента = Comp_2; if (R == Младшая_компонента)Первая_компонента = Comp_3; //--------------------------------------------------- if (G == Старшая_компонента)Вторая_компонента = Comp_1; if (G == Средняя_компонента)Вторая_компонента = Comp_2; if (G == Младшая_компонента)Вторая_компонента = Comp_3; //--------------------------------------------------- if (B == Старшая_компонента)Третья_компонента = Comp_1; if (B == Средняя_компонента)Третья_компонента = Comp_2; if (B == Младшая_компонента)Третья_компонента = Comp_3; //--------------------------------------------------- Этот_цвет = ( string ) MathRound (Первая_компонента) + "," + ( string ) MathRound (Вторая_компонента) + "," + ( string ) MathRound (Третья_компонента); //--------------------------------------------------------------------------- Все_оттенки[a2] = Этот_цвет; //--------------------------------------------------------------------------- q++; } } //------------------------------------------------------------------------------ if (Координата_исходного_цвета > 127 ) { Тангенс_угла_старшего_треугольника_1 = ( 255 - Старшая_компонента)/( 255 - Координата_исходного_цвета); Тангенс_угла_среднего_треугольника_1 = ( 255 - Средняя_компонента)/( 255 - Координата_исходного_цвета); Тангенс_угла_младшего_треугольника_1 = ( 255 - Младшая_компонента)/( 255 - Координата_исходного_цвета); //----------------------------------------------- Значение_в_точке_преломления_старшей_компоненты = 255 - (Тангенс_угла_старшего_треугольника_1* 128 ); Значение_в_точке_преломления_средней_компоненты = 255 - (Тангенс_угла_среднего_треугольника_1* 128 ); Значение_в_точке_преломления_младшей_компоненты = 255 - (Тангенс_угла_младшего_треугольника_1* 128 ); //----------------------------------------------- Тангенс_угла_старшего_треугольника_2 = Значение_в_точке_преломления_старшей_компоненты/ 128 ; Тангенс_угла_среднего_треугольника_2 = Значение_в_точке_преломления_средней_компоненты/ 128 ; Тангенс_угла_младшего_треугольника_2 = Значение_в_точке_преломления_младшей_компоненты/ 128 ; //----------------------------------------------- for ( int b1 = 0 ; b1 < 128 ; b1++) { Comp_1 = Тангенс_угла_старшего_треугольника_2*b1; Comp_2 = Тангенс_угла_среднего_треугольника_2*b1; Comp_3 = Тангенс_угла_младшего_треугольника_2*b1; //--------------------------------------------------- if (Comp_1 > 255 )Comp_1 = 255 ; if (Comp_1 > 255 )Comp_2 = 255 ; if (Comp_1 > 255 )Comp_3 = 255 ; if (Comp_1 < 0 )Comp_1 = 0 ; //добавлено if (Comp_2 < 0 )Comp_2 = 0 ; //добавлено if (Comp_3 < 0 )Comp_3 = 0 ; //добавлено //--------------------------------------------------- if (R == Старшая_компонента)Первая_компонента = Comp_1; if (R == Средняя_компонента)Первая_компонента = Comp_2; if (R == Младшая_компонента)Первая_компонента = Comp_3; //--------------------------------------------------- if (G == Старшая_компонента)Вторая_компонента = Comp_1; if (G == Средняя_компонента)Вторая_компонента = Comp_2; if (G == Младшая_компонента)Вторая_компонента = Comp_3; //--------------------------------------------------- if (B == Старшая_компонента)Третья_компонента = Comp_1; if (B == Средняя_компонента)Третья_компонента = Comp_2; if (B == Младшая_компонента)Третья_компонента = Comp_3; //--------------------------------------------------- Этот_цвет = ( string ) MathRound (Первая_компонента) + "," + ( string ) MathRound (Вторая_компонента) + "," + ( string ) MathRound (Третья_компонента); //--------------------------------------------------------------------------- Все_оттенки[b1] = Этот_цвет; //--------------------------------------------------------------------------- } //------------------------------------------------------------------------------ for ( int b2 = 255 ; b2 >= b1; b2--) { Comp_1 = 255 - Тангенс_угла_старшего_треугольника_1*q; Comp_2 = 255 - Тангенс_угла_среднего_треугольника_1*q; Comp_3 = 255 - Тангенс_угла_младшего_треугольника_1*q; //--------------------------------------------------- if (Comp_1 > 255 )Comp_1 = 255 ; if (Comp_1 > 255 )Comp_2 = 255 ; if (Comp_1 > 255 )Comp_3 = 255 ; if (Comp_1 < 0 )Comp_1 = 0 ; //добавлено if (Comp_2 < 0 )Comp_2 = 0 ; //добавлено if (Comp_3 < 0 )Comp_3 = 0 ; //добавлено //--------------------------------------------------- if (R == Старшая_компонента)Первая_компонента = Comp_1; if (R == Средняя_компонента)Первая_компонента = Comp_2; if (R == Младшая_компонента)Первая_компонента = Comp_3; //--------------------------------------------------- if (G == Старшая_компонента)Вторая_компонента = Comp_1; if (G == Средняя_компонента)Вторая_компонента = Comp_2; if (G == Младшая_компонента)Вторая_компонента = Comp_3; //--------------------------------------------------- if (B == Старшая_компонента)Третья_компонента = Comp_1; if (B == Средняя_компонента)Третья_компонента = Comp_2; if (B == Младшая_компонента)Третья_компонента = Comp_3; //--------------------------------------------------- Этот_цвет = ( string ) MathRound (Первая_компонента) + "," + ( string ) MathRound (Вторая_компонента) + "," + ( string ) MathRound (Третья_компонента); //--------------------------------------------------------------------------- Все_оттенки[b2] = Этот_цвет; //--------------------------------------------------------------------------- q++; } } //------------------------------------------------------------------------------ } //+------------------------------------------------------------------+ //| Получение значения компонента R | //+------------------------------------------------------------------+ double GetR( const color aColor) { return (aColor& 0xff ); } //+------------------------------------------------------------------+ //| Получение значения компонента G | //+------------------------------------------------------------------+ double GetG( const color aColor) { return ((aColor>> 8 )& 0xff ); } //+------------------------------------------------------------------+ //| Получение значения компонента B | //+------------------------------------------------------------------+ double GetB( const color aColor) { return ((aColor>> 16 )& 0xff ); } //-------------------------------------------------------------------- double Нужная_компонента( double C1, double C2, double C3, int Index) { double Components[ 3 ]; //---------------------------------------------- Components[ 0 ] = C1; Components[ 1 ] = C2; Components[ 2 ] = C3; //---------------------------------------------- ArraySort (Components, WHOLE_ARRAY , 0 , MODE_DESCEND ); //---------------------------------------------- return (Components[Index]); } Реter Konow 2018.10.11 15:55 #122 左边还有一条蓝线。我们需要找到原因。 Реter Konow 2018.10.11 16:02 #123 Nikolai Semko:代码呢?你怎么看,尼古拉?你会承认自己无中生有,制造了很多噪音吗?是的,算法可能比你的慢,而且它有几个bug。它还没有在MT5上调试过。 但它是有效的。 Реter Konow 2018.10.11 16:22 #124 Yury Kulikov:你的算法不起作用,请提供一个脚本(用可视化的方式证明),证明你的算法对整个颜色范围起作用。我做到了。 它是有效的。与尼古拉的剧本稍有不同。左边有一个蓝条。但你不认为说"你的算法不起作用"不是很聪明吗?特别是对于一个有经验的人来说。 而关于 "我明白为什么我们需要MT4...MT4会把它取出来... "等等...- 这一点都不高明。是的,MT4的语法要求比MT5的低。但是,它也比较慢。这意味着你必须非常努力地使一切工作快速进行。 这就是MT4的目的。为了在上面达到最大速度,然后得到更多,当你切换到MT5。 你,作为一个开发者,应该明白这一点。 Nikolai Semko 2018.10.11 16:51 #125 Реter Konow:提供了。 它是有效的。与尼古拉的剧本稍有不同。左边有一个蓝条。但你不认为说"你的算法不起作用"不是很聪明吗?特别是对于一个有经验的人来说。 而关于 "我明白为什么我们需要MT4...MT4会把它取出来... "等等...- 这一点都不高明。是的,MT4的语法要求比MT5的低。但是,它也比较慢。这意味着你必须非常努力地使一切工作快速进行。 这就是MT4的目的。为了在上面达到最大速度,然后得到更多,当你切换到MT5。 你,作为一个开发者,应该明白这一点。我没有。请输入mql5代码。 Nikolai Semko 2018.10.11 16:56 #126 Реter Konow:你怎么看,尼古拉?你为什么不承认自己无中生有,大吵大闹呢?是的,算法可能比你的慢,而且它有几个bug。它还没有在MT5上调试过。 但它是有效的。Pyotr,你是否知道 Координата_исходного_цвета=Старшая_компонента/tan((63.43989*pi)/180)+Младшая_компонента/2; 等于 。 Координата_исходного_цвета=Старшая_компонента/2+Младшая_компонента/2;你要求的是一个有切口的2号。一流的。 祸不单行。 让我们把63.43989 这个号码称为彼得的号码。 彼得定理。 彼得的数字的正切值等于2。 Реter Konow 2018.10.11 16:57 #127 Nikolai Semko:没有提供。请输入mql5代码。我将调试它并提供它。你认为我做不到吗?)) 我理解,该算法应该在两个平台上工作。我稍微低估了平台的差异。我以为从MT4移植不会有什么问题。这一点我错了。 但该算法的概念是正确的。你可以在MT4上看到它。 速度落后于你在MT4上的模拟,因为我使用的是字符串类型。 稍后,我将制作一个类型为uint的变体。然后我们将在MT4上比较两种算法的速度。 然后,我们将继续在MT5上进行比较。 Реter Konow 2018.10.11 17:02 #128 ОNikolai Semko:彼得,你是否知道 等于. 而tan函数的参数不是用度数,而是用弧度。 你要求的是带切线的数字2。这就是特技飞行。 悲哀的是我。 让我们把63.43989 这个数字称为彼得的数字。如果你不明白,我是把度数翻译成弧度。 tan((63.43989*pi)/180) 这就是翻译。在互联网上查找如何将度数转换成弧度,反之亦然。 是的,tan((63.43989*pi)/180) 的值是恒定的。 你认为我没有看到吗? 然而,我更愿意这样看。 Yury Kulikov 2018.10.11 17:03 #129 Реter Konow:提供了。 它是有效的。与尼古拉的剧本稍有不同。左边有一个蓝条。但你不认为说"你的算法不起作用"不是很聪明吗?特别是对于一个有经验的人来说。 而关于 "我明白为什么我们需要MT4...MT4会把它取出来... "等等...- 这一点都不高明。是的,MT4的语法要求比MT5的低。但是,它也比较慢。这意味着你必须非常努力地使一切工作快速进行。 这就是MT4的目的。为了在上面达到最大速度,然后得到更多,当你切换到MT5。 你,作为一个开发者,应该明白这一点。第一页上的代码不能工作,只有在论坛访问者的评论下才开始工作。 在颜色0,0,0和255,255,255上检查你的算法。 Реter Konow 2018.10.11 17:07 #130 Yury Kulikov:第一页上介绍的代码不起作用,只有在论坛成员的评论下才开始起作用。 在颜色0,0,0和255,255,255上检查你的算法。从这一页上拿起脚本。其中,颜色变化的范围是由尼古拉的算法给出的。我已经把我的功能连接到它。 第一页的脚本只用于通过Alert输出阴影。 如果你对尼古拉的范围不满意,那么你为什么要把他的效果图作为一个例子? 1...67891011121314151617181920...23 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
添加。看看这个脚本。
代码呢?
你怎么看,尼古拉?
你会承认自己无中生有,制造了很多噪音吗?是的,算法可能比你的慢,而且它有几个bug。它还没有在MT5上调试过。 但它是有效的。
你的算法不起作用,请提供一个脚本(用可视化的方式证明),证明你的算法对整个颜色范围起作用。
我做到了。
它是有效的。与尼古拉的剧本稍有不同。左边有一个蓝条。但你不认为说"你的算法不起作用"不是很聪明吗?特别是对于一个有经验的人来说。
而关于 "我明白为什么我们需要MT4...MT4会把它取出来... "等等...- 这一点都不高明。是的,MT4的语法要求比MT5的低。但是,它也比较慢。这意味着你必须非常努力地使一切工作快速进行。
这就是MT4的目的。为了在上面达到最大速度,然后得到更多,当你切换到MT5。
你,作为一个开发者,应该明白这一点。
提供了。
它是有效的。与尼古拉的剧本稍有不同。左边有一个蓝条。但你不认为说"你的算法不起作用"不是很聪明吗?特别是对于一个有经验的人来说。
而关于 "我明白为什么我们需要MT4...MT4会把它取出来... "等等...- 这一点都不高明。是的,MT4的语法要求比MT5的低。但是,它也比较慢。这意味着你必须非常努力地使一切工作快速进行。
这就是MT4的目的。为了在上面达到最大速度,然后得到更多,当你切换到MT5。
你,作为一个开发者,应该明白这一点。
我没有。请输入mql5代码。
你怎么看,尼古拉?
你为什么不承认自己无中生有,大吵大闹呢?是的,算法可能比你的慢,而且它有几个bug。它还没有在MT5上调试过。 但它是有效的。
Pyotr,你是否知道
等于 。
你要求的是一个有切口的2号。一流的。
祸不单行。
让我们把63.43989 这个号码称为彼得的号码。
彼得定理。
彼得的数字的正切值等于2。
没有提供。请输入mql5代码。
我将调试它并提供它。你认为我做不到吗?))
我理解,该算法应该在两个平台上工作。我稍微低估了平台的差异。我以为从MT4移植不会有什么问题。这一点我错了。
但该算法的概念是正确的。你可以在MT4上看到它。
速度落后于你在MT4上的模拟,因为我使用的是字符串类型。
稍后,我将制作一个类型为uint的变体。然后我们将在MT4上比较两种算法的速度。
然后,我们将继续在MT5上进行比较。
Nikolai Semko:
彼得,你是否知道
等于.
而tan函数的参数不是用度数,而是用弧度。
你要求的是带切线的数字2。这就是特技飞行。
悲哀的是我。
让我们把63.43989 这个数字称为彼得的数字。
如果你不明白,我是把度数翻译成弧度。
这就是翻译。在互联网上查找如何将度数转换成弧度,反之亦然。
是的,tan((63.43989*pi)/180) 的值是恒定的。 你认为我没有看到吗? 然而,我更愿意这样看。
提供了。
它是有效的。与尼古拉的剧本稍有不同。左边有一个蓝条。但你不认为说"你的算法不起作用"不是很聪明吗?特别是对于一个有经验的人来说。
而关于 "我明白为什么我们需要MT4...MT4会把它取出来... "等等...- 这一点都不高明。是的,MT4的语法要求比MT5的低。但是,它也比较慢。这意味着你必须非常努力地使一切工作快速进行。
这就是MT4的目的。为了在上面达到最大速度,然后得到更多,当你切换到MT5。
你,作为一个开发者,应该明白这一点。
第一页上的代码不能工作,只有在论坛访问者的评论下才开始工作。
在颜色0,0,0和255,255,255上检查你的算法。
第一页上介绍的代码不起作用,只有在论坛成员的评论下才开始起作用。
在颜色0,0,0和255,255,255上检查你的算法。
从这一页上拿起脚本。其中,颜色变化的范围是由尼古拉的算法给出的。我已经把我的功能连接到它。
第一页的脚本只用于通过Alert输出阴影。
如果你对尼古拉的范围不满意,那么你为什么要把他的效果图作为一个例子?