利益目標で、利益が出ている取引のみを決済する。 - ページ 4

 
af1:

OK Raptor、このループを作成してみます。

これを
これを


これでいいのでしょうか?

いいえ、注文を閉じる/削除するときは、必ずカウントダウンしなければなりません。
 
RaptorUK:
No, you must count down when closing/deleting Orders. .


Raptorさん、こんにちは。

コードを確認したところ、正直なところ、あなたの投稿で提案されたコードラインとの間に大きな違いは見当たりません。

for(PositionIndex = TotalNumberOfOrders - 1; PositionIndex >= 0 ; PositionIndex --)

と私がテストしているeaのコードラインとの間に大きな違いはありません。

for(i=OrdersTotal()-1;i>=0;i--)

唯一の違いは、あなたがMODE_TRADESを追加し、sleepを追加して いないことです。これは関連性があるのでしょうか?

コードで何を変更すべきか、いくつかのガイドを与えることができますか?

 
af1:


Raptorさん、こんにちは。

コードを確認したところ、正直なところ、あなたの投稿で提案されたコードラインとの間に大きな違いは見当たりません。

と私がテストしているeaのコード行の間に大きな違いはありません。

唯一の違いは、MODE_TRADESを追加し、sleepを追加していないことです。これは関連性があるのでしょうか?

コードで何を変更するべきか、いくつかのガイドを与えることができますか?

申し訳ありませんが、私はこれを見ました... ...

for(int i=0;i<OrdersTotal();i++)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) continue;
         if(OrderType()==OP_SELL)  
         {
            OrdersSELL++;
            SellLots += OrderLots();
            double ThisTradeProfit=OrderProfit() + OrderCommission() + OrderSwap();
            if(ThisTradeProfit>0)
            BuyProfit += ThisTradeProfit;
         }

.あなたが投稿し、それがあなたのOrderClose()コードであると仮定しました..... .

 
af1:


私は2 extern boolを追加していない、私はちょうど "買い注文のみ "を閉じるためにこれを変更します。

で、これを「売り注文のみ」を閉じるように変更する。

だから今私は2つのEAを持っています。1つは終値買い、もう1つは終値売りのEAです。それは私にとってはOKです。


私はデモとリアルの両方のアカウントでテストしました。デモでは問題なく動作していますが、リアル口座では、利益目標に達するとポジションを閉じ始めますが、残りの注文が利益目標より下がるとポジションを閉じるのを止めます。これは、クローズの瞬間に価格が変化している場合に起こります。そのため、利益が出ている注文をすべて決済するのではなく、未決済のままにしておく傾向があります(利益が出ている注文)。

RaptorUKのこの投稿を読みましたhttps://www.mql5.com/en/forum/139654.それはそのようなものですが、私は本当にこの問題のための最良の解決策になる可能性があるのか分からない。



今気づいたのですが、あまり変わらないかもしれませんが、これはおかしいです。

for(int i=0;i<OrdersTotal();i++)

      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) continue;
         if(OrderType()==OP_SELL)  
         {
            OrdersSELL++;
            SellLots += OrderLots();
            double ThisTradeProfit=OrderProfit() + OrderCommission() + OrderSwap();
            if(ThisTradeProfit>0)
            BuyProfit += ThisTradeProfit;
         }
 
af1:


私は2 extern boolを追加しませんでした、私はちょうどクローズ "買い注文のみ "にこれを変更します。

で、これを「売り注文のみ」を閉じるように変更する。

それで、今私は2つのEAを持っています。1つは終値買い、もう1つは終値売りです。それは私にとってはOKです。


私はデモとリアルの両方のアカウントでテストしました。デモでは問題なく動作していますが、リアル口座では、利益目標に達するとポジションを閉じ始めますが、残りの注文が利益目標より下がるとポジションを閉じるのを止めます。これは、クローズの瞬間に価格が変化している場合に起こります。そのため、利益が出ている注文をすべて決済するのではなく、未決済のままにしておく傾向があります(利益が出ている注文)。

RaptorUKのこの投稿を読みましたhttps://www.mql5.com/en/forum/139654.それはそのようなものですが、私は本当にこの問題のための最良の解決策になる可能性があるのか分からない。



取引終了時にエラーが発生しているようですが、ログにはどのように記載されていますか?

もしかして、5ポイントだけでのスリッページは小さすぎるのでは?

 
RaptorUK:

申し訳ありませんが、私はこれを見た... ...

... そして、あなたが投稿し、それがあなたのOrderClose()コードであると仮定しました .... .

問題はありません。

GumRai


今気づいたのですが、あまり変わらないかもしれませんが、これはおかしいです。

for(int i=0;i<OrdersTotal();i++)

デモでは、私は違いを見ていないが、実際の口座では、それが "不思議な "売り注文を閉じていたときに問題が表示されますので、多分これは問題を解決することができます...

この変更でもう一度テストしてみますので、結果をお知らせします。

GumRai:


取引終了時にエラーが発生しているようですが、ログにはどのように記載されていますか?

もしかしたら、5ポイントしかないスリッページが小さすぎるのでは?

ログにエラーはありません。

もっとスリッページを大きくすれば解決するかもしれませんね。テストしてみます。

 

こんにちは。

MT5で、利益が出た時点で全てのトレードをクローズするEAはありますか?

 
BobyGill:

こんにちは。

MT5のEAで、利益が出た時点ですべてのトレードをクローズするものはないでしょうか?

なぜ、MT4セクションの6年前のトピックを持ち出して、MT5について質問しているのですか?

 
みんな...
ちょっと疑問なんですが
同じロジックを使うことは可能ですが、異なるのは取引の合計が200に 達したとき、決算利益が発生することです。