アスク! - ページ 136

 

オーダーストップ

皆さん、こんにちは。

MQL4でのプログラミングに関して、私は本当に初心者ですが、毎日勉強しています。現在、以下のことを試しています。

私のEAのメインループで、ある条件が満たされると、注文が開かれます。この注文はOrderSend関数 を使って、指定されたエントリー、ストップロス、テイクプロフィットを持つものです。

一度に出せる注文は1つだけです。

total = OrdersTotal();

if(total < 1)

{ etc etc

私が作りたいのは、注文のストップロスまたはテイクプロフィットがヒットしたとき、EAは現在の時間足バー(ストップロスまたはテイクプロフィットがヒットする内のバー)が終了するまで新しい注文を取りながら待機することです。

今のところ問題は、ストップロスやテイクプロフィットがヒットするとすぐに、メインループで別の注文が取られてしまうことです。

皆さん、どうか助けてください。

FXX

 

コンバインEAのヘルプ

皆さん、こんにちは。

2つのEAを1つのEAに結合する方法をご存知の方はいらっしゃいますか?どのようにこれを行うには、ステップバイステップで私を教えてください?

あなたの助けのために事前にありがとうございます

 

EAのロジックによって異なる

EAはそれぞれ異なるロジックを持っているので、2つのEAを組み合わせる方法は、それぞれのロジックによって異なります。

では、あなたが組み合わせたいEAはどこですか?

Bill FX:
こんにちは、皆さん。

異なる2つのEAを1つのEAに結合する方法をご存知の方はいらっしゃいますか?ステップバイステップで教えてください。

よろしくお願いします。
 

値をランク付けする方法?ヘルプが必要

どなたか、ランク関数を 作成する方法を教えてください。

例えば、私は次のようないくつかのダブル値を持っています。

a=3.0; b=4.0; c=5.0; d=2.0; e=1.0; f=6.0; g=0.0;

高い値から低い値へ(6.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0)

または (f,c,b,a,d,e,g) の値です。

つまり、ランクは次のようになります。

ランク番号(th)

f=1 ; c=2; b=3; a=4; d=5; e=6; g=7;

必要なのは、値を入力するとランクを返すような関数です。

int rank (double value)

{

すべての値を処理する。

return (すべての値からある値のランク)

}

こんな感じの関数を作れば簡単なんだろうけど

例えば、"a "という値に対して

int rank (double value)

{

if(a>b && a>c && a>d && a>e && a>f && a>g)

は(1)を返します。

.

.

.

if(a<b && a<c && a<d && a<e && a<f && a<g)

return(7);

}

問題は、値のバリエーションが2である場合、組み合わせはわずかですが、例えば5、7、10などバリエーションが増えると、ランクを作るための組み合わせが非常に多くなることです...。

このような問題に対して、誰かが私を助けてくれることを願っています。

ありがとうございます、下手な英語で申し訳ありませんが、勉強中です。

Pj.

 

配列を使用し、ArraySort()関数を見て みましょう。

幸運を祈ります。

ラックス

 

ストキャスOBOS

このストキャスティクスはとても気に入っているのですが、ストキャスティクスが売られた領域を超えたらアラートを出すようにして欲しいのです。また、アラートが出たときに、どの通貨を表示してくれるかもお願いします。

よろしくお願いします。

ファイル:
 
luxinterior:
配列を使用し、ArraySort()関数を見てみましょう。

グッドラック

ラックス

試してみたが、まだ混乱している。

誰かその方法を教えてくれる人が必要だ...

もしかしたら、You Could Lux?

ありがとうございました。

 
primajaya:
EAはそれぞれ異なるロジックを持っているので、2つのEAを結合する方法はそのロジックによって異なります。

primajayaさん、こんにちは。

ご感想ありがとうございます。1つ目のEAがオープントレード、2つ目のEAがクローズトレードということですが、1つ目のEAがオープントレードである程度利益が出ていて、2つ目のEAがXXXの利益でクローズトレードしたい場合、どうすれば良いでしょうか?私は2つのチャットに接続する場合は、それらは動作しますが、私はちょうど1つのEAを開く必要があるよりも、1つに2つを結合したいです。

ありがとうございます。

 
Bill FX:
primajayaさん、こんにちは。

ご意見ありがとうございます。1つ目のEAがオープントレード、2つ目のEAがクローズトレードということですが、1つ目のEAがオープントレードである程度利益があり、2つ目のEAがXXXの利益でクローズトレードしたい場合、どうすればいいでしょうか?2つのチャットに添付すれば動作しますが、2つを1つにまとめたいので、1つのEAを開くだけでいいのです。

ありがとうございます。

1つ目のEAと2つ目のEAがトレードを開始するロジックについては、まだよくわかりません。

しかし、おそらくこれはあなたの助けになることができます...

2つのEAを1つのEAに統合してみましょう。

このEAには2つのシグナルがあるはずです。

第1シグナルは第1EAから、第2シグナルは第2EAから。

2つのシグナルによって行われた各オープントレードのIDとしてOrderMagicNumber()を使用することができます...

例えば

1番目のシグナルによってオープントレードが行われた場合、マジックナンバーは1111です。

2番目のシグナルでオープンした場合 -- マジックナンバーは2222

従って、2番目のシグナルによる取引を決済したい場合は、OrderMagicNumber()をIDとして使用し、決済することができます。

お役に立てれば幸いです。

Pj

 

10ポイント3

プログラマーさん、お願いします。

10points3のEAで、3つ目の取引が始まると、最初の取引が終了する必要があります。

実際、我々は持っています。

if (PreviousOpenOrders>OpenOrders)

{

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=OrderType()。

if (OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

{

if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }.

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); } { 注文終了。

return(0);

}

}

}

こうしようかと考えていました。

1. 2番目の取引が始まったら、1番目の取引のマジックナンバーを変更する、例えば magicnumber+1

2. 3番目の取引が始まったら、最初の取引を閉じて、magicnumber+1 を割り当てる。

私は正しいですか?

それとも他の方法で、最初に開いた取引を後でクローズするように特定できますか?

私はプログラマーではなく、ただ勉強しているだけなので、もしあなたが私を指導したり、変更を加えることができれば、より良いことです。

この変更は、聖杯の 開始になります!!!!

ファイル:
10p3v0.03_1.mq4  12 kb