void close (int m)
{
for( int f=OrdersTotal()-1; f>=0; f--)
if ( OrderSelect(f,SELECT_BY_POS) )
if ( OrderSymbol()==Symbol() )
if ( OrderMagicNumber()==m )
if (OrderType()==0)
if (OrderClose(OrderTicket(),OrderLots(),Bid,Slip,Red)==true) continue;
else f++;
if (OrderType()==1)
if (OrderClose(OrderTicket(),OrderLots(),Ask,Slip,Red)==true) continue;
else f++;
}
アレイの場合はどうでしょうか?
注文のリストを2次元配列に読み込み、1次元目はマジック、2次元目はプロフィットとする。
ArraySort() - 順番にマジックで並べた後、合計を始めて表示する。
これはカッコイイ!
次元の交点には何があるのか?
リストから直接オーダーを読み込むと、マジシャンがばらばらになってしまう。つまり、少なくともマジシャンを知る必要がある。また、ループの中で、2番目のリストからマジシャンを見つけて、それに利益を追加するループを作る必要がある。
ArraySort()の 後、マジシャンは順番に並んでいます。1次元目のマジシャンが変わると、単純に配列を通って2次元目の合計(利益)を計算します - テキスト変数を出力します。
W1の週刊誌の歴史を正確にチェック!
ありがとうございます。ただ、インストール時に履歴をダウンロードし、確実に穴がない期間、つまりローソク足がチャート上にある期間を具体的に確認するようにしています。
Expert Advisorは、最大100個の注文、puts slとthrを 開くことができます。ある信号レベルを超えると、sl.とthr.の順序が変更されます。各オーダーは、個別の信号レベル、sl、thrを持っています。注文が開始された時点で、Slと更なる修正のためのthrが計算されます。
アルゴリズムが思い浮かばない。一押しお願いします!!!
あるローソク足で2つ以上の注文を出すことができないことをEAに覚えさせるにはどうしたらいいですか?
マーケットからの場合、注文を開始した時間を記憶し、未決済注文数を1つに設定します。
次の注文を 出すときに時間を確認し、バーを超えていなければ、未決済注文数をインクリメントします。
それ以外のロジックは非常に簡単に構築することができます。
もう一つの質問.
1サイクル約30件の注文を一括で締め切る
すべての注文が終了したかどうかを確認する方法、または再注文が 停止するまでブローカーを叩くループを作成する方法は?
最初に思いついたものをスケッチしただけなのですが、こんなことできるんでしょうか?
曜日と時間帯でEAをテスト する場合、次のようなコードを書きました。
変数 "H"、"D "の出力先。
すべての結果は、重要でないとして却下されました。他のEAではテスト範囲が設定されていますが、このEAではうまくいきません。
どうか、何が問題なのか教えてください。
ありがとうございます。手作業で計算するのに3日かかりました。
唯一困るのは、最適化で利益が出ている取引の割合が表示されないこと、表示する方法はないのでしょうか?