int init()
{
int i=0,j=0,k=0;//initialize the variables to zero (now required with #property strict line that is at top of file.
string ls; //strings are initialized implicitly by compiler.
while (true) { //this loop will run until it breaks out of it at the break;.
j=StringFind(LotsProgression,";",i);
//Look in the LotsProgression string for a semicolon (LotsProgression="0.1;0.2;0.3")
//Start looking from position i (which we initialized to 0 above)and 0 is the first position of the string.
//So it starts at the beginning of the string looking for ; and as you can see in the string above position 0=0,.=1,1=2,;=3... semicolon at position 3
// now j=3;
if (j>0) { //true.. j is 3 now.
ls=StringSubstr(LotsProgression,i,j-i);//Get the piece of the string from i(which is 0)to j-1(3-1) which is 2. 0-2 position string is "0.1"
//ls is now "0.1"
i=j+1;//now i changes from 0 to 4.
k++;//k gets incremented up from 0 to 1.
ArrayResize(lots,k);// lots[] array gets made to the size of k which is 1.
lots[k-1]=StrToDouble(ls);//the lots[]array is of the double type(remember arrays start at index 0)
Here we are inserting "0.1" string but using StrToDouble() to make it a double (floating decimal number)into index [0].
//now lots[0]=0.1;
} else { //otherwise if j was not greater than zero..until we can not find any more semicolons in the string
//the following lines will not run and it will never break out of the while loop. So let's say it jumps to the top again.
//now remember i=4,j=3 and k=1 now. So it starts looking in the string at position 4(i)for a semicolon and finds one at position 7
//ls now become the string from i to j-1 or from 4 to 6 which is again "0.2". now j=7,i=8,k = 2.
//lots array gets re-sized to 2 so now it can hold index 0 and 1. and then index position k-1(2-1)=1 gets
//populated with the substring "0.2" turned into a double 0.2 lots[1]=0.2;
//Now on the third search of the string it finds no more semicolons and the else statement kicks in.. //Now i=8,j=7 and k is 2
ls=StringSubstr(LotsProgression,i);//it starts at i (position 8 and reads to the end. getting "0.3"
k++;//k is now 3
ArrayResize(lots,k);//array now holds 3 indexes(indices)
lots[k-1]=StrToDouble(ls);lots[2]=0.3.
break;we are done with this while loop and our lots array is populated like we want!
//the question is ... why not just declare an array double lots[] = {0.1,0.2,0.3};
}
}
plen=ArraySize(lots);//in this case plen is now 3..which is not used.
}
//double aLots[]={1,3,6,12,24,48,96,192,384,768}; declared, but i think its not used.//--- or maybe someone has changed it with below code.if(MaxLots==0) llots=Lots; else//in paulo costa hedgeif(MaxLots==Lots) llots=3*Lots; else//llots=3+Lots also works
llots=MaxLots*2; //llots=MaxLots+2 also works
その#property strictでi,j,kを値で初期化する必要があると思うのですが...。
ピップピップ...ジムダンディ
PipPip...Jimdandy...。
この石鹸台に飛び乗る間、失礼します...先に謝っておきます...。
1.申し訳ありません、私は確かにあなたの投稿ルールの一つを破るつもりはありませんでした。
私は、誰かがmql4をもっと理解するのを助ける方法についてもっと考えていたのです。
私は時々、誰かの問題に返信するのに最適な方法を決定するのに何時間も費やしています。
私は、言いたいことを伝えるために、私が知っている最善の方法を選びます。その過程で、私は
その過程で、私は確かに、このサイトであなたが考える最良の方法とは違うかもしれません。
このサイトでそれを行うための最良の方法であるとは限りません。しかし、私は、私がここでつまずき、書き込むことができるものから、人々は学ぶことができると思っています。
しかし、私は、私がここでつまずき、載せることができるものから、人々が学ぶことができると思います。誰もがあなたのようにこのサイトの使い方を知っているわけではないことを理解する必要があります。
このサイトの使い方を知っている人ばかりではないことを理解してください。
2.2.提案です。
2.提案:このサイトの機能の正しい使い方についてビデオを作るのはどうでしょうか
そして、投稿を残すときにこのエディタを正しく使う方法について?あるいは、少なくとも
そのビデオへのリンクを私に与えて ください。
3.3 .もし私が誰かとドキュメントの文章や段落を共有したい場合、私は単にリンクを貼り付けて
3.ドキュメントから文章や段落を共有したい場合、私は単にドキュメントのページ全体へのリンクを貼り付けて、人々にそのページを検索させるつもりはありません。
3.ドキュメントの文章や段落を誰かと共有したい場合、ドキュメントのページ全体へのリンクを貼り付けて、そのページを検索させ、どの部分を読んで欲しいのかを探させることはしません。
4.4.次のような行
"2.Iとjは 使用前に初期化されます。Kは誤って ゼロの初期値を仮定しているので、適切に初期化する必要があります。"
5.これは、非常に知的で才能があり、コードの達人のように見える人が、自分が無知な人に話しているという事実を理解していない典型的な例です。
を理解できていない典型的な例です。あるいは、自分より知的に劣る人たちと話しているのだと思い込んでいるか。
自分より知的に劣る人たちと話しているのだと思い込んでいて、自分がいかに賢いかを彼らに見せるのを楽しんでいるか。
自分のしていることを理解しているプログラマーは、あなたの投稿を読んでいません。彼らは、あなたが共有しなければならないかもしれないどんなことでも、すでに知っています。
知っているのです。これを読んでいるのは、何も知らない人たちであり、自分たちを向上させようとしている人たちなのです。
6.6.私は、あなたがどちらのケースなのかわかりません。このサイトがfacebookページのようになってしまうことを本当に心配しているのか、それとも
このサイトがfacebookのように見えてしまうことを心配しているのか、それとも純粋にmql4.の理解を深めてもらいたいのか。
それとも、エゴの旅で、警察官のようにサイト中を走り回っているのでしょうか?
それとも、誰かが間違った場所に矢を放つのを見張っている警官のように、サイトのあちこちを走り回っているのでしょうか?後者でないことを祈るばかりです。
7.7.トレーダーやプログラマーからのメールやフィードバックでわかっているのは、多くの人が質問や回答、貢献をするためにここに来るのをやめてしまったということです。
7.トレーダーやプログラマーからのメールやフィードバックでわかっているのは、多くの人がこのサイトに質問したり回答したり知識を提供したりするのをやめてしまったということです。
質問したり回答したりする際に、自分自身や他の人が無礼で不愉快な扱いを受けるため、このサイトに来るのをやめてしまったということです。適切な形式で投稿しないと、嫌がらせを受ける。
その質問の正当性や教育的貢献の価値とは関係なく、適切な形式で投稿しないために嫌がらせを受けるのです。
本当に絶望的な人だけが残ります。
8.8.このサイトには、簡単な質問ならすぐに答えられるという例もあります。
このサイトには、簡単な質問をした人が、サイトを検索しなかったり、正しい場所に投稿したり、間違った画像を含めたりしたために、非難に費やされる時間よりも短い時間で答えられるような例があります。
彼らの質問には、実際に恐怖心が感じられます。mql4GODSを 怒らせるようなことをするのではないかという恐怖です。
9.その代わりに、彼らは歓迎されていないと感じさせられ、質問を無視されるのです。なぜ、投稿する適切な方法を提案しないのですか?
そして 彼らの質問に答えてください。本当に残念なことです。誰も勝てない。誰もが負けるのです。学生は迷ったままです。
そして、mql4.comはますます訪問したくない場所になるのです。
10.私たちは、「受け取ることよりも、与えることの方に多くの幸せがある」と言われています。
ここ Mql4.comで他の人を助けることは私の喜びですが、その喜びは急速に薄れつつあります。
困っている人に手を差し伸べると、その手を叩かれることを常に心配しなければならないのなら、もう喜びはなく、恐怖だけが残る。
もう喜びはなく、恐怖だけです。
11.11.このように感じている人は他にいますか?それとも、私がここから大きく外れていますか?アーメンをお願いできますか?
OK、石けん箱から降りるわ...。
そして、あなたのアバターがまだ好きです....
PipPip...ジムダンディ
7.7.トレーダーやプログラマーからのメールやフィードバックから分かることは、多くの人が、質問したり、答えたり、貢献するためにここに来るのをやめてしまったということです。
このサイトに質問したり、回答したり、知識を提供するためにここに来るのを止めたということです。
質問したり回答したりする際に、自分自身や他の人が無礼で不愉快な扱いを受けるため、このサイトに来るのをやめてしまったということです。適切な形式で投稿しないと、嫌がらせを受ける。
その質問の正当性や教育的貢献の価値とは関係なく、適切な形式で投稿しないために嫌がらせを受けるのです。
本当に絶望的な人だけが残ります。
ピップピップ...ジムダンディ
率直に言って、私はこのフォーラムへの関与を減らすことにしました。なぜなら、このフォーラムは概してネガティブだからです。一部の人を除いて、誰も自分が何を言っているのかわからないという前提があるようです。ある種の人々は、他の多くの人々の意見を尊重しない一方で、他の場所では自由に自分の意見を述べ、また、一貫して不必要に失礼な言い回しをしているので、実生活ではどうやって人々と交流しているのだろうとよく思います。あなたのように、他の人のやる気をそいでいるのではないでしょうか。自分が正しいときは(よくあることですが)とても声を張り上げますが、間違っているときは沈黙します。
このフォーラムへの私の最初の投稿(以前報告されていないバグを強調したもの)は、他の開発者への有益な警告として認識すらされず、何度も頭ごなしに否定されましたが、私が立ち向かったときだけ、そのバグは(より合理的な考えによって)認められ、感謝の言葉はほとんどありませんでしたそれが最初の警告の一撃になるはずでした。というのが、ここでのトーンであり、その後すぐに 同じようなシナリオ が展開されます。最近の自分のコメントで、なぜかIMOの不必要に強い 反応を促したことで、私の契約はほぼ終了しました。
私はMQLコミュニティとコードベースに 貢献 し(MQL4でコードの再利用が少し実用的になったので)、特定の質問に対する特定の答えがあるときは、時々ここに投稿するかもしれません、それは私にとって特に興味深いことですが、一般的な質問については、ほとんどの人は、とにかく技術的観点から、主要貢献者によって十分に奉仕されています。
ここにいる人たちは、「釣りを教える」という崇高な概念を、失礼なことをするための言い訳に使っているように思います。ロンドンのチャイナタウンにあるWong Keiという レストランに行くようなもので、素晴らしい料理と値段ですが、良い雰囲気を求めるなら行かない方がいいです。スタッフは意図的に無礼で、正当な苦情があることを神に禁じます!でも、まだたくさんのお客さんがいますよ。
PS このスレッドは、議論されていることの最良の例ではなく、間違いなく非常に合理的であり、たくさんの「より良い」例を見つけることができます
ちなみに、「アーメン」です。
What's confusing can you explain ur problem .
ループ関数と 呼ばれるものだと思いますが、詳しく説明してくれたJimdandyに 感謝します。
何をしたいのか?チャート上でEAを実行するとき、その設定で2つのことを定義したいのです。
そして、私はこのためのコードを書こうとしています。[...]それは "複雑 "だと思うのですが?
グッドラック
もし、あなたの提案を適用するならば、ユーザーはチャート上にEAを配置する際にGUI設定でロットの値を変更することができますか?
PS: 2MaクロスEAを拝見しましたが、クロスでトレードを開始する(ただし、一度に1つのトレードのみ)EAは、それぞれのクロスでトレードを開始するだけで、リバースでは閉じないようにすることは可能でしょうか?
ループ関数と呼ばれるものだと思うのですが、ちょっと分かりにくかったので、詳しく説明してくれたJimdandyに 感謝します。
何をしたいのか?チャート上でEAを実行するとき、その設定に2つのことを定義したいのです。
そして、私はこのコードを書こうとしているのですが、"複雑?"と思っています。MQL4++ の新しい関数StringSplit を使って作成した配列にループをかけ、ループの中で StringToDouble を呼び出します。(そのページの例を見てください),