Logo

Вход

Войти с помощью соц. сетей
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения
  • #1 Свернуть

    Как мне написать эксперта

    Кто нито сможет помочь с написанием эксперта.
    Нужно втащить в него три осциллятора.
    Я тут начал пробовать подскажите так ли начал ..........
    MQL код:

    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    extern string separator0 = "*** FUNC ***";
    input double TrailingStop =500;
    input double Lots =0.01;
    extern int Magic =88;

    //+------------------------------------------------------------------+
    //| Custom indicator AO |
    //+------------------------------------------------------------------+
    extern string separator1 = "*** AO ***";
    //--- indicator settings
    #property indicator_separate_window
    #property indicator_buffers 3
    #property indicator_color1 Black
    #property indicator_color2 Green
    #property indicator_color3 Red
    //--- buffers
    double ExtAOBuffer[];
    double ExtUpBuffer[];
    double ExtDnBuffer[];


    //+------------------------------------------------------------------+
    //| Custom indicator Trend Strength |
    //+------------------------------------------------------------------+
    //--- indicator settings
    #property indicator_separate_window
    #property indicator_buffers 2
    #property indicator_color1 Blue
    #property indicator_color2 Red

    extern string separator2 = "*** Trend Strength ***";
    extern int STPeriod = 13;
    //----
    double ExtBuffer1[];
    double ExtBuffer2[];

    //+------------------------------------------------------------------+
    //| Custom indicator Trend Momentum |
    //+------------------------------------------------------------------+
    //--- indicator settings
    #property indicator_separate_window
    #property indicator_buffers 3
    #property indicator_color1 Blue
    #property indicator_width1 2
    #property indicator_color2 Red
    #property indicator_width2 2
    #property indicator_color3 Black
    #property indicator_width3 0

    extern string separator3 = "*** Trend Momentum ***";
    extern int Period1=5;
    extern int DPeriod1=3;
    extern int SlowingPeriod1=3;




    //+------------------------------------------------------------------+
    //| Expert initialization function |
    //+------------------------------------------------------------------+
    int OnInit()
    {
    if (Digits == 3 || Digits == 5 }
    {
    TakeProfit *= 10;
    StopLoss *= 10;
    }
    //---




    Может это возможно сделать !
    Последний раз редактировалось Gold; 25.12.2016, 02:10.
  • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
  • #2 Свернуть

    Чтож вы помогите хоть комментарием о правильности написания начала. Пожалуйста!
     

    Комментарий

    • #3 Свернуть

      Сообщение от Silverrem Посмотреть сообщение
      Чтож вы помогите хоть комментарием о правильности написания начала. Пожалуйста!
      Если ты начал с написания осциллятора, то это еще хоть на что-то похоже... Пока ты написал кучу требухи для индикатора, но, судя по всему, и с этим не знаешь, что делать.
      Если начинаешь только изучать язык - изучай его с нуля, не берись сразу за серьезные программы - все равно не получится, пока не усвоишь основ.
      Пишу программы для терминала MetaTrader4 под заказ. Условия и контакты - здесь.
      e-mail: automql@yandex.ru. Отвечаю быстро и по делу.

      Комментарий

      • #4 Свернуть

        Всем привет, пожалуйста помогите создать советника который торгует на автомате, в долгу не останусь. У меня есть очень хороший и прибыльный индикатор который дает сигналы нужно его поставит на авто советник чтоб он сам открывал сделки и сам закрывал. Если поможете создать поделюсь советником. Заранее спасибо.

        Комментарий

        • #5 Свернуть

          Сообщение от zarema1974 Посмотреть сообщение
          создать советника
          Сообщение от zarema1974 Посмотреть сообщение
          есть очень хороший и прибыльный индикатор
          Сообщение от zarema1974 Посмотреть сообщение
          поделюсь советником
          Вроде понятно что требуется создать советника, не понятно только на основе какого задания. Еще понятно что есть прибыльный индикатор. Не понятно еще того, чем автор готов поделиться? Советником, который ему напишет программист, или индикатором, на основе которого этот советник будет построен?
          Реализую за ваши деньги ваши идеи на MQL - mql@fx-prog.ru

          Комментарий

          • #6 Свернуть

            MQL код:
            //+------------------------------------------------------------------+
            //| Xopfild_Net.mq4 |
            //| Copyright 2016, MetaQuotes Software Corp. |
            //| [url]https://www.mql5.com[/url] |
            //+------------------------------------------------------------------+
            #property copyright "Copyright 2016, MetaQuotes Software Corp."
            #property link "https://www.mql5.com"
            #property version "1.00"
            //#property strict

            extern int TakeProfit = 0;
            extern int StopLoss = 0;
            extern double Lots = 0.1;
            extern int Magic = 8971;
            extern string TradeStyle_2="Скальпинг установки";
            extern int mod=0;
            extern int SlowMAPeriod1=20;

            double ExtGraph[];
            double inm[4];
            double sl,tp;
            //int mod;

            double neiron[3][3];
            //+------------------------------------------------------------------+
            //| Expert initialization function |
            //+------------------------------------------------------------------+
            int OnInit()
            {
            //---
            ArrayResize(ExtGraph,64,10);
            //---
            return(INIT_SUCCEEDED);
            }
            //+------------------------------------------------------------------+
            //| Expert deinitialization function |
            //+------------------------------------------------------------------+
            void OnDeinit(const int reason)
            {
            //---

            }
            //+------------------------------------------------------------------+
            //| Expert tick function |
            //+------------------------------------------------------------------+
            void OnTick()
            {
            //---
            if(Volume[0]>1) return;
            // magd(1);
            inm[1]=magd(1);
            inm[2]=magd(2);
            inm[3]=magd(3);
            inm[4]=magd(4);
            // nei_1(magd(1));
            //nei_2(4.3);
            // nei_3(2.2);
            //nei_4(magd(4));

            Wind_info1();
            if(si_macd()==-1){ClosAll(0);sell();}
            if(si_macd()==1){ClosAll(1);buy();}

            }
            //+------------------------------------------------------------------+
            double sell()
            {
            if(OrdersTotal()==0)
            {

            if(StopLoss >0) sl = Ask + StopLoss * Point; else sl=0;
            if(TakeProfit>0) tp = Bid- TakeProfit * Point;else tp=0;
            OrderSend(Symbol(),OP_SELL,Lots,Bid,3,sl,tp,"OpenT iks_Sell",Magic,0,Red);
            // OrderSend(Symbol(),OP_SELLSTOP,Lots,Bid-(STOPLEVEL+Dist_1)*Point,3,sl,tp,"",Magic,0,DarkTu rquoise);
            // if( up > down){ OrderSend(Symbol(),OP_BUYLIMIT,Lots,Bid-(STOPLEVEL+2)*Point,3,0,0,"",Magic ,0,Blue);}

            }
            return(0);
            }
            //+------------------------------------------------------------------+
            double buy()
            {
            if(OrdersTotal()==0)
            {

            if(StopLoss >0) sl = Bid - StopLoss * Point; else sl=0;
            if(TakeProfit>0) tp = Ask + TakeProfit * Point;else tp=0;
            OrderSend(Symbol(),OP_BUY,Lots,Ask,3,sl,tp,"OpenTi ks_Buy",Magic,0,Green);
            // OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask+(STOPLEVEL+ Dist_1)*Point,3,sl,tp,"",Magic,0,LawnGreen);
            // if( up < down ){OrderSend(Symbol(),OP_SELLLIMIT,Lots,Ask+(STOPLE VEL+2)*Point,3,0,0,"",Magic ,0,Red);}
            }
            return(0);
            }
            //+------------------------------------------------------------------+
            double si_macd()
            {
            if(magd(4)>0&& magd(1)>0&&magd(3)>0&&magd(1)<magd(2)&&magd(2)>mag d(3))return(-1);
            if(magd(4)<0&& magd(1)<0&&magd(3)<0&&magd(1)>magd(2)&&magd(2)<mag d(3))return(1);

            return(0);
            }
            //================================================== ===========================
            double magd(int shift)
            {
            double slowma;
            double value1,value2;
            value1=
            0.2149840610*Close[shift+0]
            +0.2065763732*Close[shift+1]
            +0.1903728890*Close[shift+2]
            +0.1675422436*Close[shift+3]
            +0.1397053150*Close[shift+4]
            +0.1087951881*Close[shift+5]
            +0.0768869405*Close[shift+6]
            +0.0460244906*Close[shift+7]
            +0.0180517395*Close[shift+8]
            -0.0055294579*Close[shift+9]
            -0.0236660212*Close[shift+10]
            -0.0358140055*Close[shift+11]
            -0.0419497760*Close[shift+12]
            -0.0425331450*Close[shift+13]
            -0.0384279507*Close[shift+14]
            -0.0307917433*Close[shift+15]
            -0.0209443384*Close[shift+16]
            -0.0102335925*Close[shift+17]
            +0.0000932767*Close[shift+18]
            +0.0089950015*Close[shift+19]
            +0.0157131144*Close[shift+20]
            +0.0198149331*Close[shift+21]
            +0.0211989019*Close[shift+22]
            +0.0200639819*Close[shift+23]
            +0.0168532934*Close[shift+24]
            +0.0121825067*Close[shift+25]
            +0.0067474241*Close[shift+26]
            +0.0012444305*Close[shift+27]
            -0.0037087682*Close[shift+28]
            -0.0076300416*Close[shift+29]
            -0.0102110543*Close[shift+30]
            -0.0113306266*Close[shift+31]
            -0.0110462105*Close[shift+32]
            -0.0095662166*Close[shift+33]
            -0.0072080453*Close[shift+34]
            -0.0043494435*Close[shift+35]
            -0.0013771970*Close[shift+36]
            +0.0013575268*Close[shift+37]
            +0.0035760416*Close[shift+38]
            +0.0050946166*Close[shift+39]
            +0.0058339574*Close[shift+40]
            +0.0058160431*Close[shift+41]
            +0.0051486631*Close[shift+42]
            +0.0039984014*Close[shift+43]
            +0.0025619380*Close[shift+44]
            +0.0010531475*Close[shift+45]
            -0.0003481453*Close[shift+46]
            -0.0014937154*Close[shift+47]
            -0.0022905986*Close[shift+48]
            -0.0027000514*Close[shift+49]
            -0.0027359080*Close[shift+50]
            -0.0024543322*Close[shift+51]
            -0.0019409837*Close[shift+52]
            -0.0012957482*Close[shift+53]
            -0.0006179734*Close[shift+54]
            +0.0000057542*Close[shift+55]
            +0.0005111297*Close[shift+56]
            +0.0008605279*Close[shift+57]
            +0.0010441921*Close[shift+58]
            +0.0010775684*Close[shift+59]
            +0.0009966494*Close[shift+60]
            +0.0008537300*Close[shift+61]
            +0.0007142855*Close[shift+62]
            +0.0006599146*Close[shift+63]
            -0.0008151017*Close[shift+64];

            value2=
            0.0825641231*Close[shift+0]
            +0.0822783080*Close[shift+1]
            +0.0814249974*Close[shift+2]
            +0.0800166909*Close[shift+3]
            +0.0780735197*Close[shift+4]
            +0.0756232268*Close[shift+5]
            +0.0727009740*Close[shift+6]
            +0.0693478349*Close[shift+7]
            +0.0656105823*Close[shift+8]
            +0.0615409157*Close[shift+9]
            +0.0571939540*Close[shift+10]
            +0.0526285643*Close[shift+11]
            +0.0479025123*Close[shift+12]
            +0.0430785482*Close[shift+13]
            +0.0382152880*Close[shift+14]
            +0.0333706133*Close[shift+15]
            +0.0286021160*Close[shift+16]
            +0.0239614376*Close[shift+17]
            +0.0194972056*Close[shift+18]
            +0.0152532583*Close[shift+19]
            +0.0112682658*Close[shift+20]
            +0.0075745482*Close[shift+21]
            +0.0041980052*Close[shift+22]
            +0.0011588603*Close[shift+23]
            -0.0015292889*Close[shift+24]
            -0.0038593393*Close[shift+25]
            -0.0058303888*Close[shift+26]
            -0.0074473108*Close[shift+27]
            -0.0087203043*Close[shift+28]
            -0.0096645874*Close[shift+29]
            -0.0102995666*Close[shift+30]
            -0.0106483424*Close[shift+31]
            -0.0107374524*Close[shift+32]
            -0.0105952115*Close[shift+33]
            -0.0102516944*Close[shift+34]
            -0.0097377645*Close[shift+35]
            -0.0090838346*Close[shift+36]
            -0.0083237046*Close[shift+37]
            -0.0074804382*Close[shift+38]
            -0.0065902734*Close[shift+39]
            -0.0056742995*Close[shift+40]
            -0.0047554314*Close[shift+41]
            -0.0038574209*Close[shift+42]
            -0.0029983549*Close[shift+43]
            -0.0021924972*Close[shift+44]
            -0.0014513858*Close[shift+45]
            -0.0007848072*Close[shift+46]
            -0.0001995891*Close[shift+47]
            +0.0003009728*Close[shift+48]
            +0.0007162164*Close[shift+49]
            +0.0010478905*Close[shift+50]
            +0.0012994016*Close[shift+51]
            +0.0014755433*Close[shift+52]
            +0.0015824007*Close[shift+53]
            +0.0016272598*Close[shift+54]
            +0.0016185271*Close[shift+55]
            +0.0015648336*Close[shift+56]
            +0.0014747659*Close[shift+57]
            +0.0013569946*Close[shift+58]
            +0.0012193896*Close[shift+59]
            +0.0010695971*Close[shift+60]
            +0.0009140878*Close[shift+61]
            +0.0007591540*Close[shift+62]
            +0.0016019033*Close[shift+63];

            slowma=iMA(Symbol(),0,SlowMAPeriod1,0,0,0,shift);
            if(mod==1){ ExtGraph[shift]=value1-slowma; return (value1-slowma);}
            if(mod==0){ ExtGraph[shift]=value1-value2; return (value1-value2);}

            return (0);

            }
            //================================================== ==================
            // закрытие всех ордеров
            //================================================== ==================
            void ClosAll(int type)
            {
            int i,total;
            total=OrdersTotal();
            for(i=total-1; i>=0; i--)

            {
            OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
            if(OrderType()==OP_BUY && type>=0)
            // закрытие Buy
            if(OrderClose(OrderTicket(),OrderLots(),Bid,3,clrV iolet)==true)
            Print("Закрыт ордер: ",OrderTicket());
            else
            {
            Comment("Ошибка закрытия ордера: ",OrderTicket());
            Print("Ошибка закрытия ордера: ",OrderTicket());
            //return(0);
            }
            if(OrderType()==OP_SELL && type<=0)
            // закрытие Sell
            if(OrderClose(OrderTicket(),OrderLots(),Ask,3,clrV iolet)==true)
            Print("Закрыт ордер: ",OrderTicket());
            else
            {
            Comment("Ошибка закрытия ордера: ",OrderTicket());
            Print("Ошибка закрытия ордера: ",OrderTicket());
            // return(0);
            }
            if(OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP)
            // удаление отложенного ордера
            // if(OrderDelete(OrderTicket())==false)
            {
            Comment("Ошибка удаления ордера: ",OrderTicket());
            Print("Ошибка удаления ордера: ",OrderTicket());
            return;
            }
            }
            }
            //================================================== =============
            double nei_1(double vector=0)
            {
            double iput;
            double iput_a;
            double iput_b;
            double iput_c;
            double iput_d;

            iput_a=(inm[2]*inm[3]*inm[4]);

            iput_b=(inm[1]*inm[3]*inm[4]);
            iput_c=(inm[1]*inm[2]*inm[4]);
            iput_d=(inm[1]*inm[2]*inm[3]);

            iput=iput_b+iput_c+iput_d;
            // neiron [3][3];
            //if(iput=0)iput=-1;
            Print("rp1 =",iput);
            return(iput);
            }
            //================================================== =============
            double nei_2(double vector=0)
            {
            double iput;
            //iput=vector;
            iput=vector*nei_3(inm[1])*nei_3(inm[3])*nei_3(inm[4]);
            // iput=vector*nei_1()*nei_3()*nei_4();
            //neiron [3][3];
            //if(iput=0)iput=-1;
            return(iput);
            }
            //================================================== =============
            double nei_3(double vector=0)
            {
            double iput=0.5;
            iput=vector*nei_1(inm[1])*nei_1(inm[3])*nei_1(inm[4]);
            // iput=vector;
            // neiron [3][3];
            //if(iput=0)iput=-1;
            return(iput);
            }
            //================================================== =============
            double nei_4(double vector=0)
            {
            double iput=0.5;

            // iput=vector*nei_1()*nei_2()*nei_3();
            // neiron [3][3];
            //if(iput=0)iput=-1;
            Comment("rp4 =",iput);
            return(iput);

            }
            //+------------------------------------------------------------------+
            //================================================== ==============================
            // Информ окно
            //================================================== ==============================
            void Wind_info1()
            {
            if(1==1)
            {
            {

            Comment("\n"," == советник ФАЗА_V1 работает ==",
            "\n","Входной вектор_1= ",magd(1)," Выход нейрона_1= ",nei_1(magd(1)),
            "\n","Входной вектор_2= ", magd(2),//"Выход нейрона_2= ",nei_2(magd(2)),
            "\n","Входной вектор_3= ", magd(3),//"Выход нейрона_3= ",nei_3(magd(3)),
            "\n","Входной вектор_4= ", magd(4),//"Выход нейрона_4= ",nei_4(magd(4)),
            "\n",0,
            "\n",0,

            "\n"," ----------------------------------------------------------------------"
            );
            }
            return;
            }
            }
            //+------------------------------------------------------------------+

            вот тебе советник с встроенным цифровым индикатором магд
             

            Комментарий

            • #7 Свернуть

              Сообщение от Ppoteus Посмотреть сообщение
              вот тебе советник с встроенным цифровым индикатором магд
              Спасибо большое, только что то не работает она что то!
                 

              Комментарий

              • #8 Свернуть

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

                Комментарий

                • #9 Свернуть

                  Простой индикатор

                  Мне требуется все вроде просто:
                  Чтоб советник открывал сделку при обнаружении свечек одного цвета в трех индикаторах(на фото продажа).
                  отдельный момент: в индикаторе trend strength свечи для торговли должны быть выше уровня 16
                  При этом он открывает сделку , покупку\продажу.
                  А закрытие происходит:
                  В двух индикаторах образуются и закрываются свечки противоположного цвета.
                  Вложения
                     

                  Комментарий

                  • #10 Свернуть

                    сам сов ето просто набросок был подключено к етому магду специально для проверки торгует ли а там дальше нейро сети пойдут есть лишние функции но они не задействованы
                       

                    Комментарий

                    • #11 Свернуть

                      Я с программированием тяжко я его не изучал , примерно начало писал , но "глупость" видимо написал.
                      Может у вас есть возможность написать соединение трех индикаторов в советника.
                      А дальше буду искать еще варианты, но в моих мыслях вроде все простое.
                         

                      Комментарий

                      • #12 Свернуть

                        Сообщение от Silverrem Посмотреть сообщение
                        Мне требуется все вроде просто:
                        Чтоб советник открывал сделку при обнаружении свечек одного цвета в трех индикаторах(на фото продажа).
                        отдельный момент: в индикаторе trend strength свечи для торговли должны быть выше
                        не так все просто как кажется три индикатора два левых нужны их исходники куда они пишут в буфера сами индюки двух цветные то есть уже есть 3 буфера а там смотреть надо где положительные данные пишутся где отрицательные не я за ето не возьмусь гемороя много третий общий ето для прогорев ато начнут туфту гнать
                           

                        Комментарий

                        • #13 Свернуть

                          Сообщение от Ppoteus Посмотреть сообщение
                          не так все просто как кажется три индикатора два левых нужны их исходники куда они пишут в буфера сами индюки двух цветные то есть уже есть 3 буфера а там смотреть надо где положительные данные пишутся где отрицательные не я за ето не возьмусь гемороя много третий общий ето для прогорев ато начнут туфту гнать
                          Ну еще раз могу сказать только спасибо.
                          Может есть какие то знакомые программисты по советникам, для написания или какой то помощи. Хочется начать и не сразу но сделать это.
                             

                          Комментарий

                          • #14 Свернуть

                            нужны сами индикаторы их исходники не волнуйтесь я вобше 3 индюка использую мне лишние ненужны а в нете их уже миллионы на любой вкус и цвет просто их есче и понимать надо
                               

                            Комментарий

                            • <a href="https://www.instaforex.org/ru/?x=ruforum">InstaForex</a>
                            • #15 Свернуть

                              Сообщение от Ppoteus Посмотреть сообщение
                              нужны сами индикаторы их исходники не волнуйтесь я вобше 3 индюка использую мне лишние ненужны а в нете их уже миллионы на любой вкус и цвет просто их есче и понимать надо
                              С добрым выходным.
                              Вот у меня есть данные индикаторы если нужны вам для просмотра, по awesome oscillator он стандартный у Билла Вильямса .
                              Может все же у вас будет интерес и эйфория в свободное время, потихоньку начать сделать данный советник. Было б тогда очень здорово!
                              Спасибо еще раз))).
                                 

                              Комментарий

                              Сейчас онлайн

                              working...
                              X