double history(){
int time = 0;double profit = 0;//обьявляем необходимые нам переменные куда мы положим интересующие нас характеристики ордераfor(int i = OrdersHistoryTotal();i>=0;i--){// Перебираем все закрытые ордераif(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)){//если ордер с таким номером (i) в списке закрытых ордеров есть ( не путать с тикетом)if(OrderSymbol() == Symbol()){//если выбранный ордер был открыт по нашей валютной пареif(time<OrderCloseTime()){//(сравниваем его с хранящимся в пероеменной time)
time=OrderCloseTime();//если время закрытия ордера больше - ложим его в переменную
profit=OrderProfit();//и заодно запоминаем прибыль ордера
}
}
}
}
//по окончании этой процедуры в наших переменных будут сидет наибольшее время закрытия, и его профит. Или по нулям если история чистая.//теперь мы можем выставлять условия в зависимости от результата процедурыif(profit == 0 &&time == 0){//действия если история чистая
}
if(profit >= 0){//действия если последний ордер был прибыльным, или нулевым
}
if(profit < 0 ){//действия если последний ордер был убыточным
}
return(0);
}
こんばんは!(^o^)
素朴な疑問があります。
EAが初期化された後、start(); に移行できないのはなぜか?
もしかしたら、そのような問題に直面した人がいるかもしれない。
init()から; I exit return(0); .
回答ありがとうございました。
こんばんは!(^o^)
素朴な疑問があります。
EAが初期化された後、start(); に移行できないのはなぜか?
もしかしたら、そのような問題に直面した人がいるかもしれない。
init()から; I exit return(0); .
回答ありがとうございました。
皆さん、こんにちは!そして、利益です。
そんな悩みを抱えています。
自宅のパソコンでは、グラフィックのレイアウトをしています。他のパソコンに転送する方法 - どのファイルを上書きすればいいのか?
MT4のフォルダを丸ごとコピーして、別のパソコンに新しい名前でコピーするような出力は面倒で使えません。面白いのは、そのフォルダを古い名前で別のコンピュータに置いておくと、チャートには何も新しいものがないことです...。
誰が知っている、ヘルプ!
BBSL 、以前は「start();」と書いていたのですが、そのように書いているのですか? そこにコロンは必要ありません。 多分、中括弧がない のでしょう。
kiimar さん、閉じましたか? もしそうなら、コードを見る必要があります。
こんばんは!(^o^)
素朴な疑問があります。
EAが初期化された後、start(); に移行できないのはなぜか?
もしかしたら、そのような問題に直面した人がいるかもしれない。
init()から; I exit return(0); .
回答ありがとうございました。
注文がTakeProfitまたはStopLossによってトリガーされるかどうかを確認するにはどうすればよいですか?ご返信ありがとうございました
EAが初期化された後、start(); に移行できないのはなぜか?
もしかしたら、この問題に直面したことがある人がいるかもしれません。
init()で複雑な計算や履歴の読み込みがあったり、ターミナルにたくさんのインジケータやEAがサスペンドしていたり...ということがあります。
が、コードの初期化中に端末が割り込んできた場合、ログに「...」というエラーが表示されます。タイムアウト
ログにエラーがなければ、初期化が成功したことになります。 start()関数自体の確認は簡単で、1行目に start() :Print("new tick") と書けばOKです。
注文がTakeProfitまたはStopLossによってトリガーされるかどうかを確認するにはどうすればよいですか?返信ありがとうございました
注文履歴を チェックし、終値がSLまたはTPに等しい場合 - その後...、しかし、私は閉鎖された順序の利益をチェックする方が簡単だと思う - > 0なら、そうでなければ取る...。
以下は、同様の意味を持つコードです。