[存档!]免费撰写顾问文章 - 页 26

 
Necron >>:

Так в чем у Вас проблема? Вы же написали на что хотите изменить (и притом как изменить:)). Осталось только открыть MetaEditor и исправить код. А чтобы количество пунктов можно было изменить сделайте так:

PS. Писать один и тот же вопрос в нескольких темах не есть хорошо:)


我有3个买入订单,一个信号出来后,关闭了一个买入头寸,我开的最后一个订单也关闭了,但我需要关闭第一个订单(最早的那个),非常感谢!
//---------------Закрытие ордеров----------------------------- 8 --

   while(true)                                  // Цикл закрытия орд.
     {
      if ( Tip==0 && Cls_B==true)                // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert("Попытка закрыть Buy ", Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose( Ticket, Lot,Bid,2);      // Закрытие Buy
         if ( Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Buy ", Ticket);
            break;                              // Выход из цикла закр
           }
         if ( Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
 
      if ( Tip==1 && Cls_S==true)                // Открыт ордер Sell..
        {                                       // и есть критерий закр
         Alert("Попытка закрыть Sell ", Ticket,". Ожидание ответа..");
         RefreshRates();                        // Обновление данных
         Ans=OrderClose( Ticket, Lot,Ask,2);      // Закрытие Sell
         if ( Ans==true)                         // Получилось :)
           {
            Alert ("Закрыт ордер Sell ", Ticket);
            break;                              // Выход из цикла закр
           }
         if ( Fun_Error(GetLastError())==1)      // Обработка ошибок
            continue;                           // Повторная попытка
         return;                                // Выход из start()
        }
      break;                                    // Выход из while
     }
 
Serg-s-n >>:


Помогите пожалуйста закрыть позицию!!! У меня стоит 3 ордера BUY, выходит сигнал на закрытие одной позиции BUY и у меня закрывается последний ордер, который я открывал, а мне нужно закрыть первый( самый ранний) Заранее спасибо!

你有一张票要关闭,而订单的最近一张票被记住了。因此,它是最后一个被关闭的订单。使用一个以上的票据,在关闭时,只需选择你想要的那张。那么你就不会有这个问题了。

PS。在几个主题中写一个相同的问题是不好的:)))。

 
Necron >>:

Так в чем у Вас проблема? Вы же написали на что хотите изменить (и притом как изменить:)). Осталось только открыть MetaEditor и исправить код. А чтобы количество пунктов можно было изменить сделайте так:

PS. Писать один и тот же вопрос в нескольких темах не есть хорошо:)

非常感谢你,我不知道还能去哪里。

 
Necron >>:

У Вас закрытие по тикету, а запоминается самый последний тикет ордера. Поэтому именно последний ордер и закрывается. Используйте несколько тикетов, а при закрытии просто выберите необходимый. Тогда этой проблемы не будет.

PS. Писать один и тот же вопрос в нескольких темах не есть хорошо:)-к Вам это тоже относится)))


如何在EA中做到这一点,我还不熟悉这样的编程,至少告诉我大概怎么做吧
 
Serg-s-n >>:


А как это сделать в советнике, я в таких тонкостях программирования еще не разбираюсь, хотя бы примерно покажите как это сделать

我也不擅长细枝末节:))))。而我只写了一个多月:))。在这里发布代码,有人会帮助你。我在我的一个EA中是这样做的。

int               b1, b2, b3, s1, s2, s3;


int start()
   int      ts1, ts2, ts3, tb1, tb2, tb3;
      

if(OrdersTotal()==0)
         {
             b1=0; b2=0; b3=0; s1=0; s2=0; s3=0;
         }

     if( b1==0)
      {
        if( условие для открытия ордера)
            {
            tb1=OrderSend(Symbol(),OP_BUYSTOP, lot, HL,3* PointX, sl_b, BuyTarget1,"lot_1_buy", Magic,0,Lime);
            if( tb1>0)
              {
                  if(OrderSelect( tb1, SELECT_BY_TICKET, MODE_TRADES))
                     {
                     b1= tb1;
                     Print("lot_1_buy order opened : ",OrderOpenPrice());
                     }
              }
            else Print("Error opening BUY order : ",GetLastError());
            return(0);
            }         
      }

就这样,六个订单中的每一个(三个买入,三个卖出)。然后在订单关闭后,将所有b和s值清零。也许有人会建议一些其他方法。

  for( cnt=0; cnt< total; cnt++)
     {
         OrderSelect( tb1, SELECT_BY_TICKET);
         if(OrderClosePrice()>0) { b1=0;}
         OrderSelect( tb2, SELECT_BY_TICKET);
         if(OrderClosePrice()>0) { b2=0;}
         OrderSelect( tb3, SELECT_BY_TICKET);
         if(OrderClosePrice()>0) { b3=0;}
         OrderSelect( ts1, SELECT_BY_TICKET);
         if(OrderClosePrice()>0) { s1=0;}
         OrderSelect( ts2, SELECT_BY_TICKET);
         if(OrderClosePrice()>0) { s2=0;}     
         OrderSelect( ts3, SELECT_BY_TICKET);
         if(OrderClosePrice()>0) { s3=0;} 
     }
 

各位程序员,你们好。 能否请您帮忙,从指标论坛上拉出两个指标来计算,以便插入到EA中,确定所需蜡烛的D_RSI 的值 并线加纳........

附加的文件:
 
miha-28 >>:

Здравствуйте господа программисты. Не могли бы вы помочь, выдернуть из индикатора форумы для расчета из двух индикаторов для того чтобы вставить в советник, определить значение D_RSI для нужной свечи и линии Гана……..





最有可能的是论坛==公式,如果是这样,为什么要用iCustomhttps://docs.mql4.com/ru/indicators/iCustom, 你会很高兴。
 

谁来撰写指标顾问?
ikarfx@mail.ru

 
SofTAA

许多人感谢!!!!!!!

 
各位程序员 )

我需要两个交易策略:

1.海龟。(在这里看到的类似,但不是那个),只要交易没有发生,就可以通过指标自动调整入市 的订单!而同样的出口严格按照指标进行!那么,为了保险起见,你可以禁用 止损和跟踪。

2.鳄鱼。(我马上告诉你,你不必在BARS ALLIGATOR和上的鳄鱼Vol.1.1中揉捏我的鼻子--我见过它们)

基本上,你可以把这个https://www.mql5.com/ru/code/8749,它进入市场很好,但后来发生了狗屎。我们只需要在严格通过越过Allick线来退出一个位置的部分进行一些调整就可以了+开仓时止损15个点,没有追踪!也没有TProfits!

,所有问题svs-trade@rambler.ru
,当然,我也会根据你的要求把详细的策略说明和图片发到你的邮箱。