//+------------------------------------------------------------------+//функция подсчета открытых ордеров по типу и маджику//tip - тип ордера БАЙ или СЕЛЛ, imagic - маджик номер//возвращает кол-во открытых оредров//+------------------------------------------------------------------+int CountTrades(int tip, int imagic) {
int count = 0;
for (int trade = OrdersTotal() - 1; trade >= 0; trade--) {
if (!OrderSelect(trade, SELECT_BY_POS, MODE_TRADES)) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderMagicNumber() != imagic) continue;
if (!(tip==-1 || isOrderType(tip))) continue;
count ++;
}
return (count);
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//поиск последней цены//tip - тип ордера БАЙ или СЕЛЛ, imagic - маджик номер//возвращает цену открытия последнего открытого ордера//+------------------------------------------------------------------+double FindLastPrice(int tip, int imagic) {
int ticket=FindLastOpenTime(tip, imagic);
if (ticket==-1) return(-1);
OrderSelect(ticket, SELECT_BY_TICKET);
double order_price = OrderOpenPrice();
return (order_price);
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+//поиск последнего лота//imagic - маджик номер//возвращает объем последнего открытого ордера//+------------------------------------------------------------------+double FindLastLot(int imagic) {
int ticket=FindLastOpenTime(-1, imagic);
if (ticket==-1) return(-1);
OrderSelect(ticket, SELECT_BY_TICKET);
double order_lot=OrderLots();
return (order_lot);
}
//+------------------------------------------------------------------+
一方、私は、コードの山からそれを取り出したのです。
一つ質問ですが、なぜスリップなのでしょうか?まあ、10(繰り返し回数)はグローバル 変数にどこか入れておいてください。
こちらはいかがでしょうか。
スリップが違うんです。ループの中にいるのは...女の子が座っているときは、10回繰り返して、口紅を塗るまで待つんです。女の子が座っているときは、10回繰り返して、お化粧をして待っているのです。 また、サーバーが遅くなることもあります。これはすべて「リアルDC」のためです。
PlaySoundの後にスリップして、他の音がかぶらないように、PlaySoundは前の音に割り込みます。
グローバル 変数は、端末によって巧妙に重み付けされます。そして、その必要はなく、外部アルゴリズムはクローズしていないオーダーで正常に動作するはずです。
グローバル変数は、端末によって巧妙に重み付けされます。
そうそう、忘れていました。コンテキストを取得した後、ループの最初にRefreshRatesを実行すれば、AskとBidをいじる必要はありません。そして、その他の価値観も。
RefreshRatesは他のもののためにあるのではありません。これは、OrderCloseがfalseを返すが、実際には注文がクローズしている状況に対処する方法である。pauseとRefreshRatesの後にOrderSelect()があります。どうしてそこにあるのかわからないが、効果はあるようだ。
AskとBidは本当に不思議で、時々正常化する必要がある :)
---
10回ほど繰り返し、グローバル 変数で何のために、私は理解していない。十分なマージンをとって10個あります。externでしょうか?
注文が1分で締め切られたらどうする?コードでは勝てない。これは、端末の通信障害です。
gip:
グローバル変数の10回の繰り返しとwhat forがよくわかりません。
単純に失敗の回数を2分の1に減らすことができるのです。もちろん、すべての状況がこのブロックの通りに処理されるわけではありません。もし、1分間オーダーを閉じた場合、プログラムはこの時間ずっと待たなければならないのです。これらの待機は、たとえ切り離されても、ループを遅らせ、最終的にすべてが思い通りに動作します。
---
> マジックナンバーや安易なチューニングを避けるため。
この10を調整する?そうですね、このくらいの余裕があると、DCの変更もしやすいですね :)そして、メガロットのために、もしそうしなければならなかったし、修正するためのコードにすることができます。
参与は1人。彼をまともに見せる必要がある。
以上が、そこからの機能です。すべておいしそうに見せる方法がある作業を簡略化するために、2つの関数を追加しました。
1つは注文の種類を チェックし、2つ目は最後にオープンした注文を探します
著者の手直しした機能の一部