MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 919

 
novichok2018:

こんにちは。

フォーラムで、ある秒数の間に価格が何ポイント通過したかを計算する 関数を見つけました。 それをコードに入れてコンパイルすると、すべてOKなのですが、それを呼び出そうとすると、コンパイラは間違ったパラメータ数を生成します。

私は何を間違えているのだろう?

しないんですね。

Документация по MQL5: Основы языка
Документация по MQL5: Основы языка
  • www.mql5.com
Язык MetaQuotes Language 5 (MQL5) является объектно-ориентированным языком программирования высокого уровня и предназначен для написания автоматических торговых стратегий, пользовательских технических индикаторов для анализа разнообразных финансовых рынков. Он позволяет не только писать разнообразные экспертные системы, предназначенные для...
 
novichok2018:

何があったんですか?

みんな寝てるのか、それとも絶滅 したのか?

笑)。

 
Artyom Trishkin:

読まないんですね。

イゴール・マカヌ無茶な質問に答えを書く のは怠慢だ

紳士淑女の「賢い人たち」!

自分がどの掲示板のスレッドにいるのか、ずっと忘れているんですね。このブランチは、初心者のための 質問コーナー」と名付けられています。また、自分が初心者を助けられると思うなら(目立ちたがり屋さんじゃないですよね)、自分にはバカバカしくて不条理に思える、初心者が自分の助けなしに理解するのは難しい質問に、しおらしく答える必要はないでしょう。

言語基礎の「関数呼び出し」を20回読んでも、この場合、どんなパラメータを入力すればいいのかわからないのだ。

ということで、どなたか、スキを突いて、具体的なアドバイスをしてくださるかも?

ありがとうございます。

 
novichok2018:

紳士淑女の「賢い人たち」 !

自分がどの掲示板のスレッドにいるのか、ずっと忘れているんですね。思い出されるのは、このスレッドが「初心者からのどんな 質問でも...」というものであることです。また、自分が初心者を助けられると思うなら(目立ちたがり屋さんじゃないですよね)、自分にはバカバカしくて不条理に思える、初心者が自分の助けなしに理解するのは難しいような質問に、気難しく答える必要はないでしょう。

言語基礎の「関数呼び出し」を20回読んでも、この場合、どんなパラメータを入力すればいいのかわからないのだ。

ということで、どなたか、スキを突いて、具体的なアドバイスをしてくださるかもしれませんね。

ありがとうございます。

これが私の支店なら、忘れるわけがない。:)

"何でも "と言っても、お酒の強さを語るわけではありませんが...。どんな、むしろ「意味のある」質問でも。そして、あなたが質問しているのは、どんなプログラミング言語でも基本的なことで、その質問で人々を困惑させてしまっています。しかし、それはこのスレッドとフォーラム自体の両方の範囲を超えています。

せっかくリンクを貼ったのに、鼻を高くしている。だから、「何でもやってあげる」ではなく、「知に至る道」を示してくれる人に対しては、「なぜ黙っているのか、誰も知らないのか、何なのか」と首をかしげることが長く続く。

ヘルプでは、関数とその形式パラメータについて説明しています。それと、申し訳ないが、CodeBaseに 大量の例がある。 任意のコードを開き、正式なパラメータを持つ関数の定義を探し、それがどのように呼び出されるかを見る...

まあ、簡単なことだ。怠けずに、天からのマナを待たずに、せめて自分の灰白質をかき混ぜればいいのだ。

アカデミーを卒業したわけでもないのに...。軍隊を出て、XZスペクトラムのプログラムを書くことに興味を持ったんだ。BASICで...そしてアセンブラでプログラムを書くまでになり、それがどんどん進んでいったんです。

しかも掲示板もなく、インターネットを3人(今日一人、明日一人、明後日私)で共有していました。そして、インターネットは高価で、しかも電話線を使ったモデム経由であった。
ラジオのフリーマーケットでプログラミングの本を買いました。今、プログラミングを専攻して卒業した弟が、どうしたらいいのか、何をしたらいいのか相談しているんです。
でも、勉強したかったし、情熱もあった。あなたはどうですか?そして、あなたは、私が思うに、誰かにすべてをやってもらう必要があるのです。

 
Artyom Trishkin:

アカデミーを卒業したわけでもないのに...。軍隊を出て、XZスペクトラムのプログラムを書くことに興味を持ったんだ。BASICで......アセンブラでプログラムを書いているうちに、どんどん進んでしまったんです。

掲示板もなく、インターネットを3人(今日1人、明日1人、明後日私)で共有していました。そして、インターネットは高価で、しかも電話線を使ったモデム経由であった。
ラジオのフリーマーケットでプログラミングの本を買いました。今、プログラミングを専攻して卒業した弟が、どうしたらいいのか、何をしたらいいのか相談しているんです。
でも、勉強したかったし、情熱も あった。あなたはどうですか?そして、あなたは、私が思うに、誰かにすべてをやってもらう必要があるのです。

その執念と決意に拍手を送りたい。あなたが言ったことは確かに尊敬に値しますが、他の人にも同じことを要求するのは無分別です。また、自分でロボットを作ろうと思っても、誰もがプログラミング言語を学ぼうとするわけではありません。上にも書きましたが、私にはそんな目標はありません。こうすればいい、ああすればいいという疑問があれば、あまり深入りせずに参考書や教科書、掲示板などで解決策を探しますよね。そのためか、一見初歩的なことが急にわからなくなる、こういう状況が発生するのです。もちろん、「灰色物質をくねらせる」ことで、それでも解決策を見出すつもりです。そう、「CodeBaseに ある膨大なサンプル」を読み漁り、多くの時間を浪費してきたのでしょう。しかし、初心者を助けると言う代わりに、言語の勉強を深くさせるのでは、なぜこのスレッドを作ったのか、なぜそのように呼んだのかが不明になってしまいます。MKL4とMKL5を一緒に学ぶ」、そう呼ぶべきでしたね。誰も助けられたいとは思っていないと思います。教科書へのリンクではなく、何がどうなっているのかを説明したり、具体的なヒントを与えるだけで十分だと思います。誰かに何かをしてもらいたいときは、具体的に「何か書いてください」などと言うべきでしょう。

まあ、無駄にやってくれるはずなんだけどね。さらなる発展を祈っています。

 
novichok2018:

その粘り強さと決断力に拍手です。確かにおっしゃることは尊敬に値しますが、誰にでも同じことを要求するのは筋が通らないと思うのです。また、自分でロボットを作ろうと思っても、誰もがプログラミング言語を習得しているわけではありません。上にも書きましたが、私にはそんな目標はありません。こうすればいい、ああすればいいという疑問があれば、あまり深く考えずに参考書や教科書、掲示板などで解決策を探すだけです。そのためか、一見初歩的なことが急にわからなくなる、こういう状況が発生するのです。もちろん、「灰色物質をくねらせる」ことで、それでも解決策を見出すつもりです。そう、「CodeBaseに ある膨大なサンプル」を読み漁り、多くの時間を浪費してきたのでしょう。しかし、初心者を助けると言う代わりに、言語の勉強を深くさせるのでは、なぜこのスレッドを作ったのか、なぜそのように呼んだのかが不明になってしまいます。MKL4とMKL5を一緒に学ぶ」、そう呼ぶべきでしたね。誰も助けられたいとは思っていないと思います。教科書へのリンクではなく、何がどうなっているのかを説明したり、具体的なヒントを与えるだけで十分だと思います。誰かに何かをしてもらいたいときは、具体的に「何か書いてください」などと言うべきでしょう。

まあ、無駄にやってくれるはずなんだけどね。さらなる発展を祈っています。

あなたの言葉には、恨みがこもっています。しかし、あなたは自分の機能すら示していない。
 
Artyom Trishkin:
言葉には恨みがこもっている。しかし、あなたは自分の機能すら示していない。

それは恨みではなく、悔しさです。怒られるのは子供の頃以来です。そして、誰もその機能を求めていないのに、嫌味を言ってきたんですね。

さて、その機能ですが。

int ItemsPerSecond(const int seconds,MqlTick &tick)
{
//---
   static MqlTick rates[];
   datetime time_start;
   int count=0,size;
   bool insert=false;
   double price_start=0;
   long msc=0;
//---
   time_start=TimeCurrent()-seconds;
   
   for(int i=0;i<ArraySize(rates);i++)
   {
      if(rates[i].time>0 && rates[i].time<time_start)
      {
         ZeroMemory(rates[i]);
      }
      else if(!insert && rates[i].time==0)
      {
         rates[i]=tick;
         insert=true;
      }
      if(rates[i].time_msc>0 && (rates[i].time_msc<msc || msc==0))
      {
         price_start=rates[i].bid;
         msc=rates[i].time_msc;
      }
      
   }
   if(!insert)
   {
      size=ArraySize(rates);
      ArrayResize(rates,size+1,300);
      rates[size]=tick;
   }
   if(price_start>0)count=(int)((tick.bid-price_start)/Point);
   
   Comment("size: "+IntegerToString(ArraySize(rates))+"\r\n"+"count: "+IntegerToString(count));
//---
   return(count);   
} 

と呼びかけると、こんな感じです。

void OnTick()
  { 
  ItemsPerSecond(3); 
  }

3は3秒(だと思う)。

 
novichok2018:

フォーラムで、ある秒数の間、価格が何ポイント通過したかをカウントする 関数を見つけました int ItemsPerSecond(const int seconds,MqlTick&tick) それをコードに入れてコンパイルしました。

私は何を間違えているのだろう?


novichok2018 です。

呼び方はこんな感じです。

void OnTick()
  { 
  ItemsPerSecond(3); 
  }

ヘルプを読むhttps://www.mql5.com/ru/docs/basis/functionhttps://www.mql5.com/ru/docs/basis/variables/formal

呼び出す関数のパラメータはいくつですか?

int ItemsPerSecond(const int seconds,MqlTick &tick)



novichok2018 です。

また、自分でロボットを作ろうと思っても、誰もがプログラミング言語を習得しているわけではない傾向があります。上にも書きましたが、私にはそんな目標はありません。こうすればいい、ああすればいいという疑問があれば、あまり深く考えずに参考書や教科書、掲示板などで解決策を探すだけです。そのためか、一見初歩的なことが突然わからなくなる、というような事態が発生します。 もちろん、「灰色物質をくねらせる」ことで、それでも解決策を見出す。

MQLのことは自分でプログラムを書くことでもない、残念ながら何も習得していない...指で...英語のアルファベットは「Hey, B, C, D...」と覚えましたね。と、今度は英語で掲示板に書こうとすると、「これは英語の知識ではない、全く関係ない話だ」と言われる...。と、また気分を害されたのか、ここは掲示板、ここは初心者へのサポートがあるトピック、全部読んだよ!!と、また輪をかけて、おいお前賢いな!と、なぜこのスレを!? 俺は気分を害するタイプじゃないんだよ!!!。

 
Igor Makanu:


ヘルプを読むhttps://www.mql5.com/ru/docs/basis/functionhttps://www.mql5.com/ru/docs/basis/variables/formal

呼び出す関数のパラメータはいくつですか?



MQLのこともマスターしていない、自分でプログラムを書くことでもない、残念ながら何も学んでいない...指で...英語のアルファベットは "Hey, B, C, D... "と覚えているんですね。と、今度は英語で掲示板に書こうとすると、「これは英語の知識ではない、全く関係ない話だ」と言われる...。とまた怒られる、ここは掲示板、ここは新人のサポートがあるトピック、全部読んだよ!!とまた輪をかけて、おいおい賢いお前ら!!となぜこのスレッド!? 俺は怒られるタイプじゃない!!!!と。

文字数が多く、対談者のナルシズムと屈辱感しかない。また、第2パラメータはどのような形で挿入すればよいのでしょうか。第2パラメータを数値で聞いてみたが、同じ結果だった。なぜ、こんなにたくさんの「言葉」があるのか?私の例では、コンパイル済みでテスト済みの解決策を示します。それとも肥大化した自尊心が許さないのか?

 
novichok2018:

それとも、肥大化した自尊心がそうさせないのでしょうか?

私はあなたとコミュニケーションをとらない権利を行使し(幸いにもあなたは私にそれを強制することはできません)、あなたはフォーラムに書き込む権利を行使しますが、勉強のためにあなたに提供された資料を読まないのですか?

void OnTick()
  { 
  MqlTick t;
// судя по исходнику в t нужно скопировать тики и вызывать так:
ItemsPerSecond(3,t); 
  }

novichok2018 です。

第2パラメータを番号で聞いてみたが、同じ結果だった。なぜ、こんなにたくさんの言葉があるのか?コンパイル済みでテスト済みの私の例で解決策を教えてください。

以下は、あなたの例のItemsPerSecond()関数の 正しい呼び出し です。私はコンパイルもテストもしていませんし、ターミナルを実行するつもりもありません - あなたの質問には答えました。