if(OrderSelect(10,SELECT_BY_POS,MODE_HISTORY)==true) { datetime ctm=OrderOpenTime(); if(ctm>0) Print("Open time for order 10 ", ctm;
ctm=OrderCloseTime(); if(ctm>0) Print("Close time for the order 10 ", ctm); } else Print("OrderSelect failed error code is",GetLastError();
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.05.2008 |//| Описание : Возвращает флаг закрытия последней позиции по стопу. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ("" - любой символ, |//| NULL - текущий символ) |//| op - операция (-1 - любая позиция) |//| mn - MagicNumber (-1 - любой магик) |//+----------------------------------------------------------------------------+bool isCloseLastPosByStop(string sy="", int op=-1, int mn=-1) {
datetime t;
double ocp, osl;
int dg, i, j=-1, k=OrdersHistoryTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if (OrderSelect(j, SELECT_BY_POS, MODE_HISTORY)) {
dg=MarketInfo(sy, MODE_DIGITS);
if (dg==0) if (StringFind(OrderSymbol(), "JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
osl=NormalizeDouble(OrderStopLoss(), dg);
if (ocp==osl) return(True);
}
return(False);
}
ポジションをオープンしなかった場合、どのようなエラーが出るのでしょうか?これを試すことができます
なるほど、やってみますね、ありがとうございます。
少なくとも1つのポジションが開いている場合(手動、他のEAによる)、このEAは動作しません。
これは知っています、私は馬鹿ではありません、それならtotal<1を設定しないでしょう、私は自分でプログラムしようとしているのです。
EAで何を書いているかは当然考えていますが、ありがとうございます)
証券会社によっては、テイクポジションとストップポジションを明示的に設定することができない場合があります。
それも悪くないですね、必ずチェックします、ありがとうございます
ドキュメントにはこう書かれている。
注文は、OrderSelect() 関数で事前に選択されている必要があります。
しかし、"OrderClosePrice() "自体の例がないのでは?
選択した注文の終値を返したとします。しかし、それがストップ・ポジションなのかプロフィット・ポジションなのかを知るにはどうしたらよいのでしょうか?
ドキュメントにはこう書かれている。
注文は、OrderSelect() 関数で事前に選択されている必要があります。
しかし、"OrderClosePrice() "自体の例がないのでは?
選択した注文の終値が返ってきたとすると、それがストップやプロフィットポジションであったことはどうやって知ることができるのでしょうか?
多くの疑問に対する答えはこちらhttp://www.vedikhin.ru/2006/06/expert-advisors-overview.html
予告編は同じですが、Word形式です。
ドキュメントにはこう書かれている。
注文は、OrderSelect() であらかじめ選択されている必要があります。
しかし、"OrderClosePrice() "自体の例がないのでは?
選択された注文の終値が返されたとします。しかし、それがストップまたはプロフィットポジションであることをどうやって知ることができるでしょうか?
これはヤバイ!!!申し訳ないが、これほどまでに怪しげな不注意、考えることの怠慢、論理的思考の欠如を目の当たりにしたのは初めてである。プログラミングはやらない方がいいと思うんだけど...。もちろんIMHOです。悪気はないのですが、前のページで、その一番最初に、あなたが要求した、最後のポジションをストップで閉じるフラグを返すコードを挿入しています。前のページとは何かというご質問を想定して、ここでお答えします。
できることなら、自分で考えたい。注文の検索とその選択、終値とそのStopLoss値の比較などがあるのですが...。
とはいえ...役に立たないと思うのですが...。
完全にクソゲーです!!!失礼ながら、これほどまでに怪しげな不注意、考えることの怠慢、論理的思考の欠如を目の当たりにしたのは初めてです。プログラミングはやらない方がいいと思うんだけど...。もちろんIMHOです。悪気はないのですが、前のページで、その一番最初に、あなたが要求した、最後のポジションをストップで閉じるフラグを返すコードを挿入しています。前のページとは何かというご質問を想定して、ここでお答えします。
できることなら、自分で考えたい。注文の検索とその選択、終値とそのStopLoss値の比較などがあるのですが...。
とはいえ...そうですね~、しょうがないですね・・・。
みんな一度は始めているが、まだそこまでバカにはなっていない、仲間がまだ起きていないだけかもしれない...。
ただし、旗を返すとはいっても、建物や船に掲揚するものではないことを付け加えておくが......。:-)
ほらほら・・・8ページも続く前に撤収しといた方がいいよ。
お礼の言葉はいつでも知りたいものです。確かに2、3回、いやそれ以上受け取ったことがあります。どんなありがとうがあるかなんて、誰にもわからない。
名文句:私の感謝の気持ちは、理性の範囲内で無限になります。
みなさん、こんにちは。
検索しても見つからなかったので、相談させてください。
期間中の平均ローソク足と平均ジグザグスイングを計算する必要があります。
リンクが必要です。見ていたのですが...これしかなかったんです。
七面鳥があればいいのですが・・・。