경비원!!! 돕다. 4시간 45분 남았습니다! - 페이지 6

 
IceBerg :

우정은 우정이지만 담배는 따로 있습니다 ... 전체 코드는 다음과 같습니다.

참고 :

표준 라이브러리로 전체 코드 제공(표준 라이브러리 의 전문가가 아니기 때문에 직접 할 수 없음) ...

--

좋지는 않지만 해를 끼칩니다 ... 현실에 대한 이해가 사라질 것입니다 .. OOP를 배우십시오.

이것으로, 나는 이 문제가 닫힌 것으로 간주합니다.

동지 - 당신은 나에게 OOP를 가르칠 필요가 없습니다. 나는 OOP뿐만 아니라 당신이 좋아하는 사람을 가르칠 것입니다. 그리고 비교를 요청한 코드 - 표준 라이브러리를 사용하여 거래를 시작하기 위해 작성해야 하는 항목과 표준 라이브러리 없이 작성해야 하는 항목. 그리고 결국 이해하기 쉬운 것은 무엇입니까? 상당히 건설적인 제안인 것 같습니다.

글쎄 방법이 없다

 

모두에게 큰 감사를 드립니다!

전송된

확인을 기다리는 중

운이 좋다면 자동화 트레이딩 챔피언십 2012에서 만나요

행운을 빕니다!

(그리고 내가 가르칠...)

 
notused :

동지 - 당신은 나에게 OOP를 가르칠 필요가 없습니다. 나는 OOP뿐만 아니라 당신이 좋아하는 사람을 가르 칠 것입니다. 그리고 표준 라이브러리를 사용하여 거래를 시작하기 위해 작성해야 하는 항목과 표준 라이브러리 없이 작성해야 하는 항목을 비교하도록 요청한 코드입니다. 그리고 결국 이해하기 쉬운 것은 무엇입니까? 상당히 건설적인 제안인 것 같습니다.

글쎄 방법이 없다

그래서 다 썼습니다..

Include 디렉토리의 파일:

 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 자체에서:

 #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 ();
  }
//+------------------------------------------------------------------+

사실 다..

가르쳐 주세요

 

또한이 모든 것이 이미 준비되었으며 다시 바퀴를 재발명 할 필요가 없습니다 ...

 
pavivas :

모두에게 큰 감사를 드립니다!

전송된

확인을 기다리는 중

운이 좋다면 자동화 트레이딩 챔피언십 2012에서 만나요

행운을 빕니다!

(그리고 내가 가르칠...)

어)) 축하합니다. 이제 나는 당신을 위해 뿌리를 내려야합니다))
 
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);    
어느 것이 더 쉽습니까? 하나의 구조를 채우거나 신호를 처리합니까?
 
notused :
어느 것이 더 쉽습니까? 하나의 구조를 채우거나 신호를 처리합니까?
나는 지원하고, 수업은 훌륭하고, 라이브러리는 게으른 사람들을위한 것입니다 ... IMHO
 
Mischek :
어)) 축하합니다. 이제 나는 당신을 위해 뿌리를 내려야합니다))
 
notused :
어느 것이 더 쉽습니까? 하나의 구조를 채우거나 신호를 처리합니까?

그래서 그게 요점입니다 ..이 특별한 경우에는 신호로 휴대 전화에서 SMS도 만들 수 있습니다 ..하지만 조언자에게 엄격하게 무엇을해야하는지 지시하면 .. 그는 맹세 할 것입니다 ..

하지만 Signal에 무엇이든 걸 수 있습니다. 가장 중요한 것은 슈트가 맞는다는 것입니다.. 저는 이미 ATC2012에 있습니다)

 
notused :

예, 이 경로를 따라갈 수 있습니다.

그러나 가장 자주