KARAUL!!!帮助。还有4小时45分钟!!!。 - 页 6

 
IceBerg:

友谊是友谊,但烟草是分开的。完整的代码将是这个的。

未使用

给出带有标准库 的完整代码(我自己做不到,因为我不是标准库的专家) ...

--

不求好,但求坏...因为你会失去对现实的把握......学习OOP。

在这一点上,我认为这个问题已经结束了。

同志,你不必教我OOP,我可以教任何人,而且不仅是OOP。我要求提供一个代码,以比较在标准库的帮助下你需要写什么来打开一个交易,以及在没有标准库的情况下你需要写什么。而最终什么更容易理解?这似乎是一个相当有建设性的建议。

嗯,没有,所以没有。

 

衷心感谢大家!

发送

等待核查

运气好的话,我们会在2012年自动交易锦标赛上见面!

祝大家好运!

(我必须学习...)

 
notused:

同志,我不需要别人教我OOP,我可以教任何人,而且不仅是OOP。我要求提供一个代码,以比较在标准库 的帮助下你需要写什么来打开一个交易,以及在没有标准 的情况下你需要写什么。而最终什么更容易理解?这似乎是一个相当有建设性的建议。

嗯,没有,所以没有。

我已经写好了一切。

文件在目录中 包括。

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);
  }

在专家顾问中。

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

这就是全部...

请教我有关OOP的知识

 

而且整个事情已经准备好了,没有必要再一次重新发明车轮......

 
pavivas:

衷心感谢大家!

发送

等待核查

运气好的话,我们会在2012年自动交易锦标赛上见面!

祝大家好运!

(我必须学习...)

Oof ))恭喜你。现在我们要为你欢呼了 ))
 
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:
Oof ))恭喜你。现在我们要为你欢呼了 ))
 
notused:
填写一个结构还是处理信号,哪个更容易?

这就是问题所在...在这种特殊情况下,信号可以是你手机上的一条短信......但当你告诉你的顾问到底要做什么时......他就会去做......。

我可以在信号上做任何事情,只要衣服合适......。我已经在ATC2012上了)

 
notused:

是的,这才是正道。

但更多时候是这样。