void Stop() {
int i, o=OrdersTotal();
for (i=0; i<o; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderType()==OP_BUY) {
if (OrderOpenPrice()>OrderStopLoss()&&OrderOpenPrice()-OrderStopLoss()>StopLoss*Point) {
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-StopLoss*Point,OrderTakeProfit(),0,CLR_NONE);
}
}
if (OrderType()==OP_SELL) {
if (OrderOpenPrice()<OrderStopLoss()&&OrderStopLoss()-OrderOpenPrice()>StopLoss*Point) {
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()+StopLoss*Point,OrderTakeProfit(),0,CLR_NONE);
}
}
}
}
return(0);
}
ファイルが見つかりました。プログラムに管理者権限を与えて、ファイルに保存できるようにする必要がありました。
さて、もうひとつ質問があります。
OrderSelect()で挿入する最後の操作番号を決定する方法は?
私はこうしている
合計=322と書いてある
しかし、ファイルにはゼロがある
以下のようにしました。
OrderSelect(total-1,SELECT_BY_POS,MODE_HISTORY);
そして、すべてがうまくいきました )))
これは正しいのか、それとも時間的な誤差が生じるのか?
つまり、履歴の最後のオーダーの値ではなく、他のオーダーの値を誤って返してしまわないか?
と書くと違いが出るかどうか教えてください。
または
if(условие && условие && условие) { ... }
この「トロール」は、なぜテスターで「OrderModify error 1」というエラーが毎秒、しかも大量に出るのでしょうか?ログがギガバイトに膨れ上がるだけ...。修正すべき点は?
複雑な条件下でのスピード感 site:mql4.com
もちろん、検索ヒントの常識はありますが、ありますよ、と書けばよかったのでは。そして、4での論理比較の使い方が最適に整理されていないことを端的に説明する。
この「トロール」は、なぜテスターで「OrderModify error 1」というエラーが毎秒、しかも大量に出るのでしょうか?ログがギガバイトに膨れ上がるだけ...。修正すべき点は?
Googleは モデレーターになりたいのか?