for (i =0;i<OrdersTotal();i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true&&OrderMagicNumber()==MAGICMA&&OrderSymbol()==Symbol())
{
if (MathAbs(funk-OrderOpenPrice())>Point)
{
if (OrderType()==OP_BUYSTOP||OrderType()==OP_BUYLIMIT&&MathAbs(Ask-funk)>MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
{
OrderModify(OrderTicket(),NormalizeDouble(funk,Digits),OrderStopLoss(),NormalizeDouble(funk+TakeProfiti*Point,Digits),0);
}
if (OrderType()==OP_SELLSTOP||OrderType()==OP_SELLLIMIT&&MathAbs(Bid-funk)>MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)
{
OrderModify(OrderTicket(),NormalizeDouble(funk,Digits),OrderStopLoss(),NormalizeDouble(funk-TakeProfiti*Point,Digits),0);
}
}
}
}
どうすればいいのでしょうか?
オープン前のデータを更新し、価格を正規化する。
私はすぐに、この閉鎖はお勧めできないと書きました。文書化されていない機能が使用されています。しかし、どんなオープンポジションもクローズ時間は0であり、終値は現在の終値と同じになります。
今更ながら)
どうすればいいのでしょうか?
ポジションを建てるときに設定する価格をよく見てください。きっと、あるに違いない...。Askは Bidと ごっちゃになっていませんか?
はい、そうです。持っています。
である。ありがとうございます。
試行錯誤しましたが、保留中の注文が病人のように価格の裏で行ったり来たりするばかりで...
ストップではなくオーダーを扱うように、シンプルなトレーリング機能を作り直すことは可能でしょうか?例えばこれ。
Print()は4桁に切り上げてコンソールに正しく出力するため、double型(この場合はiOpen() この場合、 小数点以下5 桁)、DoubleToStr() 関数を使用する必要があります。
string DoubleToStr(double value,int digits)
数値を、指定された精度での数値の文字表現を含むテキスト文字列に変換する。
パラメータ
value - Величина с плавающей точкой.
digits - Формат точности, число цифр после десятичной точки (громное спасибо.
ありがとうございました。
このEAをチェックして、そこに実装しています。
http://www.rogersignals.com/ru/experts.php?a=Support_Resistance
どなたか、単純なトレーリングストップで、ストップレベルの代わりに価格の後ろに保留中の注文を移動させた方はいらっしゃいますか?できるのでしょうか?
試行錯誤しましたが、保留中の注文が病人のように価格の後ろで行ったり来たりするばかりで...。
ストップではなくオーダーを扱うように、シンプルなトレーリング機能を作り直すことは可能でしょうか?例えばこれ。
何もかもが複雑すぎる :)))
メソッドには、遅延メジと希望するトロールをパラメータとして渡します。以下は私のコードです。
ちょっと複雑すぎますね :))
メソッドにパラメータとして、a delayed medjw、および希望するtrallを渡す。。以下は私のコードです。