externint TrailingStop=30;
//-----------------------------------------------------------------------------------------------+for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELLSTOP && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
// check for trailing stopif(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
else// go to short position
{
// check for trailing stopif(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
return(0);
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELLSTOP && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUY) // long position is opened
{
//+----------------------------------------------------------------------------+// Прибыльно или убыточно закрылся последний ордер, и возврат типа такого ордераint fHistory(){
for(int i=OrdersHistoryTotal(); i >= 0; i--){ // Выборка в историиif (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true){ // Если есть следующий в историиif(OrderMagicNumber()!=magN) continue; // Ордера не нашего экспертаif(OrderProfit() < 0 ) return (OrderType()); // Если убыток по посл.ордеру вернем тип ордера
}
}
return(-1);
}
SLによるCLOSEDポジションの 損失残高とOPENの利益トレードの合計残高を計算する関数をご存知の方、書き込みをお願いします。
損失残高の計算は、最後の最大入金額から開始する必要があります。
こんにちは!!!私の機能は、40の罵倒語で悪態をつくことです。明らかに、私はあまり多くを知らなかったし、それを作り上げる方法も忘れていました。
こんにちは!!!私の機能は、40の罵倒語で悪態をつくことです。明らかに、私はあまり多くを知らなかったし、それを作り上げる方法も忘れていました。
ディマン!おやすみなさい!休息が必要だ機能ではなく、あなたが書いた戯言のために...
言っとくけど、覚えてないんだよ。書き込んでおきます。オーダーステップコンパイラは何が嫌いなのか?
F-iの 書き方が違うんです。教科書を読む。
こんにちは、私のExpert Advisorは、保留中のストップを置く。テスターで確認したところ、BUY_STOPの代わりにSELL_STOPだけが動作し、Order Send error/ Error openingBuy order:130という エラーが表示されました。
理由を探すのを手伝ってください
その理由は、論理性の欠如にある!
どう理解すればいいのか?CELLSTOPなら、BAIはどうなのか?前回の1-2-3注文が負けていたことを知るにはどうしたらよいですか?
また、一般的に、最後の注文はどうすればわかるのでしょうか?
最近、私は、最後に負けた注文の場合、この注文の型を返す関数を書きました。つまり、fHistory() == 0なら最後の負け注文は買い、fHistory() == 1なら最後の負け注文は売りとなります。もし、利益が出ている注文を追跡したい場合は、次のように行の符号を変更します:if(OrderProfit() >0).
変数magNはグローバルに宣言されたMagic orderである。