Yeni başlayanlardan sorular MQL5 MT5 MetaTrader 5 - sayfa 90

 
WindSW :
Kapatma hariç tüm seçenekler listelenir. Bu yüzden soruyorum

zaten cevaplandın

Yedelkin :

"Bir pozisyonu kapatmak" sadece bir ticaret talebinin yerine getirilmesinin sonucudur, doldurma kuralları aynıdır.

Onlar. "açma" isteklerini alın ve sipariş türünü değiştirin.

Gerekli alanları sıfırlarla doldurun.

 

Yedelkin :
Для каждого вида торгового запроса предусмотрены обязательные поля. Они должны быть заполнены. "Открытие позиции" или "Закрытие позиции" - это всего лишь результат выполнения конкретного торгового запроса, правила заполнения которого - одни и те же. Т.е. берите свой работающий вариант запроса "на открытие" и меняйте тип ордера. Ненужные обязательные поля заполняйте нулями.

sergeev :

zaten cevaplandın

Teşekkür ederim!

Başka bir soru ortaya çıktı: Aşağıdaki istek gönderilir ve bir pozisyon açılır, ancak stop ve kar yapılmaz. Onları zaten farklı şekillerde büktüler, ancak hiçbir şey yardımcı olmadı. Sorun nedir, neyi yanlış yapıyorum?

   MqlTick latest_price;       // Будет использоваться для текущих котировок
   if (! SymbolInfoTick ( _Symbol ,latest_price)) return ;         // получить текущее значение котировки в структуру типа MqlTick
   ...
   if (uBuy && opSell== false )    
     {
       if (opBuy) return ;                                                 // при наличии позиции не добавлять к открытой позиции на покупку
      mrequest.action = TRADE_ACTION_DEAL ;                                   // немедленное исполнение
      mrequest.price = NormalizeDouble (latest_price.ask, _Digits );           // последняя цена ask
      mrequest.sl = NormalizeDouble (latest_price.ask - StopLoss* _Point , _Digits ); // Stop Loss
      mrequest.tp = NormalizeDouble (latest_price.ask + TakeProfit* _Point , _Digits ); // Take Profit
      mrequest.symbol = _Symbol ;                                             // символ
      mrequest.volume = WorkLot;                                                 // количество лотов для торговли
      mrequest.magic = EA_Magic;                                             // Magic Number
      mrequest.type = ORDER_TYPE_BUY ;                                       // ордер на покупку
      mrequest.type_filling = ORDER_FILLING_FOK ;                             // тип исполнения ордера - все или ничего
      mrequest.deviation=Slippage;                                               // проскальзывание от текущей цены
      OrderSend (mrequest,mresult);                                           // отсылаем ордер
       if (mresult.retcode== 10009 || mresult.retcode== 10008 )                   //запрос выполнен или ордер успешно помещен
        {
         Alert ( "Ордер Buy успешно помещен, тикет ордера #:" ,mresult.order, "!!" );
        }
       else
        {
         return ;
        }
     }
 

son 3 ZigZag değeri nasıl eklenir?

        double summ= 0 ;//переменная, в которую все суммируется
         int w= 0 ;//счетчик 3 удачных сумирований
         int count_for_buf= 0 ;//Счетчик переходов по буферу ZigZag
         while (w<= 3 )
         {
         summ=summ+ZigzagBuffer[rates_total-count_for_buf];
         count_for_buf++;
         if (ZigzagBuffer[rates_total-count_for_buf]!= 0 )//Увеличиваем счетчик, если используемое значение индикатора не равно нулю
          {
          w++;
          }
         }
Yani bir nedenden dolayı donuyor veya başka bir şey oluyor
 
WindSW : istek gönderilir ve bir pozisyon açılır, ancak stop veya kar yapılmaz. Onları zaten farklı şekillerde büktüler, ancak hiçbir şey yardımcı olmadı. Sorun nedir, neyi yanlış yapıyorum?

"Pozisyon açmak için" ticaret taleplerinin birkaç doldurma seçeneği olduğunu hatırlıyor musunuz? Bu seçeneklerden bazıları sl / tp ayarı sağlar, diğerleri sağlamaz. Başka bir deyişle, komisyoncunuzun ticaret modu nedir?

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - Документация по MQL5
 
Yedelkin :

"Bir pozisyon açmak için" ticaret taleplerinin birkaç doldurma seçeneği olduğunu hatırlıyor musunuz? Bu seçeneklerden bazıları sl / tp ayarı sağlar, diğerleri sağlamaz. Başka bir deyişle, komisyoncunuzun ticaret modu nedir?

Komisyoncu Alpari. Manuel modda, değişim uygulamasında yalnızca yeni bir sipariş verilir. Piyasaya girmenin başka yolu yok. Exchange Yürütme isteğinin kastedildiğini anlıyorum. Teşekkürler, bunu bir şekilde anladım. Derleyicinin neden aşağıdaki satırlarda yemin ettiğini söyleyebilir misiniz:

if(CopyBuffer(ema,0,0,3,emaVal)<0) dönüş; // gösterge arabelleklerinin yeni değerlerini dizilere kopyalayın

ve

göstergeRelease(ema);

"Tür dönüştürme nedeniyle olası veri kaybı" uyarısı yazar. Burada neyin yanlış olduğunu bilmiyorum, dün akşamdan beri düzeltemiyorum.

 
WindSW : Derleyicinin neden aşağıdaki satırlara küfür ettiğini söyleyebilir misiniz:

if(CopyBuffer(ema,0,0,3,emaVal)<0) dönüş; // gösterge arabelleklerinin yeni değerlerini dizilere kopyalayın

ve

göstergeRelease(ema);

"Tür dönüştürme nedeniyle olası veri kaybı" uyarısı yazar. Burada neyin yanlış olduğunu bilmiyorum, dün akşamdan beri düzeltemiyorum.

ema değişkeninin türü nedir?
 
Yedelkin :
ema değişkeninin türü nedir?
çift
 
WindSW : çift
Açık. Gösterge tutamaçlarını depolamak için değişkenin ne tür olması gerektiğini görün ve buna göre ayarlayın.
 
Yedelkin :
Açık. Gösterge tutamaçlarını depolamak için değişkenin ne tür olması gerektiğini görün ve buna göre ayarlayın.
Ve alışkanlıktan, 4'teki gibi yazıyorum. Tavsiye için tekrar teşekkürler!
 
lazarev-dm :

son 3 ZigZag değeri nasıl eklenir?

Yani bir nedenden dolayı donuyor veya başka bir şey oluyor

Sürümümü sunacağım:

   double    summ= 0 ;   //переменная, в которую все суммируется
   int       w= 0 ;     //счетчик 3 удачных сумирований
   for ( int i= 0 ; i<rates_total; i++)
     {
       if (ZigzagBuffer[rates_total]!= 0 && w< 3 ) //Увеличиваем счетчик, если используемое значение индикатора не равно нулю
        {
         summ+=ZigzagBuffer[i];
         w++;
        }
       if (w> 2 ) break ;
     }