MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1523 1...151615171518151915201521152215231524152515261527152815291530...1953 新しいコメント PapaYozh 2021.07.02 13:46 #15221 Сергей Таболин:すべてのクラスの神聖な意味や、なぜOOPが我々の(トレーディング)ビジネス全般で必要なのかを理解できないディレッタントの私としては、クラスはすべて(MQとグルによって)書かれたコードライブラリであり、「グルではないコードライター」の生活を「容易に」するために設計されているのだと理解しています。問題は、すでに述べたように、この「安心感」をすべて利用しても、コードを書くのが楽になるわけではないことです。なぜなら、自分で送った注文は必ずダブルチェックしなければならないからですなぜなら、実質的に誰もが私にいくつかの「取引」を確認するように要求するからです。この「...株」がランダムに出てくるのだから、なおさらだ。この場所に、この角度で釘を打てということです。それだけです。次に返事が来る。釘が打たれているのだ。という警告が出るんです。 爪のサイズが合っていなかったのかもしれません。 角度が違うかも しれないので、確認が 必要です。 打ち込む 場所が 違うのかもしれませんね~確認が 必要です。 では、なぜそのようなパフォーマー(クラス)が必要なのでしょうか? 少し大げさかもしれませんが、言いたいことは変わりません。 その理由は?なぜなら、クラスで処理されるデータは、そのクラスが変更されたことを疑わないように変更することができるからです。 なるほど。 ちなみに、OOPでプログラミングが簡単になるわけではないというのは、私も同感です。 OOPは、大きなプロジェクトを 維持するのは容易ですが、小さなプロジェクトを作るのは難しくなる傾向があります。 OOPは初心者の方が難しい。 他人の授業を使うということは、ある程度、ブラックボックスを使うということです。 jarikn 2021.07.02 15:53 #15222 こんにちは。どこを間違えたのか、なぜインジケーターに矢印が表示されないのか、教えてください。 #property copyright "Copyright 2021, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window double Buy[]; // Буфер для покупок double Sell[]; // Буфер для продаж input int tenkan_sen1 = 9; input int kijun_sen1 = 26; input int senkou_span_b1 = 52; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- indicator buffers mapping SetIndexBuffer(0,Buy); SetIndexBuffer(1,Sell); // Устанавливаем нулевые значения для индикатора, при которых не будет сигнальных стрелок SetIndexEmptyValue (0, 0); SetIndexEmptyValue (1, 0); //Определяем стиль отображения индикаторных линий - стрелка SetIndexStyle (0, DRAW_ARROW); SetIndexStyle (1, DRAW_ARROW); // Установим значки "стрелки" для буферов SetIndexArrow(0, 234); //Стрелка "вниз" для продаж SetIndexArrow(1, 233); //Стрелка "вверх" для покупок //Устанавливаем текст описания стрелок индикатора для отображения информации в всплывающей подсказке. SetIndexLabel(0, "Продаём"); SetIndexLabel(1, "Покупаем"); //Определяем разрядность значений индикаторных линий - приравниваем разрядности фин. инструмента IndicatorDigits (Digits); //Строка с кратким названием индикатора выводится в сплывающей подсказке при наведении указателя мыши на стрелку IndicatorShortName ("Мой первый индикатор"); //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int limit=rates_total-prev_calculated-1; if(limit<1) return(0); for(int i=limit;i>=0;i--) { // Снимем показания индикатора double tenkan_sen = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_TENKANSEN,i); double kijun_sen = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_KIJUNSEN,i); double senkou_span_b = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_SENKOUSPANA,i); double senkou_span_a = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_SENKOUSPANB,i); double chikou_span = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_CHIKOUSPAN,i); if(tenkan_sen>kijun_sen) Buy[i]=high[i]; if(tenkan_sen<kijun_sen) Sell[i]=low[i]; } /*input int tenkan_sen = 9; input int kijun_sen = 26; input int senkou_span_b = 52;*/ //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ Tretyakov Rostyslav 2021.07.02 16:22 #15223 jarikn: こんにちは。どこを間違えたのか、なぜインジケーターに矢印が表示されないのか、教えてください。 #property indicator_buffers 2 jarikn 2021.07.02 16:42 #15224 MakarFX: 足りない行を入れたが、まだ矢印が出ない!? Tretyakov Rostyslav 2021.07.02 16:54 #15225 jarikn:足りない行を入れたが、まだ矢印が出ない!? みせる jarikn 2021.07.02 16:58 #15226 MakarFX:みせる //+------------------------------------------------------------------+ //| ishimocu.mq4 | //| Copyright 2021, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict #property indicator_chart_window #property indicator_buffers 2 //--- input parameters double Buy[]; // Буфер для покупок double Sell[]; // Буфер для продаж input int tenkan_sen1 = 9; input int kijun_sen1 = 26; input int senkou_span_b1 = 52; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- indicator buffers mapping SetIndexBuffer(0,Buy); SetIndexBuffer(1,Sell); // Устанавливаем нулевые значения для индикатора, при которых не будет сигнальных стрелок SetIndexEmptyValue (0, 0); SetIndexEmptyValue (1, 0); //Определяем стиль отображения индикаторных линий - стрелка SetIndexStyle (0, DRAW_ARROW); SetIndexStyle (1, DRAW_ARROW); // Установим значки "стрелки" для буферов SetIndexArrow(0, 234); //Стрелка "вниз" для продаж SetIndexArrow(1, 233); //Стрелка "вверх" для покупок //Устанавливаем текст описания стрелок индикатора для отображения информации в всплывающей подсказке. SetIndexLabel(0, "Продаём"); SetIndexLabel(1, "Покупаем"); //Определяем разрядность значений индикаторных линий - приравниваем разрядности фин. инструмента IndicatorDigits (Digits); //Строка с кратким названием индикатора выводится в сплывающей подсказке при наведении указателя мыши на стрелку IndicatorShortName ("Мой первый индикатор"); //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int limit=rates_total-prev_calculated-1; if(limit<1) return(0); for(int i=limit;i>=0;i--) { // Снимем показания индикатора double tenkan_sen = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_TENKANSEN,i); double kijun_sen = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_KIJUNSEN,i); double senkou_span_b = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_SENKOUSPANA,i); double senkou_span_a = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_SENKOUSPANB,i); double chikou_span = iIchimoku(NULL,0,tenkan_sen1,kijun_sen1,senkou_span_b1,MODE_CHIKOUSPAN,i); if(tenkan_sen>kijun_sen) Buy[i]=high[i]; if(tenkan_sen<kijun_sen) Sell[i]=low[i]; } /*input int tenkan_sen = 9; input int kijun_sen = 26; input int senkou_span_b = 52;*/ //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ Tretyakov Rostyslav 2021.07.02 17:17 #15227 jarikn: 図面があるのですが...。 jarikn 2021.07.02 17:29 #15228 MakarFX:描いているのは... クソワロタwwイシモクの間違いだろww )))) ありがとうございました Andrei Sokolov 2021.07.02 17:46 #15229 Alexey Viktorov:ああ、そうだな・・・最小限の事務処理と最大の頭痛の種・・・。 具体的にはどのようなものですか?私のやり方が悪いだけかもしれませんが。 Alexey Viktorov 2021.07.02 19:19 #15230 Andrey Sokolov:具体的にはどのようなものですか?私は何か間違ったことをしているのでしょうか? トレーディング、自動売買システム、ストラテジーテストに関するフォーラム 小学生にはOOP。 アレクセイ・ビクトロフ, 2019.10.04 16:01 mqlは、OOPで解決できる問題が非常に限られていると思います。言語そのものは、C++とかでOOPしているに過ぎないような気がします。そしてこのOOPは、標準ライブラリという形で提供されています。そして、このOOPに、そうでなければ言えないが、別のOOPを加えることが提案されている。そして、もう一歩...。正しくウォーロックは、怒っているが、慈悲深い、私のタスクのために、OOPは犬のターンテーブルのようなものです。また、タスクを定義し、それをOOPで実装したところで、そのタスクが手続き型で問題なく解決できるのであれば、何の意味があるのでしょうか。 例えば、fxsaber`aから.mqhを取り出し、MT4だけでなくMT5用のコードも記述することができます。もしかしたら必要な人がいるかもしれませんが、誰だか見てください。mql5を使いたくない人、絶対に使いこなせない人へ。あるいは、ニコライ・・・彼の名字は忘れましたが、iCanvasをどうぞ。便利なライブラリのようですが、わかりにくいし、ちょっとした説明書すらありません。文句じゃなくて、ごめんね、ニコライさん、事実なんだ。だから、グラフィカルなラベルを書いてみようと思ったとき、標準ライブラリもニコライのライブラリも参照しない方が書きやすかったんです。 そして、スレッド全体を読むと、 。 1...151615171518151915201521152215231524152515261527152815291530...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
すべてのクラスの神聖な意味や、なぜOOPが我々の(トレーディング)ビジネス全般で必要なのかを理解できないディレッタントの私としては、クラスはすべて(MQとグルによって)書かれたコードライブラリであり、「グルではないコードライター」の生活を「容易に」するために設計されているのだと理解しています。
問題は、すでに述べたように、この「安心感」をすべて利用しても、コードを書くのが楽になるわけではないことです。なぜなら、自分で送った注文は必ずダブルチェックしなければならないからですなぜなら、実質的に誰もが私にいくつかの「取引」を確認するように要求するからです。この「...株」がランダムに出てくるのだから、なおさらだ。
この場所に、この角度で釘を打てということです。それだけです。次に返事が来る。釘が打たれているのだ。という警告が出るんです。
では、なぜそのようなパフォーマー(クラス)が必要なのでしょうか?
少し大げさかもしれませんが、言いたいことは変わりません。
その理由は?なぜなら、クラスで処理されるデータは、そのクラスが変更されたことを疑わないように変更することができるからです。
なるほど。
ちなみに、OOPでプログラミングが簡単になるわけではないというのは、私も同感です。
OOPは、大きなプロジェクトを 維持するのは容易ですが、小さなプロジェクトを作るのは難しくなる傾向があります。
OOPは初心者の方が難しい。
他人の授業を使うということは、ある程度、ブラックボックスを使うということです。
こんにちは。どこを間違えたのか、なぜインジケーターに矢印が表示されないのか、教えてください。
足りない行を入れたが、まだ矢印が出ない!?
足りない行を入れたが、まだ矢印が出ない!?
みせる
みせる
図面があるのですが...。
描いているのは...
クソワロタwwイシモクの間違いだろww )))) ありがとうございました
ああ、そうだな・・・最小限の事務処理と最大の頭痛の種・・・。
具体的にはどのようなものですか?私のやり方が悪いだけかもしれませんが。
具体的にはどのようなものですか?私は何か間違ったことをしているのでしょうか?
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
小学生にはOOP。
アレクセイ・ビクトロフ, 2019.10.04 16:01
mqlは、OOPで解決できる問題が非常に限られていると思います。言語そのものは、C++とかでOOPしているに過ぎないような気がします。そしてこのOOPは、標準ライブラリという形で提供されています。そして、このOOPに、そうでなければ言えないが、別のOOPを加えることが提案されている。そして、もう一歩...。正しくウォーロックは、怒っているが、慈悲深い、私のタスクのために、OOPは犬のターンテーブルのようなものです。また、タスクを定義し、それをOOPで実装したところで、そのタスクが手続き型で問題なく解決できるのであれば、何の意味があるのでしょうか。
例えば、fxsaber`aから.mqhを取り出し、MT4だけでなくMT5用のコードも記述することができます。もしかしたら必要な人がいるかもしれませんが、誰だか見てください。mql5を使いたくない人、絶対に使いこなせない人へ。あるいは、ニコライ・・・彼の名字は忘れましたが、iCanvasをどうぞ。便利なライブラリのようですが、わかりにくいし、ちょっとした説明書すらありません。文句じゃなくて、ごめんね、ニコライさん、事実なんだ。だから、グラフィカルなラベルを書いてみようと思ったとき、標準ライブラリもニコライのライブラリも参照しない方が書きやすかったんです。
。