//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);
}
それが、私のアイデアです。
こんにちは。MASDやAOなどのインジケータにチャネルを表示するインジケータを作りたいのですが、どうすればよいでしょうか?この指標は、基本指標(MASD、AOなど)のウィンドウに重ねて表示され、0の上下に平行線が描かれています。この線は、指定された期間の最大ピーク(0以上)と最小トラフ(0以下)の平均値として定義されています。
AOインジケータを例にしているのですが、うまくいきません。
アルゴリズム:
インジケーターの読み取り値を配列に 書き込みます。
この配列を走査してピーク/トラフを探 します。
それらを特定の配列に 書き込みます。
ピーク、トラフの平均値を求めます 。
得られた 値を インジケーターバッファに 代入します。
このステップでは、コードで定義されるのはインジケータ上のチャネル(0に張り付く)ではなく、最大のピークの平均値と最小の谷の平均値です。
山と谷の定義は、コードから削除して関数として実行することもできますが、今のところ私はこのままにしています - 問題に変わりはありません。
問題点:
1.端末がハングする(かなり)
2.ラインが平均値で表示されず、一定期間の最大/最小値で表示さ れる。
時間がかかったが、問題の原因がわからない。私のコードを修正するか、同様の問題のソースコードへのリンクを教えていただければ、さらに修正を試みます。ありがとうございました。
ExistInHistoryToDay()です。
こんにちは。
問題点:
1. 端末がハングアップする(著しく)
ループの中で配列のサイズを 大きくするのは残酷だ、だからハングアップする。一度にサイズを大きくする。またはタイムスリップを一度に使用する
P.S. 個人的なメッセージを見る
文字列型の 変数をループ再生するにはどうすればよいですか?
例
この構造をループに置き換えるにはどうすればよいのでしょうか?こんにちは、オープンオーダーの利益が1パンゲットになったら、そのオーダーをクローズするという条件の書き方を教えてください。
機能を使用する。
https://www.mql5.com/ru/forum/131859/page3#434225
文字列型の変数をループ再生するにはどうすればよいですか?
例
この構成をループに置き換えるにはどうしたらよいでしょうか。。ありがとうございました。