//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает суммарный профит открытых позиций в пунктах |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+int GetProfitOpenPosInPoint(string sy="", int op=-1, int mn=-1) {
double p;
int i, k=OrdersTotal(), pr=0;
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
if (mn<0 || OrderMagicNumber()==mn) {
p=MarketInfo(OrderSymbol(), MODE_POINT);
if (p==0) if (StringFind(OrderSymbol(), "JPY")<0) p=0.0001; else p=0.01;
if (OrderType()==OP_BUY) {
pr+=(MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p;
}
if (OrderType()==OP_SELL) {
pr+=(OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p;
}
}
}
}
}
return(pr);
}
MakarFX さん、ありがとうございます。これで、余計な非シグナル1順目はなくなりましたが、なぜかシグナル1順目(通常)が2ローソク早く入っています)))私は私のメッセージにテスターのスクリーンショットを添付しましたが、この最初の注文にもかかわらず - 最も重要なことが行われ、再び非常にありがとうございます)マジシャンがそれを得たと、私は外部変数を作り、私は特定の通貨ペアチャートに探検家を付けるだろうとき、私は個別に各ペアの番号を変更します。
オープニングを拝見します。
シンボルを制御していれば、マジックを変更する必要はない。
もう忘れた...と最初の頃はそうしていたのですが(ロックしたのは良いのですが)、条件方式が頼りなく思えたので、変更した順番をもっとわかりやすいもので表示して欲しかったです。
さて、前のティックでうまくいかなかった場合、新しいティックでは条件が変わってしまうので、新しいティックごとに条件を確認する必要があります。
そして、エラー処理を行うこと。
もう忘れていた...と、最初の頃はそうしていたのですが(コミットしたのはいいのですが)、条件の出し方が頼りなく思えたので、もっとわかり やすく順番が変わったことを示すものがほしかったです。
Profitの 代わりにポイントが 付くようにコードを変更したいのですが、どうすればよいでしょうか?ありがとうございます。
MakarFX さん、ありがとうございます。これで、余計な非シグナル1順目はなくなりましたが、なぜかシグナル1順目(通常)が2ローソク早く入っています)))テスターからのスクリーンショットをメッセージに添付しましたが、この最初の注文にもかかわらず - 最も重要なことが行われ、再びどうもありがとうございます)マジシャンがそれを得たので、私は外部変数を作り、私は特定の通貨ペアチャートにエスペルトを添付すると、私は個別に各ペアの番号を変更することになります。
Makar さんの理解では、CalculiteProfit() 関数の代わりに試してみるべきでしょう。
Makar さんの理解では、CalculiteProfit() 関数の代わりに試してみるべきでしょう。
は
で、これを変更する
テストした期間と確認回数は?
MakarFXは、私が添付されたそのスクリーンショットで、EUR / USDでテスト - M 30 - すべてのティック - 01.08.21 03.09.21 - 26受注は(しかし、私は 4から8に定数を変更し、私はより多くのキャンドルで見ることにした)だった。
定数をローソク足4本に戻すと、同期間-35本の注文になりますが、最初の注文も2本早く入ってくるので
は
で、それを変更するのです。
マカー、最小オーダーと最大オーダーしかないのか、教えてください。
マカー、最小オーダーと最大オーダーしかないのか、教えてください。