KORUMA!!! YARDIM. 4 saat 45 dakika kaldı! - sayfa 6

 
IceBerg :

Arkadaşlık dostluktur ama tütün ayrıdır... Tam kod bunun için olacak:

not edildi :

standart kütüphane ile tam kodu verin (standart kütüphanede uzman olmadığım için kendim yapamıyorum) ...

--

iyiye değil, ama zararına ... gerçeğin anlaşılması için yok olacak .. OOP öğren.

Bununla, bu konuyu kapanmış sayıyorum.

yoldaş - bana OOP öğretmenize gerek yok, ben kendim sadece OOP'yi değil, istediğiniz herkese öğreteceğim. Ve kodun karşılaştırması istendi - standart kitaplığı kullanarak bir anlaşma açmak için ne yazılması ve onsuz yazılması gerekiyor. Ve sonunda anlaşılması daha kolay olan nedir? Oldukça yapıcı bir teklif gibi görünüyordu.

iyi bir yolu yok

 

Herkese BÜYÜK TEŞEKKÜRLER!

gönderilmiş

doğrulama için bekliyorum

Şanslıysak, Otomatik Ticaret Şampiyonası 2012'de buluşacağız

Hepinize iyi şanslar!

(ve ben öğretmek için...)

 
notused :

yoldaş - bana OOP öğretmenize gerek yok, ben kendim sadece OOP'yi değil, istediğiniz herkese öğreteceğim. Ve kodun karşılaştırması istendi - standart kitaplığı kullanarak bir anlaşma açmak için ne yazılması ve onsuz yazılması gerekiyor. Ve sonunda anlaşılması daha kolay olan nedir? Oldukça yapıcı bir teklif gibi görünüyordu.

iyi bir yolu yok

yani herşeyi yazdım..

Dahil edilen dizindeki dosya:

 class МойСигнальщик : public CExpertSignal //наследуемся от Signal
  {
private :
   CiCustom          МойИндикатор; 
     
public :
                     МойОбработчик();
                    ~МойОбработчик();
      
       bool               ValidationSettings( void );
      
       bool               InitIndicators(CIndicators *indicators);
      
       virtual int        LongCondition();
       virtual int        ShortCondition(); 
      
protected :

   bool               МойИндикатор(CIndicators *indicators);
    
int МойСигнальщик::LongCondition()
  {
   int signal=0;
  
   if (!signalLong0==0)
            {
               signal=100;
            }
   return(signal);
  }

EA'nın kendisinde:

 #include <МойСигнальщик.mqh>
input double Signal_StopLevel       = 150.0 ;         // Stop Loss level (in points)
input double Signal_TakeLevel       = 120.0 ;         // Take Profit level (in points)
input double Signal_PriceLevel      = 10.0 ;         // Price level to execute a deal
input double Money_FixLot           = 1.0 ;         
CExpert ExtExpert;
//+------------------------------------------------------------------+
//| Initialization function of the expert                            |
//+------------------------------------------------------------------+
int OnInit ()
  {
//--- Initializing expert
   if (!ExtExpert.Init( Symbol (), Period (),Expert_EveryTick,Expert_MagicNumber))
     {
       //--- failed
       printf ( __FUNCTION__ + ": error initializing expert" );
      ExtExpert.Deinit();
       return (- 1 );
     }
//--- Creating signal
   CExpertSignal *signal= new CExpertSignal;
   if (signal== NULL )
     {
       //--- failed
       printf ( __FUNCTION__ + ": error creating signal" );
      ExtExpert.Deinit();
       return (- 2 );
     }
//---
   ExtExpert.InitSignal(signal);
   signal.ThresholdOpen(Signal_ThresholdOpen);
   signal.ThresholdClose(Signal_ThresholdClose);
   signal.PriceLevel(Signal_PriceLevel);
   signal.StopLevel(Signal_StopLevel);
   signal.TakeLevel(Signal_TakeLevel);
   signal.Expiration(Signal_Expiration);
//--- Creating filter IRTMiniMax
   МойИндикатор *filter0= new МойИндикатор;
   if (filter0== NULL )
     {
       //--- failed
       printf ( __FUNCTION__ + ": error creating filter0" );
      ExtExpert.Deinit();
       return (- 3 );
     }
   signal.AddFilter(filter0);
//--- Set filter parameters
   filter0.Weight(Signal_MovingMM_Weight);
//--- Creation of trailing object
   CTrailingNone *trailing= new CTrailingNone;
   if (trailing== NULL )
     {
       //--- failed
       printf ( __FUNCTION__ + ": error creating trailing" );
      ExtExpert.Deinit();
       return (- 4 );
     }
//--- Add trailing to expert (will be deleted automatically))
   if (!ExtExpert.InitTrailing(trailing))
     {
       //--- failed
       printf ( __FUNCTION__ + ": error initializing trailing" );
      ExtExpert.Deinit();
       return (- 5 );
     }

//--- Set trailing parameters
//--- Creation of money object
   CMoneyFixedLot *money= new CMoneyFixedLot;
   if (money== NULL )
     {
       //--- failed
       printf ( __FUNCTION__ + ": error creating money" );
      ExtExpert.Deinit();
       return (- 6 );
     }
//--- Add money to expert (will be deleted automatically))
   if (!ExtExpert.InitMoney(money))
     {
       //--- failed
       printf ( __FUNCTION__ + ": error initializing money" );
      ExtExpert.Deinit();
       return (- 7 );
     }
//--- Set money parameters
   money.Lot(Money_FixLot);
//--- Check all trading objects parameters
   if (!ExtExpert.ValidationSettings())
     {
       //--- failed
      ExtExpert.Deinit();
       return (- 8 );
     }
//--- Tuning of all necessary indicators
   if (!ExtExpert.InitIndicators())
     {
       //--- failed
       printf ( __FUNCTION__ + ": error initializing indicators" );
      ExtExpert.Deinit();
       return (- 9 );
     }
//--- ok
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Deinitialization function of the expert                          |
//+------------------------------------------------------------------+
void OnDeinit ( const int reason)
  {
   ExtExpert.Deinit();
  }
//+------------------------------------------------------------------+
//| "Tick" event handler function                                    |
//+------------------------------------------------------------------+
void OnTick ()
  {
   ExtExpert. OnTick ();
  }
//+------------------------------------------------------------------+
//| "Trade" event handler function                                   |
//+------------------------------------------------------------------+
void OnTrade ()
  {
   ExtExpert. OnTrade ();
  }
//+------------------------------------------------------------------+
//| "Timer" event handler function                                   |
//+------------------------------------------------------------------+
void OnTimer ()
  {
   ExtExpert. OnTimer ();
  }
//+------------------------------------------------------------------+

aslında her şey..

Bana OOP'yi öğret lütfen

 

Üstelik tüm bunlar zaten hazır ve tekerleği yeniden icat etmeye gerek yok...

 
pavivas :

Herkese BÜYÜK TEŞEKKÜRLER!

gönderilmiş

doğrulama için bekliyorum

Şanslıysak, Otomatik Ticaret Şampiyonası 2012'de buluşacağız

Hepinize iyi şanslar!

(ve ben öğretmek için...)

Uff)) Tebrikler. Şimdi senin için kök salmalıyım))
 
MqlTradeRequest request = { 0 };
MqlTradeResult result = { 0 };
MqlTick tick;
SymbolInfoTick ( _Symbol , tick);
request.volume = 1 ;
request.action = TRADE_ACTION_DEAL ;
request.symbol = _Symbol ;
request.type_filling = ORDER_FILLING_FOK ; 
request.price = tick.ask;
request.sl = tick.ask - 100 * _Point ;
request.tp = tick.ask + 200 * _Point ;
request.type = ORDER_TYPE_BUY ;
request.deviation = 10 ;
OrderSend (request, result);    
hangisi daha kolay? bir yapıyı doldurmak mı yoksa sinyallerle uğraşmak mı?
 
notused :
hangisi daha kolay? bir yapıyı doldurmak mı yoksa sinyallerle uğraşmak mı?
Destekliyorum, dersler iyidir, kütüphaneler tembeller içindir ... IMHO
 
Mischek :
Uff)) Tebrikler. Şimdi senin için kök salmalıyım))
 
notused :
hangisi daha kolay? bir yapıyı doldurmak mı yoksa sinyallerle uğraşmak mı?

Demek mesele bu.. Bu özel durumda, telefonunuzdan bir sinyal olarak en azından bir SMS yapabilirsiniz.. ama danışmana ne yapacağını katı bir şekilde belirttiğinizde .. hile yapacak ..

ama Signal'e her şeyi asabilirim, asıl mesele kıyafetin uyması.. Ben zaten ATC2012'deyim)

 
notused :

evet, bu yolu takip edebilirsiniz

ama çoğu zaman