как поставить коды для осциляторов - страница 9

 
Vladimir Karputov:

Ложь и провакация :).

Вам дали ссылку на РУССКУЮ часть кодобазы (в ru части лежит файл версии 1.001), но Вы зачем-то скачали версию 1.000 с АНГИЙСКОЙ части кодобазы. Также помните: у каждого кода есть специальная тема для обсуждения и именно в специальной теме задаются вопросы по коду.

пожалуйста уточните ... я еще раз перешол по ссылке там только одна версия .. или вы просто шутите ?? 

 
хотите я вам по скайпу покажу ваши ошибки если не верите
 
   else if(risk>0.0)
     {
      if(m_money!=NULL)
         delete m_money;
      m_money=new CMoneyFixedMargin;
      if(m_money!=NULL)
        {
         if(!m_money.Init(GetPointer(m_symbol),Period(),m_symbol.Point()*digits_adjust))
            return(INIT_FAILED);
         m_money.Percent(risk);
        }
      else
        {
         Print(__FUNCTION__,", ERROR: Object CMoneyFixedMargin is NULL");
         return(INIT_FAILED);
        }
     }
//---
   return(true);
  }
 
все я нашол спасибо
 

добавил уровни

   signal.AddFilter(filter0);
//--- Set filter parameters
   filter0.StochPeriodK(Signal__StochPeriodK);
   filter0.StochPeriodD(Signal__StochPeriodD);
   filter0.StochPeriodSlow(Signal__StochPeriodSlow);
   filter0.StochApplied(Signal__StochApplied);
   filter0.StochLevelUP(InpLevelUP);
   filter0.StochLevelDOWN(InpLevelDOWN); 
//+------------------------------------------------------------------+
//|                                             expert_777_stoch.mq5 |
//|                        Copyright 2011, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2011, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include "777_Stoch_M.mqh"
//--- available trailing
#include <Expert\Trailing\TrailingNone.mqh>
//--- available money management
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
//--- inputs for expert
input string         Expert_Title           ="Expert_777_Stoch";// Document name
ulong                Expert_MagicNumber     =19240;             //
bool                 Expert_EveryTick       =false;             //
//--- inputs for main signal
input int            Signal_ThresholdOpen   =10;                // Signal threshold value to open [0...100]
input int            Signal_ThresholdClose  =10;                // Signal threshold value to close [0...100]
input double         Signal_PriceLevel      =0.0;               // Price level to execute a deal
input double         Signal_StopLevel       =90.0;              // Stop Loss level (in points)
input double         Signal_TakeLevel       =36.0;              // Take Profit level (in points)
input int            Signal_Expiration      =4;                 // Expiration of pending orders (in bars)
input int            Signal__StochPeriodK   =5;                 // 777_Stoch(5,3,3,...)
input int            Signal__StochPeriodD   =3;                 // 777_Stoch(5,3,3,...)
input int            Signal__StochPeriodSlow=3;                 // 777_Stoch(5,3,3,...)
input ENUM_STO_PRICE Signal__StochApplied   =STO_LOWHIGH;       // 777_Stoch(5,3,3,...)
input double         InpLevelUP             =80;                // Stochastic signal (level UP)
input double         InpLevelDOWN           =20;                // Stochastic signal (level DOWN)
//--- inputs for money
input double         Money_FixLot_Percent   =10.0;              // Percent
input double         Money_FixLot_Lots      =0.1;               // Fixed volume
//+------------------------------------------------------------------+
от уровней 80 - 20  евро\бакс 30минут этот год






80 20

EURUSDM30

от уровней 50 - 50  евро\бакс 30минут этот год 

50 50

Файлы:
 
Кстати, для Wizard MQL5 можно писать свой модуль торговых сигналов. Пример: SignalMAAboveBelow 3 (это правда для Moving Average), но для каждого индикатора можно написать свой модуль торговых сигналов.
SignalMAAboveBelow 3
SignalMAAboveBelow 3
  • www.mql5.com
Модуль торговых сигналов на базе модуля сигналов индикатора Moving Average.
 

Сегодня весь день изучал как создать эксперта с помощью   Мастер MQL5https://www.mql5.com/ru/articles/367

Интересная штука 

YROK 2

//+------------------------------------------------------------------+
//|                                                       YROK 2.mq5 |
//|                                  Copyright 2021, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Include                                                          |
//+------------------------------------------------------------------+
#include <Expert\Expert.mqh>
//--- available signals
#include "MOI YROK.mqh"
#include "SampleSignal.mqh"
//--- available trailing
#include <Expert\Trailing\TrailingNone.mqh>
//--- available money management
#include <Expert\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Inputs                                                           |
//+------------------------------------------------------------------+
//--- inputs for expert
input string         Expert_Title             ="YROK 2";    // Document name
ulong                Expert_MagicNumber       =941;         //
bool                 Expert_EveryTick         =false;       //
//--- inputs for main signal
input int            Signal_ThresholdOpen     =10;          // Signal threshold value to open [0...100]
input int            Signal_ThresholdClose    =10;          // Signal threshold value to close [0...100]
input double         Signal_PriceLevel        =0.0;         // Price level to execute a deal
input double         Signal_StopLevel         =50.0;        // Stop Loss level (in points)
input double         Signal_TakeLevel         =50.0;        // Take Profit level (in points)
input int            Signal_Expiration        =4;           // Expiration of pending orders (in bars)
input int            Signal__StochPeriodK     =5;           // CCP_Stoch(5,3,3,STO_LOWHIGH,...)
input int            Signal__StochPeriodD     =3;           // CCP_Stoch(5,3,3,STO_LOWHIGH,...)
input int            Signal__StochPeriodSlow  =3;           // CCP_Stoch(5,3,3,STO_LOWHIGH,...)
input ENUM_STO_PRICE Signal__StochApplied     =STO_LOWHIGH; // CCP_Stoch(5,3,3,STO_LOWHIGH,...)
input double         Signal__StochLevelUP     =80;          // CCP_Stoch(5,3,3,STO_LOWHIGH,...)
input double         Signal__StochLevelDOWN   =20;          // CCP_Stoch(5,3,3,STO_LOWHIGH,...)
input double         Signal__Weight           =1.0;         // CCP_Stoch(5,3,3,STO_LOWHIGH,...) Weight [0...1.0]
input int            Signal_MaCross_FastPeriod=13;          // My_MA_Cross(13,MODE_SMA,21,...) Period of fast MA
input ENUM_MA_METHOD Signal_MaCross_FastMethod=MODE_SMA;    // My_MA_Cross(13,MODE_SMA,21,...) Method of fast MA
input int            Signal_MaCross_SlowPeriod=21;          // My_MA_Cross(13,MODE_SMA,21,...) Period of slow MA
input ENUM_MA_METHOD Signal_MaCross_SlowMethod=MODE_SMA;    // My_MA_Cross(13,MODE_SMA,21,...) Method of slow MA
input double         Signal_MaCross_Weight    =1.0;         // My_MA_Cross(13,MODE_SMA,21,...) Weight [0...1.0]
//--- inputs for money
input double         Money_FixLot_Percent     =10.0;        // Percent
input double         Money_FixLot_Lots        =0.1;         // Fixed volume
//+------------------------------------------------------------------+
//| Global expert object                                             |
//+------------------------------------------------------------------+
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(INIT_FAILED);
     }
//--- Creating signal
   CExpertSignal *signal=new CExpertSignal;
   if(signal==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating signal");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//---
   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 CCP_Stoch
   CCP_Stoch *filter0=new CCP_Stoch;
   if(filter0==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating filter0");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
   signal.AddFilter(filter0);
//--- Set filter parameters
   filter0.StochPeriodK(Signal__StochPeriodK);
   filter0.StochPeriodD(Signal__StochPeriodD);
   filter0.StochPeriodSlow(Signal__StochPeriodSlow);
   filter0.StochApplied(Signal__StochApplied);
   filter0.StochLevelUP(Signal__StochLevelUP);
   filter0.StochLevelDOWN(Signal__StochLevelDOWN);
   filter0.Weight(Signal__Weight);
//--- Creating filter MA_Cross
   MA_Cross *filter1=new MA_Cross;
   if(filter1==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating filter1");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
   signal.AddFilter(filter1);
//--- Set filter parameters
   filter1.FastPeriod(Signal_MaCross_FastPeriod);
   filter1.FastMethod(Signal_MaCross_FastMethod);
   filter1.SlowPeriod(Signal_MaCross_SlowPeriod);
   filter1.SlowMethod(Signal_MaCross_SlowMethod);
   filter1.Weight(Signal_MaCross_Weight);
//--- Creation of trailing object
   CTrailingNone *trailing=new CTrailingNone;
   if(trailing==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Add trailing to expert (will be deleted automatically))
   if(!ExtExpert.InitTrailing(trailing))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing trailing");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Set trailing parameters
//--- Creation of money object
   CMoneyFixedLot *money=new CMoneyFixedLot;
   if(money==NULL)
     {
      //--- failed
      printf(__FUNCTION__+": error creating money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Add money to expert (will be deleted automatically))
   if(!ExtExpert.InitMoney(money))
     {
      //--- failed
      printf(__FUNCTION__+": error initializing money");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Set money parameters
   money.Percent(Money_FixLot_Percent);
   money.Lots(Money_FixLot_Lots);
//--- Check all trading objects parameters
   if(!ExtExpert.ValidationSettings())
     {
      //--- failed
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- Tuning of all necessary indicators
   if(!ExtExpert.InitIndicators())
     {
      //--- failed
      printf(__FUNCTION__+": error initializing indicators");
      ExtExpert.Deinit();
      return(INIT_FAILED);
     }
//--- ok
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 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();
  }
//+------------------------------------------------------------------+
Создай торгового робота за 6 шагов!
Создай торгового робота за 6 шагов!
  • www.mql5.com
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
Файлы:
YROK_2.zip  11 kb
 
Vladimir Karputov:
Кстати, для Wizard MQL5 можно писать свой модуль торговых сигналов. Пример: SignalMAAboveBelow 3 (это правда для Moving Average), но для каждого индикатора можно написать свой модуль торговых сигналов.

Спасибо! за ссылку

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Ваш модуль торговых сигналов - Спасибо! 

SignalMAAboveBelow 3

 

Вот полдня убил, методом тыка из стандартного класса - получился не плохой класс и из него эксперт

-----------------------

нужно этот файл установить сюда  MQL5\Include\Expert\Signal\

потом создать эксперта с помощью этого 

YROK 4

YROK 4чччч

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

после того как устанавливается файл в папку - перезагрузить метаедитор 

Файлы: