初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1363 1...135613571358135913601361136213631364136513661367136813691370...1503 新しいコメント Fast235 2021.10.18 11:51 #13621 Mikhail Toptunov #:prev_calculatedの計算のアナログを整理する方法を教えてください、解りません。授業のナビゲートに苦労しています。 BarsCalculated-1? Mikhail Toptunov 2021.10.18 12:54 #13622 //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int CNewBar::PrevCalculated(void) { int pc=(int)(this.RatesTotal()-this.m_rt); return(pc); } //+------------------------------------------------------------------+ //| CNewBar IsNewBar Основная функция класса | //+------------------------------------------------------------------+ bool CNewBar::IsNewBar(void) { datetime tm=this.Time(); Print("this.m_time ",this.m_time," tm ",tm," this.m_pc ",this.m_pc," this.m_rt ",this.m_rt); if(tm==0) return false; if(tm!=this.m_time) { //--- определяем время this.m_time=tm; //--- определяем кол-во this.m_pc=this.PrevCalculated(); this.m_rt=(int)this.RatesTotal(); return true; } this.m_pc=(int)this.m_rt; return false; } これは私がやった方法ですが、もしより賢明な方法を提案していただけるなら、それは素敵なことです!!!! Mikhail Toptunov 2021.10.18 14:34 #13623 Fast235 #: システムにとってはより多くのリソースを必要としますが、持続可能性という点では、私が行ったよりも効率的だと思います。 Mikhail Toptunov 2021.10.18 16:25 #13624 Mikhail Toptunov #:私はそのようにしました。もし、もっと賢明な方法を提案していただけるなら、それは素晴らしいことです!!! うそつけ......論理が破綻している。下の方が正しいです。 class CNewBar : public CObject { private: string m_symbol; ENUM_TIMEFRAMES m_timeframe; datetime m_time; int m_rt; int m_pc; datetime Time(void); int PrevCalculated(void); int RatesTotal(void); string Symbol(void) { return this.m_symbol; } public: ENUM_TIMEFRAMES Timeframe(void) { return this.m_timeframe; } datetime GetTime(void) { return this.m_time; } // Возвращает время последнего обращения int GetRatesTotal(void) { return this.m_rt; } int GetPrevCalculated(void) {return this.m_pc; } bool IsNewBar(void); // Основная функция класса CNewBar(const string symbol,const ENUM_TIMEFRAMES timeframe); ~CNewBar(void) {;} }; //+------------------------------------------------------------------+ //| Кол-во отработанных | //+------------------------------------------------------------------+ int CNewBar::PrevCalculated(void) { int _rt=this.RatesTotal(); int rt=_rt-(_rt-this.m_rt); return(rt < 0 ? 0 : rt); } //+------------------------------------------------------------------+ //| CNewBar IsNewBar Основная функция класса | //+------------------------------------------------------------------+ bool CNewBar::IsNewBar(void) { datetime tm=this.Time(); int rt=this.RatesTotal(); if(tm==0) return false; if(tm!=this.m_time) { //--- определяем время this.m_time=tm; //--- определяем кол-во this.m_pc=this.PrevCalculated(); this.m_rt=rt; return true; } this.m_pc=rt<0 ? 0 : rt; return false; } しかし、起動時に値がゼロになる理由はここにあり、黄色いバーでマークされています。 //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { for(int i=1; i<2; i++) { ENUM_TIMEFRAMES n_period=(ENUM_TIMEFRAMES)GetPeriodEnumerator((uchar)i); CNewBar *nb = new CNewBar(Symbol(), n_period); if(nb==NULL) continue; if(!list_new_bar.Add(nb)) { delete nb; continue; } Print(nb.IsNewBar(), " ***** ", Symbol(), " ***** ", nb.Timeframe()," RatesTotal ",nb.GetRatesTotal()," Calculated ",nb.GetPrevCalculated()); } //--- create timer EventSetTimer(1); //--- return(INIT_SUCCEEDED); } Fast235 2021.10.18 22:48 #13625 Mikhail Toptunov #:デタラメな論理が破綻している。以下の方がより正しいです。しかし、起動時に値がゼロになる理由はここにあり、黄色いバーでマークされています。 は、New Barだけですか? Mikhail Toptunov 2021.10.19 03:22 #13626 Fast235 #:は、New Barだけですか? ストラテジーを実装するためのパラメータが必要です RatesTotal PrevCalculated そして、新しいバーは、すべてのTFをスルーできるオマケのようなものです また、各バーごとに価格を計算する必要があります。 //+------------------------------------------------------------------+ //| Расчет цены | //+------------------------------------------------------------------+ int CNewBar::PriceHL2(void) { int res=ArrayResize(this.m_pr_hl2,this.m_rt); for(int b=this.m_pc; b<this.m_rt; b++) m_pr_hl2[b]=MathAbs((iHigh(this.m_symbol,this.m_timeframe,b) + iLow(this.m_symbol,this.m_timeframe,b))/2); return(res); } デバッグ中に値は表示されるが、Expert Advisorから配列を引き出すことができない Expert Advisorで正しく入力する方法は? 計算に必要です。 Daniil Osipov 2021.10.19 09:05 #13627 皆さん、こんにちは。トレーディングロボットとトレーディングアドバイザーの違いについて教えてください。 Vitaly Muzichenko 2021.10.19 09:06 #13628 Daniil Osipov #: 皆さん、こんにちは。トレーディングロボットと トレーディングアドバイザーの 違いについて教えて ください。 言葉遊びのようなもの。 Evgeny Dyuka 2021.10.19 09:44 #13629 インジケーターはどのようにしてサブウィンドウの番号を知ることができるのですか? 例えば、そのサブウインドウに何かを書き込んだり、描いたりすることです。 IndicatorGetInteger」のような明示的な関数は見つかりませんでした。 Vladimir Karputov 2021.10.19 09:47 #13630 Evgeny Dyuka #: インジケーターはどのようにしてサブウィンドウの番号を知ることができるのですか?例えば、そのサブウインドウに何かを書き込んだり、描いたりすることです。IndicatorGetInteger "のような明示的な関数は見つかっていません。チャートウィンドウファインド Документация по MQL5: Операции с графиками / ChartWindowFind www.mql5.com ChartWindowFind - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 1...135613571358135913601361136213631364136513661367136813691370...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
prev_calculatedの計算のアナログを整理する方法を教えてください、解りません。授業のナビゲートに苦労しています。
これは私がやった方法ですが、もしより賢明な方法を提案していただけるなら、それは素敵なことです!!!!
システムにとってはより多くのリソースを必要としますが、持続可能性という点では、私が行ったよりも効率的だと思います。
私はそのようにしました。もし、もっと賢明な方法を提案していただけるなら、それは素晴らしいことです!!!
うそつけ......論理が破綻している。下の方が正しいです。
しかし、起動時に値がゼロになる理由はここにあり、黄色いバーでマークされています。
デタラメな論理が破綻している。以下の方がより正しいです。
しかし、起動時に値がゼロになる理由はここにあり、黄色いバーでマークされています。
は、New Barだけですか?
は、New Barだけですか?
ストラテジーを実装するためのパラメータが必要です
そして、新しいバーは、すべてのTFをスルーできるオマケのようなものです
また、各バーごとに価格を計算する必要があります。
デバッグ中に値は表示されるが、Expert Advisorから配列を引き出すことができない
Expert Advisorで正しく入力する方法は? 計算に必要です。
皆さん、こんにちは。トレーディングロボットと トレーディングアドバイザーの 違いについて教えて ください。
言葉遊びのようなもの。
例えば、そのサブウインドウに何かを書き込んだり、描いたりすることです。
IndicatorGetInteger」のような明示的な関数は見つかりませんでした。
インジケーターはどのようにしてサブウィンドウの番号を知ることができるのですか?例えば、そのサブウインドウに何かを書き込んだり、描いたりすることです。IndicatorGetInteger "のような明示的な関数は見つかっていません。