MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1395

 

SanAlex:

全員が理解しているわけではないのでは?- 利益は1つですが、各ペアの利益は異なります。

そのため、Expert Advisorは各ペアにインストールする必要があります。

すべてのチャートをダウンロードする必要はありません。

//+--------------------------------------------------------------------------------------------------------------------+
//| Expert tick function                                                                                               |
//+--------------------------------------------------------------------------------------------------------------------+
void OnTick()
  {
//---
   if(Open_Pr("EURUSD")>MyProfit)DelOrders("EURUSD");
   if(Open_Pr("GBPUSD")>MyProfit)DelOrders("GBPUSD");
   //...и так все нужные пары 
//---
  }

と、注文の削除・決済の 機能を追加する。

//+--------------------------------------------------------------------------------------------------------------------+
//| Функция удаления и закрытия ордеров                                                                                |
//+--------------------------------------------------------------------------------------------------------------------+
void DelOrders(string sy="")
  {
   while(true)
     {
      bool find_order=false;
      //----
      if (sy == "0") sy = Symbol();
      for(int pos=OrdersTotal()-1;pos>=0;pos--)
      if(OrderSelect(pos,SELECT_BY_POS)==true)
      if(OrderSymbol() == sy || sy == "")
        {
         find_order=true;
         //----
         if(OrderType()==OP_BUY)
           {
            RefreshRates(); int slip=(int)(((Ask-Bid)/Point)*2);
            if(OrderClose(OrderTicket(),OrderLots(),Bid,slip,clrBlue)==false){}
           }
         //----
         if(OrderType()==OP_SELL)
           {
            RefreshRates(); int slip=(int)(((Ask-Bid)/Point)*2);
            if(OrderClose(OrderTicket(),OrderLots(),Ask,slip,clrRed)==false){}
           }
         //----
         if(OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)
         if(OrderDelete(OrderTicket(),clrRed)==false){}
         //----
         if(OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)
         if(OrderDelete(OrderTicket(),clrBlue)==false){}
         Alert("Все ордера закрыты!");
        } 
      if(find_order==false) Alert("Нет ордеров!");break;
     } 
  }
 
MakarFX:

すべてのチャートをダウンロードする必要はなく、1つのチャートに貼って、コードを書き込むだけです

と、注文の削除・決済の 機能を追加する。

開封の合図はどうする?

 
SanAlex:

そして、オープニングのシグナルは?

何を言ってるんだ?
 
MakarFX:
どういうことですか?

これらの機能は補助的なものであり、エキスパートが正しく機能するためには、その前に

 
SanAlex:

これらの機能は補助的なもので、Expert Advisorが正しく動作するためには、以下の機能も開く必要があります。

元々は、「指定した通貨の注文を、利益の合計額に応じて決済する機能があるのはどこか」という質問でした。

本格的なExpert Advisorの作成は問題外でした)))

 
MakarFX:

もともとの問題は、「与えられた通貨の注文を総利益で決済する機能を誰が持っているか」ということでした。

本格的なExpert Advisorを作ることは考えていなかった)))

この機能は、あなたのために動作していません!多分それは、総利益のために動作しますか?- もしそうなら、私たちは異なる機能について話していることになります

スナップショットが閉じない

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

2ペアをあちこちで開いて、利益はどう出るのだろう。

彼のコードを見たんですが、これが彼の開き方なんです。

 
SanAlex:

この機能は、あなたのために動作しません!多分、それは総利益で動作しますか?

MakarFX:

もともとの問題は、「与えられた通貨の注文を総利益で決済 する機能を誰が持っているか」ということでした。

 
MakarFX:

OK!別の機能を取り付けてしまいました。

 
SanAlex:

ごめんなさい!!!

いいんです)))ここは、みんなのためのフォーラムです。

 
アレックス、あなたもそれに関与している:) さて、ミスタープログラマー、あなたは合意を持っていますか? 見て、主な機能は、総利益に基づいて同じタイプの注文を閉じることです。4ポジションが開かれ、EURUSD(買いと売り)に2、USDCHF(買いと売り)に2があります。)買い注文が利益を得たらそれは閉じ、売り注文はそのままにするか、売り注文をそのままにする。