[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 498 1...491492493494495496497498499500501502503504505...631 新しいコメント Yury Reshetov 2012.11.10 20:17 #4971 yosuf: 有効化された端末を無効化するために、別途プログラム(タスク)を作成する必要がありますか? ドクトル、TarasBY さんのリンク先にあるドキュメントをよく読んで、無意味なことをしないでください。 Viktar Dzemikhau 2012.11.10 21:08 #4972 私のテスト生フクロウのチュートリアルを紹介します。 //+---------------------------------------------------------------------------------------+ //| Strategy №1 for H1.mq4 | //| hoz | //| | //+---------------------------------------------------------------------------------------+ #property copyright "hoz" #property link "" //----- Входные параметры ----------- extern string H1 = "___ Общие параметры индикаторов ___"; extern int i_TF = 60; extern string H2 = "_____ Параметры быстрой машки _____"; extern int i_maFastPeriod = 5, i_maFastShift = 0, i_maFastMethod = 1; extern string H3 = "____ Параметры медленной машки ____"; extern int i_maSlowPeriod = 19, i_maSlowShift = 0, i_maSlowMethod = 1; extern string H4 = "_______ Параметры Моментума _______"; extern int i_momPeriod = 18; extern string H5 = "_______ Параметры Стохастика ______"; extern int i_stoch_D = 3, // Сигнальная линия i_stoch_K = 13, // Главная линия i_stoch_slowing = 3; // Замедление int g_ticket, // Тикет текущей позиции g_type; // Тип текущей позиции //Иднентификаторы типов сигналов #define CROSSINGTOUP 1 // Пересечение быстрой медленную снизу вверх #define CROSSINGTODOWN -1 // Пересечение быстрой медленную сверху вниз #define CROSSINGWAIT 0 // Отсуствие пересечения машек #define SIGNAL_BUY 1 // Сигнал покупки #define SIGNAL_SELL -1 // Сигнал продажи #define SIGNAL_NO 0 // Отсуствие сигнала //+---------------------------------------------------------------------------------------+ //| Функция инициализации эксперта | //+---------------------------------------------------------------------------------------+ int init() { return(0); } //+---------------------------------------------------------------------------------------+ //| Функция деинициализации эксперта | //+---------------------------------------------------------------------------------------+ int deinit() { return(0); } //+---------------------------------------------------------------------------------------+ //| Проверка пересечения скользящих средних | //+---------------------------------------------------------------------------------------+ int GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2) { if ((i_maFast2<i_maSlow2) && (i_maFast1>i_maSlow1)) // Если быстрая скользящая пересекла медленную снизу вверх.. return(CROSSINGTOUP); //.. значит, - пересечение вверх if ((i_maFast2>i_maSlow2) && (i_maFast1<i_maSlow1)) // Если быстрая скользящая средняя пересекла медленную сверху вниз.. return(CROSSINGTODOWN); //..значит, - пересечение вниз return(CROSSINGWAIT); // Ожидаем пересечения } //+---------------------------------------------------------------------------------------+ //| Получение сигнала от Стохастика | //+---------------------------------------------------------------------------------------+ int GetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2) { for(int i=1;i<=Bars;i++) { if((stochD2<stochK2) && (stochD1>stochK1)) // Если сигнальная линия пересекла главную снизу вверх.. return(CROSSINGTOUP); //..значит, - пересечение вверх if((stochD2>stochK2) && (stochD1<stochK1)) // Если сигнальная линия пересекла главную сверху вниз.. return(CROSSINGTODOWN); // ..значит, - пересечение вниз } return(CROSSINGWAIT); // Ожидаем пересечения } //+---------------------------------------------------------------------------------------+ //| Получение сигнала от Моментума | //+---------------------------------------------------------------------------------------+ void GetMomentumSignal() { double momentum = iMomentum(Symbol(),i_TF,i_momPeriod,0,0); } //+---------------------------------------------------------------------------------------+ //| Получение общего сигнала для входа в рынок | //+---------------------------------------------------------------------------------------+ int GetSignal() { for(int i=1;i<=Bars;i++) { double i_maFast1 = iMA(Symbol(),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod,0,i); // Вычисляем быстрые скользящие.. double i_maFast2 = iMA(Symbol(),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod,0,i+1); //..средние double i_maSlow1 = iMA(Symbol(),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod,0,i); // Вычисляем медленные скользящие.. double i_maSlow2 = iMA(Symbol(),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod,0,i+1); //..средние double stochD1 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,1,i); // Вычисляем значения сигнальной линии.. double stochD2 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,1,i+1); //..стохастика double stochK1 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,0,i); // Вычисляем значения главной линии.. double stochK2 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,0,i+1); //..стохастика } if( GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2)==CROSSINGTOUP || i_maFast1>i_maSlow1 ) return(SIGNAL_BUY); } //+---------------------------------------------------------------------------------------+ //| Поиск своих ордеров | //+---------------------------------------------------------------------------------------+ void FindOrders() { } //+---------------------------------------------------------------------------------------+ //| Функция start эксперта | //+---------------------------------------------------------------------------------------+ int start() { //---- //---- return(0); } intGetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2) 関数は、クロスシグナルを取得する関数です。intGetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2) 関数はストキャスティックからシグナルを受け取ります。void GetMomentumSignal() 関数は、運動量の値を取得します。intGetSignal() は、前の3つの関数に基づく一般的なシグナルを取得し、それらだけを取得するわけではありません。問題はこれです。int GetSignal() 関数がいわばメインで、メインシグナルを取得するので、フラップの値(i_maFast1,i_maFast2, i_maSlow1,i_maSlow2 )とストキャスティクス(stochD1,stochD2, stochK1,stochK2 )を全て取得します。コードの最適 化は正しかったのでしょうか?もちろん、GetSignal() 関数で得られたパラメータはすべて、対応する関数に参照渡し される。しかし、ここでこの断片は if( GetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2)==CROSSINGTOUP || i_maFast1>i_maSlow1 ) return(SIGNAL_BUY);はコンパイル時にエラーが発生します。'&' - variable expected E:\Insall'd soft's\Forex\Admiral Markets\experts\Strategy №1 for H1.mq4 (109, 31) '&' - variable expected E:\Insall'd soft's\Forex\Admiral Markets\experts\Strategy №1 for H1.mq4 (109, 50) '&' - variable expected E:\Insall'd soft's\Forex\Admiral Markets\experts\Strategy №1 for H1.mq4 (109, 69) '&' - variable expected E:\Insall'd soft's\Forex\Admiral Markets\experts\Strategy №1 for H1.mq4 (109, 88) 4 ошибок, 0 предупреждений なぜ? Boris 2012.11.10 23:31 #4973 私は左側のコードを詮索するのは好きではないのですが、関数のdoubleの後に&(!)があるのはなぜなのか、すぐに目に止まりました。これがエラーの原因になるのです Vadim Zhunko 2012.11.10 23:32 #4974 hoz:私のテスト生フクロウのチュートリアルを紹介します。コンパイル時にエラーが出る。なぜ? なぜなら//+---------------------------------------------------------------------------------------+ //| Получение общего сигнала для входа в рынок | //+---------------------------------------------------------------------------------------+ int GetSignal() { for(int i=1;i<=Bars;i++) { double i_maFast1 = iMA(Symbol(),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod,0,i); // Вычисляем быстрые скользящие.. double i_maFast2 = iMA(Symbol(),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod,0,i+1); //..средние double i_maSlow1 = iMA(Symbol(),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod,0,i); // Вычисляем медленные скользящие.. double i_maSlow2 = iMA(Symbol(),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod,0,i+1); //..средние double stochD1 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,1,i); // Вычисляем значения сигнальной линии.. double stochD2 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,1,i+1); //..стохастика double stochK1 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,0,i); // Вычисляем значения главной линии.. double stochK2 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,0,i+1); //..стохастика } if( GetCrossingMa(i_maFast1, i_maFast2, i_maSlow1, i_maSlow2)==CROSSINGTOUP || i_maFast1>i_maSlow1 ) return(SIGNAL_BUY); } Viktar Dzemikhau 2012.11.11 06:25 #4975 borilunad: カスタムコードを掘り下げるのは好きではないのですが、関数でdoubleの後に&(!)があるのはなぜなのか、すぐに気づきました。これがエラーの原因になるのです だから、意味があるんです。リンクでパラメータを転送 することを意味します。コードの詳細を説明するのを避けるため、簡単に説明します。3つの関数(int GetCrossingMa,int GetStochSignal,int GetSignal())があります。intGetSignal()関数はフラップやその他のインジケータの値を取得し、それを参照しながらノンコア 関数(int GetCrossingMa 、int GetStochSignal)に渡して、それらに対応するシグナルを取得することができます。異なる関数で同じデータを取得するのを避けるために行いたいのです。同じマスクを2つ以上の関数で計算するのは賢くないと思います。一 度計算すればそれで済むので楽です。なぜ、このような無駄なリソースが必要なのでしょうか? Роман 2012.11.11 06:44 #4976 hoz:だから、意味があるんです。リンクでパラメータを転送することを意味します。コードの詳細を説明するのを避けるため、簡単に説明します。3つの関数(int GetCrossingMa,int GetStochSignal,int GetSignal())があります。intGetSignal()関数はフラップやその他のインジケータの値を取得し、それを参照しながらノンコア 関数(int GetCrossingMa 、int GetStochSignal)に渡して、それらに対応するシグナルを取得することができます。異なる関数で同じデータを取得するのを避けるために行いたいのです。同じ仮面を2つ以上の関数で計算するのは賢明ではないと思います。一 度計算すればそれで済むので楽です。なぜ、このような無駄なリソースが必要なのでしょうか? μl4以外の言語でプログラミングをしたことがありますか? TarasBY 2012.11.11 06:50 #4977 hoz:私のテスト生フクロウのチュートリアルを紹介します。 intGetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2) 関数は、クロスシグナルを取得する関数です。intGetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2) 関数はストキャスティックからシグナルを受け取ります。void GetMomentumSignal() 関数は、運動量の値を取得します。intGetSignal() は、前の3つの関数に基づく一般的なシグナルを取得し、それらだけを取得するわけではありません。問題はこれです。int GetSignal() 関数がいわばメインで、メインシグナルを取得するので、フラップの値(i_maFast1,i_maFast2, i_maSlow1,i_maSlow2 )とストキャスティクス(stochD1,stochD2, stochK1,stochK2 )を全て取得します。コードの最適化は正しかったのでしょうか?もちろん、GetSignal() 関数で得られたパラメータはすべて、対応する関数に参照渡し される。しかし、ここでこの断片は というエラーがコンパイル時に表示されます。 なぜ?これは、私たちが必要としているバーでの信号探索のバリエーションかもしれません。//+---------------------------------------------------------------------------------------+ //| Проверка пересечения скользящих средних | //+---------------------------------------------------------------------------------------+ int GetCrossingMa (int fi_Bar = 1) { double i_maFast1 = iMA (Symbol(), i_TF, i_maFastPeriod, i_maFastShift, i_maFastMethod, 0, fi_Bar), // Вычисляем быстрые скользящие.. i_maFast2 = iMA (Symbol(), i_TF, i_maFastPeriod, i_maFastShift, i_maFastMethod, 0, fi_Bar + 1), //..средние i_maSlow1 = iMA (Symbol(), i_TF, i_maSlowPeriod, i_maSlowShift, i_maSlowMethod, 0, fi_Bar), // Вычисляем медленные скользящие.. i_maSlow2 = iMA (Symbol(), i_TF, i_maSlowPeriod, i_maSlowShift, i_maSlowMethod, 0, fi_Bar + 1); //..средние //---- if (i_maFast2 < i_maSlow2) if (i_maFast1 > i_maSlow1) // Если быстрая скользящая пересекла медленную снизу вверх.. return (CROSSINGTOUP); //.. значит, - пересечение вверх if (i_maFast2 > i_maSlow2) if (i_maFast1 < i_maSlow1) // Если быстрая скользящая средняя пересекла медленную сверху вниз.. return (CROSSINGTODOWN); //..значит, - пересечение вниз //---- return (CROSSINGWAIT); // Ожидаем пересечения } //+---------------------------------------------------------------------------------------+ //| Получение сигнала от Стохастика | //+---------------------------------------------------------------------------------------+ int GetStochSignal (int fi_Bar = 1) { double stochD1 = iStochastic (Symbol(), i_TF, i_stoch_D, i_stoch_K, i_stoch_slowing, 0, 0, 1, fi_Bar), // Вычисляем значения сигнальной линии.. stochD2 = iStochastic (Symbol(), i_TF, i_stoch_D, i_stoch_K, i_stoch_slowing, 0, 0, 1, fi_Bar + 1), //..стохастика stochK1 = iStochastic (Symbol(), i_TF, i_stoch_D, i_stoch_K, i_stoch_slowing, 0, 0, 0, fi_Bar), // Вычисляем значения главной линии.. stochK2 = iStochastic (Symbol(), i_TF, i_stoch_D, i_stoch_K, i_stoch_slowing, 0, 0, 0, fi_Bar + 1); //..стохастика //---- if (stochD2 < stochK2) if (stochD1 > stochK1) // Если сигнальная линия пересекла главную снизу вверх.. return (CROSSINGTOUP); //..значит, - пересечение вверх if (stochD2 > stochK2) if (stochD1 < stochK1) // Если сигнальная линия пересекла главную сверху вниз.. return (CROSSINGTODOWN); // ..значит, - пересечение вниз } //---- return (CROSSINGWAIT); // Ожидаем пересечения } //+---------------------------------------------------------------------------------------+ //| Получение сигнала от Моментума | //+---------------------------------------------------------------------------------------+ double GetMomentumSignal (int fi_Bar = 0) {return (iMomentum (Symbol(), i_TF, i_momPeriod, 0, fi_Bar));} //+---------------------------------------------------------------------------------------+ //| Получение общего сигнала для входа в рынок | //+---------------------------------------------------------------------------------------+ int GetSignal (int fi_Bar = 1) { int li_Signal; //---- double ld_SignalMomentum = GetMomentumSignal (fi_Bar); int li_SignalStoch = GetStochSignal (fi_Bar), li_CrossingMA = GetCrossingMa (fi_Bar); //---- return (li_Signal); }そして、最後の関数GetSignal()で、すべてのシグナルを(自分で)「追加」するのです。P.S.インジケータから信号を 得るには、「微妙な」瞬間があるのです。例えば、maSlowがmaFastを超える/下回るという事実を修正したり、両者が交差する瞬間を「キャッチ」したりすることができます。アプローチもコードも違う。 Viktar Dzemikhau 2012.11.11 06:51 #4978 Roman.:μl4以外の言語でプログラミングをしたことがありますか? Perlで少し、Pxpで少し。でも、他の言語は必要ないので、本格的にアプローチしていません。それは重要なことですか? TarasBY 2012.11.11 06:54 #4979 hoz:だから、意味があるんです。リンクでパラメータを転送することを意味します。コードの詳細を説明するのを避けるため、簡単に説明します。3つの関数(int GetCrossingMa,int GetStochSignal,int GetSignal())があります。intGetSignal()関数はフラップやその他のインジケータの値を取得し、それを参照しながらノンコア 関数(int GetCrossingMa 、int GetStochSignal)に渡して、それらに対応するシグナルを取得することができます。異なる関数で同じデータを取得するのを避けるために行いたいのです。同じマスクを2つ以上の関数で計算するのは賢くないと思います。一 度計算すればそれで済むので楽です。なぜ、そのようなことにリソースを費やすのか? 説明はわかりやすいが、行動はわかりにくい。 これらは、これらのことです。"TheintGetSignal() function gets values of scales and other indicators" あなたのバリアントにおけるアクションは、控えめに言っても「疑問」です、なぜならそのようなアクションの必要性がないからです。このコード for(int i=1;i<=Bars;i++) { double i_maFast1 = iMA(Symbol(),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod,0,i); // Вычисляем быстрые скользящие.. double i_maFast2 = iMA(Symbol(),i_TF,i_maFastPeriod,i_maFastShift,i_maFastMethod,0,i+1); //..средние double i_maSlow1 = iMA(Symbol(),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod,0,i); // Вычисляем медленные скользящие.. double i_maSlow2 = iMA(Symbol(),i_TF,i_maSlowPeriod,i_maSlowShift,i_maSlowMethod,0,i+1); //..средние double stochD1 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,1,i); // Вычисляем значения сигнальной линии.. double stochD2 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,1,i+1); //..стохастика double stochK1 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,0,i); // Вычисляем значения главной линии.. double stochK2 = iStochastic(Symbol(),i_TF,i_stoch_D,i_stoch_K,i_stoch_slowing,0,0,0,i+1); //..стохастика }フルP...ここで「何が起こっているのか」わかっているのだろうか。- バー行」全体が無駄に検索され、ループの最後には変数に値が残っている...。次に何が起こるか想像してみてください。 削除済み 2012.11.11 07:08 #4980 良い一日の友人! あなたは、取引プラットフォームNZ MT4の使用を開始する方法プロを伝えることができますか? 私は、開始する場所、私はその後の売却で株式を購入する方法、デモ口座を 意味し、プラットフォームのインターフェイスを理解することはできません? 1...491492493494495496497498499500501502503504505...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
有効化された端末を無効化するために、別途プログラム(タスク)を作成する必要がありますか?
私のテスト生フクロウのチュートリアルを紹介します。
intGetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2) 関数は、クロスシグナルを取得する関数です。
intGetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2) 関数はストキャスティックからシグナルを受け取ります。
void GetMomentumSignal() 関数は、運動量の値を取得します。
intGetSignal() は、前の3つの関数に基づく一般的なシグナルを取得し、それらだけを取得するわけではありません。問題はこれです。int GetSignal() 関数がいわばメインで、メインシグナルを取得するので、フラップの値(i_maFast1,i_maFast2, i_maSlow1,i_maSlow2 )とストキャスティクス(stochD1,stochD2, stochK1,stochK2 )を全て取得します。
コードの最適 化は正しかったのでしょうか?
もちろん、GetSignal() 関数で得られたパラメータはすべて、対応する関数に参照渡し される。
しかし、ここでこの断片は
はコンパイル時にエラーが発生します。
私のテスト生フクロウのチュートリアルを紹介します。
コンパイル時にエラーが出る。
なぜなら
カスタムコードを掘り下げるのは好きではないのですが、関数でdoubleの後に&(!)があるのはなぜなのか、すぐに気づきました。これがエラーの原因になるのです
だから、意味があるんです。リンクでパラメータを転送 することを意味します。
コードの詳細を説明するのを避けるため、簡単に説明します。
3つの関数(int GetCrossingMa,int GetStochSignal,int GetSignal())があります。
intGetSignal()関数はフラップやその他のインジケータの値を取得し、それを参照しながらノンコア 関数(int GetCrossingMa 、int GetStochSignal)に渡して、それらに対応するシグナルを取得することができます。異なる関数で同じデータを取得するのを避けるために行いたいのです。同じマスクを2つ以上の関数で計算するのは賢くないと思います。一 度計算すればそれで済むので楽です。なぜ、このような無駄なリソースが必要なのでしょうか?
だから、意味があるんです。リンクでパラメータを転送することを意味します。
コードの詳細を説明するのを避けるため、簡単に説明します。
3つの関数(int GetCrossingMa,int GetStochSignal,int GetSignal())があります。
intGetSignal()関数はフラップやその他のインジケータの値を取得し、それを参照しながらノンコア 関数(int GetCrossingMa 、int GetStochSignal)に渡して、それらに対応するシグナルを取得することができます。異なる関数で同じデータを取得するのを避けるために行いたいのです。同じ仮面を2つ以上の関数で計算するのは賢明ではないと思います。一 度計算すればそれで済むので楽です。なぜ、このような無駄なリソースが必要なのでしょうか?
μl4以外の言語でプログラミングをしたことがありますか?
私のテスト生フクロウのチュートリアルを紹介します。
intGetCrossingMa(double& i_maFast1, double& i_maFast2, double& i_maSlow1, double& i_maSlow2) 関数は、クロスシグナルを取得する関数です。
intGetStochSignal(double& stochD1, double& stochD2, double& stochK1, double& stochK2) 関数はストキャスティックからシグナルを受け取ります。
void GetMomentumSignal() 関数は、運動量の値を取得します。
intGetSignal() は、前の3つの関数に基づく一般的なシグナルを取得し、それらだけを取得するわけではありません。問題はこれです。int GetSignal() 関数がいわばメインで、メインシグナルを取得するので、フラップの値(i_maFast1,i_maFast2, i_maSlow1,i_maSlow2 )とストキャスティクス(stochD1,stochD2, stochK1,stochK2 )を全て取得します。
コードの最適化は正しかったのでしょうか?
もちろん、GetSignal() 関数で得られたパラメータはすべて、対応する関数に参照渡し される。
しかし、ここでこの断片は
というエラーがコンパイル時に表示されます。
これは、私たちが必要としているバーでの信号探索のバリエーションかもしれません。
そして、最後の関数GetSignal()で、すべてのシグナルを(自分で)「追加」するのです。
P.S.インジケータから信号を 得るには、「微妙な」瞬間があるのです。例えば、maSlowがmaFastを超える/下回るという事実を修正したり、両者が交差する瞬間を「キャッチ」したりすることができます。アプローチもコードも違う。
μl4以外の言語でプログラミングをしたことがありますか?
だから、意味があるんです。リンクでパラメータを転送することを意味します。
コードの詳細を説明するのを避けるため、簡単に説明します。
3つの関数(int GetCrossingMa,int GetStochSignal,int GetSignal())があります。
intGetSignal()関数はフラップやその他のインジケータの値を取得し、それを参照しながらノンコア 関数(int GetCrossingMa 、int GetStochSignal)に渡して、それらに対応するシグナルを取得することができます。異なる関数で同じデータを取得するのを避けるために行いたいのです。同じマスクを2つ以上の関数で計算するのは賢くないと思います。一 度計算すればそれで済むので楽です。なぜ、そのようなことにリソースを費やすのか?
説明はわかりやすいが、行動はわかりにくい。
これらは、これらのことです。"TheintGetSignal() function gets values of scales and other indicators" あなたのバリアントにおけるアクションは、控えめに言っても「疑問」です、なぜならそのようなアクションの必要性がないからです。
このコード
フルP...ここで「何が起こっているのか」わかっているのだろうか。- バー行」全体が無駄に検索され、ループの最後には変数に値が残っている...。次に何が起こるか想像してみてください。