[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 374

 
İyi akşamlar. Http://fxcoder.ru/indicators/tpo web sitesinden indirilebilen belirli bir zaman diliminde işlemlerin fiyat seviyelerine göre dağılımının göstergesini kullanan olup olmadığını bilmek istedim. Eğer öyleyse, nasıl düzgün bir şekilde analiz edilebilir? herhangi bir bilgi var mı?
 
artemka_1981 :
Şimdi, test sırasında, günlükte herhangi bir anlaşma açmıyor, Open_BuyS_SellS EURUSD diyor, Daily: OrderSend error 131

Hata 131, yanlış birimdir . Lot 1'i koymaya çalışın, örneğin lot 0.01'i açamayabilirsiniz.

ERR_INVALID_TRADE_VOLUME 131 yanlış ses
 
ilunga :

Hata 131 yanlış birimdir. Lot 1'i koymaya çalışın, örneğin lot 0.01'i açamayabilirsiniz.

ERR_INVALID_TRADE_VOLUME 131 yanlış ses
 //+------------------------------------------------------------------+
//|                                                Open_Buy_Sell.mq4 |
//|                                                                  |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#define magic 999
extern bool Buy = true  ; //  true - разрешено покупать
extern bool Sell = true  ; // true - разрешено продавать
#property link       "http://www.metaquotes.net"
extern double   _lots         = 1 ;
extern int      _takeProfit   = 1200 ;
extern int       maxpos       = 1 ;     // количество поз
extern bool     _trailingStop = true;
//+------------------------------------------------------------------+

int start()
  {
   double _slBuy= 0.0 ,_slSell= 0.0 , _tpBuy= 0.0 , _tpSell= 0.0 , _opBuy= 0.0 , _opSell= 0.0 ;

//if (iVolume(Symbol(),PERIOD_D1,0)>1) return;
//     if (Volume[0]>1) return;
     if (_trailingStop){ 
     _TrailingStop();
      }
   _opBuy= NormalizeDouble ( iHigh ( Symbol (), 0 , 1 ), Digits );
   _slBuy= NormalizeDouble ( iLow ( Symbol (), PERIOD_D1 , 1 ), Digits );
   _tpBuy= NormalizeDouble (Ask+_takeProfit* Point , Digits );
       if ( _opBuy<Ask && CountPos( 1 )<maxpos)
       if (barOpen(OP_BUYSTOP)== 1 ||barOpen(OP_BUY)== 1 )
         OrderSend ( Symbol (),OP_BUYSTOP,_lots,_opBuy, 15 ,_slBuy,_tpBuy, "Open_Buy_Sell" , 0 , Green );

   _opSell= NormalizeDouble ( iLow ( Symbol (), 0 , 1 ), Digits );
   _slSell= NormalizeDouble ( iHigh ( Symbol (), PERIOD_D1 , 1 ), Digits );
   _tpSell= NormalizeDouble (Bid-_takeProfit* Point , Digits );
     if (_opSell>Bid && CountPos( 0 )<maxpos)
       if (barOpen(OP_SELLSTOP)== 1 ||barOpen(OP_SELL)== 1 )
       OrderSend ( Symbol (),OP_SELLSTOP,_lots, _opSell, 15 ,_slSell,_tpSell, "Open_Buy_Sell" , 0 , Red );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+  
 //Проверяем количесвто позиций.
   int CountPos( int type) 
{ //Описание http://fxnow.ru/blog.php?user=Yuriy&blogentry_id=66

    
int i;
int col;
int count= 0 ;
for (i= OrdersTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i,SELECT_BY_POS)==true)
{
if ( OrderType ()==OP_BUYSTOP && OrderSymbol ()== Symbol () && type== 1 && OrderMagicNumber ()== magic){count++;}
if ( OrderType ()==OP_SELLSTOP && OrderSymbol ()== Symbol () && type== 0 && OrderMagicNumber ()== magic){count++;}
         }
       }   
return (count);
}
//+------------------------------------------------------------------+
void _TrailingStop(){
   int i;
   double _stopLossSellF= NormalizeDouble ( iHigh ( Symbol (), 0 , 1 ), Digits ),
          _stopLossBuyF= NormalizeDouble ( iLow ( Symbol (), 0 , 1 ), Digits );
   if ( OrdersTotal ()> 0 ){
       for (i= OrdersTotal ()- 1 ; i>= 0 ; i--){
         if ( OrderSelect (i, SELECT_BY_POS)){
             if ( OrderSymbol ()== Symbol () && OrderMagicNumber ()==magic){
             
               if ( OrderType ()==OP_BUY && OrderOpenPrice () < _stopLossBuyF){
                   while ( IsTradeContextBusy ()) Sleep ( 1000 );
                   RefreshRates ();
                   OrderModify ( OrderTicket (), OrderOpenPrice (),_stopLossBuyF, OrderTakeProfit (), OrderExpiration (), CLR_NONE );
               }
           
               if ( OrderType ()==OP_SELL && OrderOpenPrice () > _stopLossSellF && _stopLossSellF!= 0.0 ){
                   while ( IsTradeContextBusy ()) Sleep ( 1000 );
                   RefreshRates ();
                   OrderModify ( OrderTicket (), OrderOpenPrice (),_stopLossSellF, OrderTakeProfit (), OrderExpiration (), CLR_NONE );
               }
            }
         }
      }
   }
return ;
}
int barOpen( int ty)
{
datetime tim= 0 ;
 for ( int i= 0 ; i<= OrdersTotal (); i++)
    {  
       if (! OrderSelect (i,SELECT_BY_POS,MODE_TRADES)) continue ;
       if ( OrderSymbol () != Symbol ()|| OrderMagicNumber ()!= magic|| OrderType ()!=ty) continue ; 
       if (tim< OrderOpenTime ())        
          tim= OrderOpenTime ();
   }
 for (i= 0 ; i<= OrdersHistoryTotal (); i++)
    {  
       if (! OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)) continue ;
       if ( OrderSymbol () != Symbol ()|| OrderMagicNumber ()!= magic|| OrderType ()!=ty) continue ; 
       if (tim< OrderOpenTime ())        
          tim= OrderOpenTime ();
   }
 
if (tim< iTime ( Symbol (), PERIOD_D1 , 0 )) return ( 1 );
 return ( 0 );
}
Tünaydın. Şimdi Open_BuyS_SellS EURUSD,H4 yazıyor: OrderSend hatası 3

 
artemka_1981 :
Tünaydın. Şimdi Open_BuyS_SellS EURUSD,H4 yazıyor: OrderSend hatası 3

Hata kodlarını öğrenin
 
artemka_1981 :
Tünaydın. Şimdi Open_BuyS_SellS EURUSD,H4 yazıyor: OrderSend hatası 3

OrderSend parametrelerinin yanı sıra hata kodları için yardıma bakın

3 - yanlış parametreler.

Birini kaçırdınız ve tarih saat sona erme yerine, ok_renk rengini yazdınız

 
ilunga :

OrderSend parametrelerinin yanı sıra hata kodları için yardıma bakın

3 - yanlış parametreler.

Birini kaçırdınız ve tarih saat sona erme yerine, ok_renk rengini yazdınız

Aptalca sorular için kusura bakmayın kendim yazmaya çalıştığım ilk Uzman Danışmanım. Trol fonksiyonunu eklediğimde tüm söveler başladı.Bu yüzden hatalarımı anlamak için yardım için size döndüm.
 

bilen yardım etsin!


Stratejinin özü: Stokastik sinyal (5,14,3) ile giriş, aynı zamanda sadece farklı bir periyot (5,3,3) ile stokastik ile çıkış. Öyleyse, ters sinyalde değil de stokastikte nasıl çıkış yapabileceğinizi anlamıyorum?
Bir sorunum var ve nasıl çözüleceğine dair hiçbir fikrim yok, açıklamaya çalışacağım.
Yani gönderdiğim kodda 2 fonksiyon var
 //+------------------------------------------------------------------+
//| подготовить массив тикетов для закрытия |
//+------------------------------------------------------------------+
void PrepareTicketsToClose( int signal, bool Revers, int & ticketsClose[][ 2 ], double & lots[], double arrayTickets[][ 9 ])
{
int size= ArrayRange (arrayTickets, 0 );
//----
if (size== 0 ) return ;

int i,type,ticket,closeSize;
for (i= 0 ;i<size;i++)
{
type=arrayTickets[i][ 1 ];
// если тип ордера не рыночный, то пропускаем
if (type>OP_SELL) continue ;

if (Revers) // перевернем тип рыночного ордера
{
if (type==OP_BUY) type=OP_SELL; else type=OP_BUY;
}

// тут решаем для каждого открытого ордера его судьбу
// оставить в рынке или добавить в массив на закрытие
if (type==OP_BUY)
{
//
// код разрешающий оставить покупку

// как пример
if (signal==OP_BUY) continue ;
}

if (type==OP_SELL)
{
//
// код разрешающий оставить продажу

// как пример
if (signal==OP_SELL) continue ;
}

closeSize= ArrayRange (ticketsClose, 0 );
ArrayResize (ticketsClose,closeSize+ 1 );
ArrayResize (lots,closeSize+ 1 );
ticketsClose[closeSize][ 0 ] = arrayTickets[i][ 0 ]; // # тикета
ticketsClose[closeSize][ 1 ] = arrayTickets[i][ 1 ]; // тип ордера

// здесь укажем сколько лотов нужно закрыть
lots[closeSize] = arrayTickets[i][ 2 ]; // закрываемый объем
// можно закрывать частично, тогда нужно переписать строку сверху
}
//----
return ;
}

//+------------------------------------------------------------------+
//| Закрывает ордера с указанными тикетами |
//+------------------------------------------------------------------+
void CloseMarketOrders( int ticketsArray[][ 2 ], double lotsArray[])
{
//----
int i,size= ArrayRange (ticketsArray, 0 );
if (size== 0 ) return ;

int ticket,type;
double lots;
bool res;

int total= OrdersTotal ();

for (i= 0 ;i<size;i++)
{
ticket = ticketsArray[i][ 0 ];
type = ticketsArray[i][ 1 ];
lots = lotsArray[i];
RefreshRates (); // на всякий случай обновим сведения о рыночном окружении

// блок закрытия покупок
if (type==OP_BUY)
{
res = OrderClose (ticket,lots,Bid,Slippage, Orange );
if (!res)
{
Print ( "Не удалось закрыть ордер в покупку #" ,ticket, "! Ошибка №" , GetLastError ());
// дальнейшая обработка ошибки, написать самостоятельно
}
}

// блок закрытия продаж
if (type==OP_SELL)
{
res = OrderClose (ticket,lots,Ask,Slippage, Orange );
if (!res)
{
Print ( "Не удалось закрыть ордер в продажу #" ,ticket, "! Ошибка №" , GetLastError ());
// дальнейшая обработка ошибки, написать самостоятельно
}
}

}
//----
return ;
}
Void ReadTicketsToClose(int signal, bool Revers, int & TicketClose[][2], double & lot[],double arrayTickets[][9]) işlevinde, siparişten ayrılmaya karar vereceğiniz bir koşul ayarlamanız gerekir yada kapat...
Koşulları ayarlamayı denedim ama işe yaramıyor....
Belki birisi gerçeklere bakar ve bu işlevlerde bir hata olup olmadığını gösterir veya ben mi batırdım ....
Dosyalar:
osc_test_1.mq4  37 kb
 
Merhaba. Expert Advisor'ı test cihazında çalıştırdıktan sonra lot bazında (örneğin loglarda) toplam işlem hacmi hakkında bilgi almak gerekir. Expert Advisor'da MM bloğu etkinleştirilir, ücretsiz fonların %'si kadar işlemler yapılır, bu nedenle işlem sayısı ile çarpılarak basitçe hesaplama yapmak mümkün olmayacaktır. Bu tür bilgileri veren herhangi bir standart işlev var mı ( yalnızca toplam hacimle birlikte OrderLots gibi)? Durum böyle değilse, biri bana bu görevi uygulamak için basit bir kod söyleyebilir mi? Teşekkür ederim.
 

WIFI üzerinden ADSL modemde MT4 için bağlantı noktaları nasıl açılır? 6 dt ile internete giriyorum. model tp-link W8901G, torrentler için bağlantı noktaları açmanın mümkün olduğunu okuyan herkes karşılaşabilir mi?

 
ruslanchik :

WIFI üzerinden ADSL modemde MT4 için bağlantı noktaları nasıl açılır? 6 dt ile internete giriyorum. model tp-link W8901G, torrentler için bağlantı noktaları açmanın mümkün olduğunu okuyan herkes karşılaşabilir mi?

Bakınız http://megatorrents.org/forum/viewtopic.php?t=262709