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

 
EVGENII SHELIPOV #:

こんにちは、私はグループ注文のトロールのためのコードを書いています。トロールのコードロジックは以下の通りです。

どのような条件でグループオーダーのトロールを開始すればよいのでしょうか?

 
EVGENII SHELIPOV #:

こんにちは、私はグループ注文のトロールのためのコードを書いています。トロールのコードロジックは以下の通りです。



  int order[]={1,2,3,4,5,6,7,8,9,10};



void Tral_BU_Stop() {
 
  int j;
  for (int i=OrdersTotal()-1; i>=0; i--) {
  if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)==True){
  if (OrderMagicNumber()==Mg&&OrderSymbol()==Symbol()&&OrderType() ==OP_BUYSTOP){
  j++;
  if ( Bid<=OrderOpenPrice()-DistPoint*order[j]*Po){
  bool modb=OrderModify(OrderTicket(),Bid+(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(),0,clrGreen);}} }}}
//================
  void Tral_SEL_Stop() {
  
  int j;
  for (int i=OrdersTotal()-1; i>=0; i--) {
  if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES)==True){
  if (OrderMagicNumber()==Mg&&OrderSymbol()==Symbol()&&OrderType() ==OP_SELLSTOP){
  j++;
  if (Ask>OrderOpenPrice()+DistPoint*order[j]*Po){
  bool mods=OrderModify(OrderTicket(),Ask-(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(),0,clrRed);}} }}} 

価値観を変えれば、幸せになれる

 
Aleksandr Egorov #:

価値観を変えれば幸せになれる、そこから考えてみるのもいいと思います

ロ」とは?
DistPoint*order[j]*Po
 
MakarFX #:
ロ」とは?

たんしゅくポイント

 
MakarFX #:

どのような条件でグループオーダーのトロールを開始すればよいのか?




//+----------------------------------------------------------------------------+
//| Трейлинг стоп групповых ордеров                                            |
//+----------------------------------------------------------------------------+
void TrailingGroupOrder()
  {
   for(int i = OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
           {
            if(Or derType() == OP_BUY && Bid - GetAveragePrice() > TrailingStopGroupOrder*Point)
              {
               if(Bid - GetAveragePrice() > TrailingStopGroupOrder*Point || OrderStopLoss() == 0)
                 {
                  if(OrderStopLoss() < Bid - (TrailingStep + TrailingStopGroupOrder)*Point || OrderStopLoss() == 0)
                    {
                     if(!OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Bid - TrailingStopGroupOrder*Point, Digits), tp, 0))
                        Print("Ошибка модификации групповых ордеров на покупку!");
                    }
                 }
              }
            if(OrderType() == OP_SELL && GetAveragePrice() - Ask > TrailingStopGroupOrder*Point)
              {
               if(GetAveragePrice() - Ask > TrailingStopGroupOrder*Point || OrderStopLoss() == 0)
                 {
                  if(OrderStopLoss() > Ask + (TrailingStep + TrailingStopGroupOrder)*Point || OrderStopLoss() == 0)
                    {
                     if(!OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(Ask + TrailingStopGroupOrder*Point, Digits), tp, 0))
                        Print("Ошибка модификации групповых ордеров на продажу!");
                    }
                 }
              }
           }
        }
     }
  }

int                         TrailingStep                   = 1;       // Шаг для TrailingStop
extern int                  TakeProfitGroupOrder           = 30;      // Тейкпрофит групповых ордеров
extern int                  TrailingStopGroupOrder         = 10;      // Трейлинг стоп груповых ордеров
 
Aleksandr Egorov #:

ポイント

この場合、2つ目の注文を出すとストップロス注文が出てしまい、3つ目の注文をグリッドで出すことができない可能性があります...。

 
EVGENII SHELIPOV #:

どのような条件で起動するかという意味です

TrailingGroupOrder()
 
MakarFX #:

どのような条件で起動するかという意味です

 if(CountTrade()>1)
     {
      TrailingGroupOrder();
     }
 
MakarFX #:

この場合、2つ目の注文を出すとストップロス注文が出てしまい、グリッドに3つ目の注文を出すことができない可能性があります...。

私の知る限り、注文がオープンされる前にストップを置くことはできません

で、これがないとグループ修正もできません。

j++;
  if (Ask>OrderOpenPrice()+DistPoint*order[j]*Po){
  bool mods=OrderModify(OrderTicket(),Ask-(DistPoint*order[j])*Po,OrderStopLoss(),OrderTakeProfit(),0,clrRed);}
 
MakarFX #:

なぜこのような重複があるのか

こんな風にできるんです。


また、どのようなパラメータがあるのかも教えてください。

確かにマカー、でもこのコードのほとんどは私のものではありません。自習用の本から取りました。ましてや、この置き換えは、目の前の問題を解決するものではありません。