[ARCHIVE]フォーラムを乱立させないために、どんなルーキーの質問でも。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 5. - ページ 38

 
keep87:

もう少しシンプルに、start関数の内部で作業します。

まず、最後のローソク足の方向を書き込む変数を作成します。

int Candle=-1;

我々は、いくつかの値でそれを埋めるでしょう、そのうちの一つは、強気なろうそくを示し、他は弱気を示すでしょう。もし-1なら、それは何もありません(それは方向を決定することができませんでした、またはそれは方向close = openを持っていない)。

取引注文に例えて、0-買い、1-売りの値を提案します。

と書きます。

if(Close[1]>Open[1]) Candle=0; else
if(Close[1]<Open[1] Candle=1;

これで方向が定義できたので、OrderSend( string symbol,int cmd, ...rest of the crap...)関数で直接使用することができるようになりました。

if(Candle!=-1) OrderSend( Symbol(),Candle,...other stuff...)とする。

あるいは、あなたの例えに従うと。

if(Candle==0) OpenBuy();
if(Candle==1) OpenSell();

ああ、実はここに書いた関数と同じなんだ、何が返ってくるか比べてみてくれ。すべてのコードをstartで書きたいわけではなく、すべてを別々に置くことを学んでいます。そして、その理屈は理解できました、ありがとうございます。
 
hoz:

こうして時々使っています。ほら、これで関数はこうなった。

ログを読んでいるところです。

つまり、当初は買い値からストップまで1.3204 - 1.3194 =0.001 ポイントの差があったのです。

さらに1.3210 - 1.3201 =0.009

そして、なぜか2件目では、ストップがエントリー価格に近づいていたのですが、エラーは出なかったのです考えてみても、よくわかりませんでした。

後日、別の方法で訂正しました。コードにはすでに条件があります。

if(price > Ask) && if(price < Bid) それぞれ買い、 売りの場合。それとも別のバリエーションがあったのでしょうか?これでエラーは出なくなりました。しかし、それでも、より経験豊富なプログラマーの意見を聞いてみたい。


ということを書きました。

2つ目の間違いは、注文を入れる場所を確認 しないことです。

 
r772ra:

あるいはそうかもしれない.

if(NumberOfPositions("EURUSD")==0 && NumberOfPositions()<10)
そして、以下がその機能 です。


その方が真実に近い。ありがとうございます、試してみます。
 

mql4で変数のドッキングが可能かどうか教えてください。例えば、2つのint変数がドッキングされる必要があり、1つの変数が59番で、もう1つが17番で、5917を取得する必要がありますか?

 
pasha5282:

mql4で変数をドッキングすることが可能かどうか教えてください。例えば、2つのint型変数があり、それらをドッキングする必要があります。


HMM全部読むまで意味がわからなかった :)どのようなデータを出力したいのですか?

結論から言うと、この状況を解決する方法はこうだ。

1.int 59 と 17 を文字列型に 変換する

2.そして、これらの文字列のデータを連結する。

3. int型に変換して戻す

もしかしたら、他にもバリエーションがあるのかもしれませんが、今のところ、それ以外には考えられません。

 
pasha5282:

mql4で変数のドッキングが可能かどうか教えてください。例えば、2つのint変数がドッキングされる必要があり、1つの変数が59番で、もう1つが17番で、5917を取得する必要がありますか?

5917= (StrToInteger(DoubleToStr(59.123,0) + DoubleToStr(17.456,0))
xxx
 
php では、変数をドッキングすることができます。たとえば、 $one = 59; $two = 17;$decision= $one.$two; とすると、2 つの数字を足すのではなく、「接着」して 5917 とすることになります。
 
pasha5282:
php では、変数をドッキングすることができます。たとえば、 $one = 59; $two = 17;$decision= $one.$two; とすると、2 つの数字を足すのではなく、「接着」して 5917 とすることになります。

mql4はあまり強力な言語ではないので、今あるものでやりくりするしかないのですが......。
 
hoz:

mql4はあまり強力な言語ではないので、今あるものでやりくりするしかないのですが...。

対処していかなければなりません。こんな簡単なことを忘れていたのかもしれませんが、ヘルプを見ても見つからなかったので、開発者がそのようなバリエーションを想定していなかったのか、私が探せばいいだけのことなのかもしれませんね。
 
pasha5282:

真相に迫る。少なくとも一つの答えをありがとうございました、私は馬鹿だと思ったし、そのような初歩的なことを覚えていない、私はヘルプに行ったとき、私は発見されていない、どうやら開発者はそのようなオプションを提供していないです。

正直なところ、なぜこのようなことが必要なのかもわかりません。どうやら開発者も考えていなかったようです。
理由: