//+-------------------------------------------------------------------------------------------+//| Описание : Возвращает цену открытия предпоследней открытой позиции или -1 |//+-------------------------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+-------------------------------------------------------------------------------------------+double GetPrePricePos(string sy="", int op=-1, int mn=-1) {
datetime o;
double l=-1;
int i, k=OrdersTotal()-1;
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (o<OrderOpenTime()) {
o=OrderOpenTime();
l=OrderOpenPrice();
}
}
}
}
}
}
}
return(l);
}
が閉じなくなりました。
OrderClose()を入れる関数はこちらです。
//SRC ボタンを使用する //
私が理解する限り、小数点以下が8桁以上ある場合、計算は自動的にその8桁に切り捨てられるようですこの値を大きくすることは可能ですか?
実は、有効数字が15桁もあるんです。しかし、このような数値は8バイトのメモリーを占有してしまう。
なぜ、そんなすごい計算精度(8桁以上)が必要なのですか?
別のティックが到着しなくても、インジケータに再実行を行わせることは可能でしょうか?
質問があります。
EAやスクリプトでは、experts/filesフォルダにしかファイルを作成・変更できないのは知っています。
1.このフォルダーのサブフォルダーにあるファイルを操作することはできますか?
2.もしそうなら、コードでどのように行われるかの例を示すことができますか?
あるいは、このディレクトリにないファイルを扱うことができるDLLケースを持っている人がいるかもしれません。
4.または、コンピュータの別のフォルダからファイルフォルダを連続的に同期させる外部ソフトウェアを知っている人はいますか?
1.はい。
2.files フォルダにスラッシュでフォルダ名を追加: filesmydirectory
3.DLLは持っていますが、まだテストしていません。そんな図書館が あるんです。
4.シンボリックリンク、ハードリンク、ソフトリンクを使用することができ、またそうする必要があります。同期するよりも簡単です。
実は、有効数字が15桁なんです。しかし、このような数値はメモリ上で8バイトを占有してしまう。
なぜ、そんなすごい計算精度(8桁以上)が必要なのですか?
行列を扱おうとすると...。回避策を講じたが、まだ出てくる。行動の論理的な説明がつかなくなり始めるので、どうにもこうにも。
15桁について-確認したところ、通常は小数点以下8桁までしかないので、拡張は可能なのかなと思います。
15桁について-調べたところ、小数点以下が8桁しかなかったので、拡張できないかと考えています。
どのように確認したのですか?15を取得。
次のティックが来なくても、強制的にインジケータを再描画させることは可能でしょうか?
再描画って?グラフィックオブジェクトか、グラフィックの更新か?
こんにちは!この方法でバイナリファイルに書き込むことが可能かどうか教えていただけませんか?
11111 22222 33333 55555 "という内容のファイルがあります。
33333と55555の間に "44444 "という形式の文字列を挿入したい。
FileWriteString オペレータを使おうとすると、出力が5で消される。つまり、私の場合、1が2で消され、2が3で消され、といった具合に、処理が進まない。
これらの11111などはすべて条件付きで、挿入場所の後をつぶさずに完全挿入が可能かどうかがわかればいいのです。
ありがとうございます。