//+----------------------------------------------------------------------------+datetime SecondsAfterOpenLastPos(string sy, int op, int mn)
{
datetime t;
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()!=sy) continue;
if (OrderType()!=op) continue;
if (OrderMagicNumber()!=mn) continue;
if (t<OrderOpenTime()) t=OrderOpenTime();
}
}
return(TimeCurrent()-t);
}
//+----------------------------------------------------------------------------+
このように呼びかけます。
if (SecondsAfterOpenLastPos(NULL, OP_SELL, Magic)>=(Period()*3)*60) {
// --- код, если прошло три минуты и более с момента открытия ... // ... последней позиции Sell с магиком Magic на текущем символе ---
}
それは何ですか?歴史のすべての秩序を貫いているんですね。ループの本体は、日付などでどうにか制限できることは明らかです。
私が質問したのは、テスターの履歴に直近の数件のクローズした注文だけを保存する、つまり実際の履歴で行われているような仕掛けはないだろうかということです。
実際の歴史でも、同じような仕組みになっています。アカウント履歴の全オーダーが検索されます。
履歴が修正されない。このアカウントでは、新しいイベントでのみ更新することができます。
もうつまらないような...。初歩的なことだよ、ワトソン。
待ちに待ったお返事ありがとうございましたこれが私の問題解決につながるとは思えないのですが?Askの上と下、同じEAから同時に線を描かせるにはどうしたらいいですか?
みんなは、条件は次のとおりです。3強気のキャンドルは、その後 "買収 "があります...私は買うために同様に販売する位置を開いた...ここでエラーがあるコードです?
どうしたんですか?
履歴を見ると開くはずなのに、ポジションが 開かない......黙ったままエラーも出ない
線に違う 名前をつける。
なんとなく......?
どうやったら1時間に1回しか取引できないようにできる?
例えば、こんな風に。
このように呼びかけます。
分単位を時間単位に変えてほしい・・・。:)なんとなく......?
なんとなく......?