Spektrometre revizyonu - sayfa 6

 
Blondi_ >> :


Hayır, peki, bir insanı anlayabilirsin... Burada mesela, hayatında senden fikirler çalındı mı? :)

herkesten her şeyi çalıyorlar ve benden, ondan ve sizden de çalıyorlar, eğer internete girerse, herkes onun artık size ait olmadığını düşünür ve birisinin eserinize adını yazmayacağının garantisi yoktur. , ama birçok danışmanımı sahte isimler altında gördüm, ha koduna bakıyorsunuz ve işte yaratılışınız var))) - bu yüzden normal bakıyorum.

 
qwerewq писал(а) >>

herkesten her şeyi çalıyorlar ve benden, ondan ve sizden de çalıyorlar, eğer internete girerse, herkes onun artık size ait olmadığını düşünür ve birisinin eserinize adını yazmayacağının garantisi yoktur. , ama birçok danışmanımı sahte isimler altında gördüm, ha koduna bakıyorsunuz ve işte yaratılışınız var))) - bu yüzden normal bakıyorum.

Ancak felsefi soru gündeme geldi :)

 

Orada, sol kenar ekstremuma sert bir şekilde bağlanırken, tüm gösterge yeni çubukların gelmesiyle "gerilir" ve harmoniklerin genlikleri değişir. İşte o zaman, ikinci harmoniğin genliği, ana eğilim yönündeki bükülmesinde maksimum olur ve giriş noktalarını aramanız gerekir. Ancak sorun, düzeltmelerin her zaman "doğru" yapıya sahip olmamasıdır.

Bir grafiğe gösterge eklemek için önce dikey bir çizgi ayarlayın, özelliklerinden çapa tarihini kopyalayın ve ardından göstergeyi kaplayın ve bu tarihi ayarlara ekleyin.

Dosyalar:
spectrometr.mq4  14 kb
 
qwerewq писал(а) >>

herkesten her şeyi çalıyorlar ve benden, ondan ve sizden de çalıyorlar, eğer internete girerse, herkes onun artık size ait olmadığını düşünür ve birisinin eserinize adını yazmayacağının garantisi yoktur. , ama birçok danışmanımı sahte isimler altında gördüm, ha koduna bakıyorsunuz ve işte yaratılışınız var))) - bu yüzden normal bakıyorum.

Ben de davul çalacağım.

 
Integer писал(а) >>

Ben de davul çalacağım.

Yine de, "sevgi dolu bir şekilde" çözmek gerekir. aksi takdirde "hoş olmayan tat" kalır (n) ... HERHANGİ bir durumda ... (en azından forum çerçevesinde)

 

İnternette ortaya kondu - düşünün - sosyalleşti. Anonim. // ürkütücü kelime)))

Mesele hedef belirlemektir: ya Nobel Ödülü için bira almayı planlıyorsunuz (o zaman evet - yazarlık !!!) ya da başka bir şey için. Örneğin ticaret için.)))

(Benimkini böyle imzalamam bile - kimin çözmesi gerekiyor - sapienti-siktir et oturdu, ama hayır - eh, canı cehenneme.)

 

Ancak fizik

 
Merhaba! Aldım .... trafik sıkışıklığı işkence gördü :) Yani insanlar! Eh, çalmanın iyi olmadığını öğrendik, Bay Tamsayı'nın rahatsız olmayacağını öğrendik, ancak örneğin, tatmin olmadım)))) Göstergenin otomatik seçim parametreleri için değiştirilmesi gerektiğini görüyorum. en iyi sonuç iki veya üç ekstremumda çıkıyor... Ne düşünüyorsunuz?
 
MVV >> :

Orada, sol kenar ekstremuma sert bir şekilde bağlanırken, tüm gösterge yeni çubukların gelmesiyle "gerilir" ve harmoniklerin genlikleri değişir. İşte o zaman, ikinci harmoniğin genliği, ana eğilim yönündeki bükülmesinde maksimum olur ve giriş noktalarını aramanız gerekir. Ancak sorun, düzeltmelerin her zaman "doğru" yapıya sahip olmamasıdır.

Bir grafiğe gösterge eklemek için önce dikey bir çizgi ayarlayın, özelliklerinden çapa tarihini kopyalayın ve ardından göstergeyi kaplayın ve bu tarihi ayarlara ekleyin.


Baktım yine ellerinle hareket ettirmen gerekiyor ama makineli tüfek istiyorsun :)))
 

Basit bir Uzman Danışmanı yeniden yapmama yardım et, bir haftadır savaşıyorum!!!! Ya da tekrar yaz, yoksa tüm danışmanlar çok karmaşık ve onları kendime göre ayarlayamam!!

Sonuç olarak şudur: Bu EA'ya (kavşakta ticaret) satma ve satın alma sinyali veren başka bir MACD göstergesi eklemek istiyorum ve EA bunları paralel olarak yürütmeli. Üçten fazla açık ALIŞ emri ve üçten fazla SAT emri yoktur. Tüm emirler, yalnızca stoploss ve takeprofit ile kapatılmalı ve danışman tarafından zorla kapatılmamalıdır.

 //--------------------------------------------------------------------
extern int     period_EMA           = 28 ,
               period_WMA           = 8 ,
               stoploss             = 50 ,
               takeprofit           = 50 ,
               risk                 = 10 ;
double  LOT ;
//--------------------------------------------------------------------
double SL , TP ;
int TimeBar ; //глобальная переменная
//--------------------------------------------------------------------
int start ( )
{
   if ( TimeBar = = Time [ 0 ] ) return ( 0 ) ;
   if ( TimeBar = = 0 ) { TimeBar = Time [ 0 ] ; return ( 0 ) ; } //первый запуск программы
   double EMA0 = iMA ( NULL , 0 , period_EMA , 0 , MODE_EMA , PRICE_OPEN , 0 ) ;
   double WMA0 = iMA ( NULL , 0 , period_WMA , 0 , MODE_LWMA , PRICE_OPEN , 0 ) ;
   double EMA1 = iMA ( NULL , 0 , period_EMA , 0 , MODE_EMA , PRICE_OPEN , 1 ) ;
   double WMA1 = iMA ( NULL , 0 , period_WMA , 0 , MODE_LWMA , PRICE_OPEN , 1 ) ;
   if ( EMA0 < WMA0 & & EMA1 > WMA1 ) //Buy
   {
      TimeBar = Time [ 0 ] ;                            
      TP  = Ask + takeprofit * Point ;
      SL  = Ask - stoploss * Point ;     
      LOT = LOT ( risk , 1 ) ;
      CLOSEORDER ( "Sell" ) ;
      OPENORDER ( "Buy" ) ;
   }
   if ( EMA0 > WMA0 & & EMA1 < WMA1 ) //Sell
   {
      TimeBar = Time [ 0 ] ;                            
      TP = Bid - takeprofit * Point ;
      SL = Bid + stoploss * Point ;            
      LOT = LOT ( risk , 1 ) ;
      CLOSEORDER ( "Buy" ) ;
      OPENORDER ( "Sell" ) ;
   }
return ( 0 ) ;
}
//--------------------------------------------------------------------
void CLOSEORDER ( string ord )
{
   for ( int i = OrdersTotal ( ) - 1 ; i > = 0 ; i - - )
   {                                               
      if ( OrderSelect ( i , SELECT_BY_POS , MODE_TRADES ) = = true )
      {
         if ( OrderSymbol ( ) ! = Symbol ( ) ) continue ;
         if ( OrderType ( ) = = OP_BUY & & ord = = "Buy" )
            OrderClose ( OrderTicket ( ) , OrderLots ( ) , Bid , 3 , CLR_NONE ) ; // Close Buy
         if ( OrderType ( ) = = OP_SELL & & ord = = "Sell" )
            OrderClose ( OrderTicket ( ) , OrderLots ( ) , Ask , 3 , CLR_NONE ) ; // Close Sell
      }   
   }
}
//--------------------------------------------------------------------
void OPENORDER ( string ord )
{
   int error ;
   if ( ord = = "Buy" ) error = OrderSend ( Symbol ( ) , OP_BUY , LOT , Ask , 2 , SL , TP , "" , 1 , 3 ) ;
   if ( ord = = "Sell" ) error = OrderSend ( Symbol ( ) , OP_SELL , LOT , Bid , 2 , SL , TP , "" , - 1 , 3 ) ;
   if ( error = = - 1 ) //неудачная покупка OK
   {  
      ShowERROR ( error , 0 , 0 ) ;
   }
return ;
}                  
//--------------------------------------------------------------------
void ShowERROR ( int Ticket , double SL , double TP )
{
   int err = GetLastError ( ) ;
   switch ( err )
   {                  
      case 1 :                                                                               return ;
      case 2 :   Alert ( "Нет связи с торговым сервером   "              , Ticket , " " , Symbol ( ) ) ; return ;
      case 3 :   Alert ( "Error  неправильные параметры   Ticket " ,       Ticket , " " , Symbol ( ) ) ; return ;
      case 130 : Alert ( "Error близкие стопы   Ticket " ,                 Ticket , " " , Symbol ( ) ) ; return ;
      case 134 : Alert ( "Недостаточно денег   " ,                         Ticket , " " , Symbol ( ) ) ; return ;
      case 146 : Alert ( "Error Подсистема торговли занята " ,             Ticket , " " , Symbol ( ) ) ; return ;
      case 129 : Alert ( "Error Неправильная цена " ,                      Ticket , " " , Symbol ( ) ) ; return ;
      case 131 : Alert ( "Error Неправильный объем " ,                     Ticket , " " , Symbol ( ) ) ; return ;
      case 4051 : Alert ( "Error Недопустимое значение параметра функции " , Ticket , " " , Symbol ( ) ) ; return ;
      case 4105 : Alert ( "Error Ни один ордер не выбран " ,                Ticket , " " , Symbol ( ) ) ; return ;
      case 4063 : Alert ( "Error Ожидается параметр типа integer " ,        Ticket , " " , Symbol ( ) ) ; return ;
      case 4200 : Alert ( "Error Объект уже существует " ,                  Ticket , " " , Symbol ( ) ) ; return ;
      default :  Alert ( "Error  " , err , "   Ticket " ,                     Ticket , " " , Symbol ( ) ) ; return ;
   }
}
//--------------------------------------------------------------------
double LOT ( int risk , int ord )
{
   double MINLOT = MarketInfo ( Symbol ( ) , MODE_MINLOT ) ;
   LOT = AccountFreeMargin ( ) * risk / 100 / MarketInfo ( Symbol ( ) , MODE_MARGINREQUIRED ) / ord ;
   if ( LOT > MarketInfo ( Symbol ( ) , MODE_MAXLOT ) ) LOT = MarketInfo ( Symbol ( ) , MODE_MAXLOT ) ;
   if ( LOT < MINLOT ) LOT = MINLOT ;
   if ( MINLOT < 0.1 ) LOT = NormalizeDouble ( LOT , 2 ) ; else LOT = NormalizeDouble ( LOT , 1 ) ;
   return ( LOT ) ;
}
//--------------------------------------------------------------------