色を色合いに分解する機能。 - ページ 13 1...67891011121314151617181920...23 新しいコメント Реter Konow 2018.10.11 17: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 17:55 #122 左側に青い線が残っていますね。原因を突き止める必要があります。 Реter Konow 2018.10.11 18:02 #123 Nikolai Semko:コードは?どうだ、ニコライ?何もないところから騒ぐことを認めるか?そうですね、アルゴリズムはあなたより遅いかもしれませんし、バグもいくつかありました。MT5ではまだデバッグされていません。 でも、うまくいくんです。 Реter Konow 2018.10.11 18:22 #124 Yury Kulikov:あなたのアルゴリズムが動作 しない、あなたのアルゴリズムが全色で動作するスクリプト(視覚化で証明)を提供する。しました。 効くんです。ニコライの台本とは若干異なる。左側に青いバーがあります。でも、「あなたのアルゴリズムはうまく いかない」と言うのは、あまりスマートではないと思いませんか?特に経験者にとっては。 そして、「MT4が必要な理由がわかった」ということについて...。MT4が取り出してくれる...」などなど...。- それはまったく見事なことではありません。はい、MT4の構文要件はMT5より低いです。でも、速度も遅くなっています。つまり、すべてを速く動作させるために、一生懸命に努力しなければならないのです。 それがMT4の目的です。その上で最高速度を出し、さらにMT5に乗り換えたときに、さらに速度を出すために。 開発者であるあなたは、それを理解する必要があります。 Nikolai Semko 2018.10.11 18:51 #125 Реter Konow:提供される。 効くんです。ニコライの台本とは少し違う。左側に青いバーがあります。でも、「あなたのアルゴリズムはうまく いかない」と言うのは、あまりスマートではないと思いませんか?特に経験者にとっては。 そして、「MT4が必要な理由がわかった」ということについて...。MT4が取り出してくれる...」などなど...。- それはまったく見事なことではありません。はい、MT4の構文要件はMT5より低いです。でも、速度も遅くなっています。つまり、すべてを速く動作させるために、一生懸命に努力しなければならないのです。 それがMT4の目的です。その上で最高速度を出し、さらにMT5に乗り換えたときに、さらに速度を出すために。 開発者であるあなたは、それを理解する必要があります。していません。mql5のコードをお願いします。 Nikolai Semko 2018.10.11 18:56 #126 Реter Konow:どうだ、ニコライ?何もないところから騒ぐのは認めたら?そうですね、アルゴリズムはあなたより遅いかもしれませんし、バグもいくつかありました。MT5でのデバッグは未実施です。 でも、うまくいくんです。ピョートル、あなたは知っていますか? Координата_исходного_цвета=Старшая_компонента/tan((63.43989*pi)/180)+Младшая_компонента/2; に等しい。 Координата_исходного_цвета=Старшая_компонента/2+Младшая_компонента/2;2番を接頭辞付きでお願いしましたね。一流です。 災い転じて福となす。63.43989の 番号をピーターの番号と呼ぶことにしましょう。 ピーターの定理 ピーターの数の正接は2に等しい。 Реter Konow 2018.10.11 18:57 #127 Nikolai Semko:提供されていません。mql5のコードをお願いします。デバッグして提供します。できないとでも思っているのでしょうか)) アルゴリズムは、両方のプラットフォームで動作する必要があると理解しています。プラットフォームの違いを若干甘く見ていました。MT4から移植しても問題ないのではと思いました。それは私の勘違いでした。 しかし、アルゴリズムのコンセプトは正しいのです。MT4で見ることができます。 文字列型を使って いるため、MT4のアナログに比べるとスピードが遅れます。 後で、uint 型のバリアントを作る予定です。その後、MT4上で両アルゴリズムの速度を比較します。 続いて、MT5での比較に移ります。 Реter Konow 2018.10.11 19:02 #128 ОNikolai Semko:ピーター、あなたは知っていますか? イコール。 と、tan関数のパラメータが度数ではなくラジアン単位であること。 2という数字を接頭辞付きでお願いします。それがエアロバティックスです。 災い転じて福となす。63.43989という 数字を、ペテロの数字と呼ぶことにしよう。わからない人は、度をラジアンに変換しているんです。 tan((63.43989*pi)/180) それが翻訳です。度数をラジアンに変換する方法、逆にラジアンを度数に変換する方法はインターネットで調べてください。 そう、tan((63.43989*pi)/180)の値は一定 なのです。 私が見ていないとでも? しかし、私はそのように見るのが好きなのです。 Yury Kulikov 2018.10.11 19:03 #129 Реter Konow:提供される。 効くんです。ニコライの台本とは少し違う。左側に青いバーがあります。でも、「あなたのアルゴリズムはうまく いかない」と言うのは、あまりスマートではないと思いませんか?特に経験者にとっては。 そして、「MT4が必要な理由がわかった」ということについて...。MT4が取り出してくれる...」などなど...。- それはまったく見事なことではありません。はい、MT4の構文要件はMT5より低いです。でも、速度も遅くなっています。つまり、すべてを速く動作させるために、一生懸命に努力しなければならないのです。 それがMT4の目的です。その上で最高速度を出し、さらにMT5に乗り換えたときに、さらに速度を出すために。 開発者であるあなたは、それを理解する必要があります。最初のページで紹介したコードは動作せず、フォーラムの訪問者のコメントによってのみ動作するようになりました。 0,0,0と255,255,255,255の色でアルゴリズムを確認してください。 Реter Konow 2018.10.11 19:07 #130 Yury Kulikov:最初のページで紹介したコードは動作せず、フォーラムのメンバーからのコメントのおかげで初めて動作するようになりました。 0,0,0と255,255,255,255の色でアルゴリズムを確認してください。このページからスクリプトを取り出します。その中で、色の変化する範囲はニコライのアルゴリズムで与えられています。機能を繋ぎました。 1ページ目のスクリプトは、Alertでシェードを出力することのみを想定しています。 ニコライの音域に満足していないのであれば、なぜ彼のレンダリングを例に挙げたのでしょうか? 1...67891011121314151617181920...23 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
追加した。このスクリプトを確認してください。
コードは?
どうだ、ニコライ?
何もないところから騒ぐことを認めるか?そうですね、アルゴリズムはあなたより遅いかもしれませんし、バグもいくつかありました。MT5ではまだデバッグされていません。 でも、うまくいくんです。
あなたのアルゴリズムが動作 しない、あなたのアルゴリズムが全色で動作するスクリプト(視覚化で証明)を提供する。
しました。
効くんです。ニコライの台本とは若干異なる。左側に青いバーがあります。でも、「あなたのアルゴリズムはうまく いかない」と言うのは、あまりスマートではないと思いませんか?特に経験者にとっては。
そして、「MT4が必要な理由がわかった」ということについて...。MT4が取り出してくれる...」などなど...。- それはまったく見事なことではありません。はい、MT4の構文要件はMT5より低いです。でも、速度も遅くなっています。つまり、すべてを速く動作させるために、一生懸命に努力しなければならないのです。
それがMT4の目的です。その上で最高速度を出し、さらにMT5に乗り換えたときに、さらに速度を出すために。
開発者であるあなたは、それを理解する必要があります。
提供される。
効くんです。ニコライの台本とは少し違う。左側に青いバーがあります。でも、「あなたのアルゴリズムはうまく いかない」と言うのは、あまりスマートではないと思いませんか?特に経験者にとっては。
そして、「MT4が必要な理由がわかった」ということについて...。MT4が取り出してくれる...」などなど...。- それはまったく見事なことではありません。はい、MT4の構文要件はMT5より低いです。でも、速度も遅くなっています。つまり、すべてを速く動作させるために、一生懸命に努力しなければならないのです。
それがMT4の目的です。その上で最高速度を出し、さらにMT5に乗り換えたときに、さらに速度を出すために。
開発者であるあなたは、それを理解する必要があります。
していません。mql5のコードをお願いします。
どうだ、ニコライ?
何もないところから騒ぐのは認めたら?そうですね、アルゴリズムはあなたより遅いかもしれませんし、バグもいくつかありました。MT5でのデバッグは未実施です。 でも、うまくいくんです。
ピョートル、あなたは知っていますか?
に等しい。
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,255の色でアルゴリズムを確認してください。
最初のページで紹介したコードは動作せず、フォーラムのメンバーからのコメントのおかげで初めて動作するようになりました。
0,0,0と255,255,255,255の色でアルゴリズムを確認してください。
このページからスクリプトを取り出します。その中で、色の変化する範囲はニコライのアルゴリズムで与えられています。機能を繋ぎました。
1ページ目のスクリプトは、Alertでシェードを出力することのみを想定しています。
ニコライの音域に満足していないのであれば、なぜ彼のレンダリングを例に挙げたのでしょうか?