Конкурсы » Конкурс торговых роботов "Cyber Trade" » Cybertrade. Этап девятый. Вопросы и обсуждение.
+ Подписаться
Страница 21 из 22 ПерваяПервая ... 1119202122 ПоследняяПоследняя
  1. 271
    Комментарии
    2
    Темы
    272
    Репутация Pro
     
    В начале пути

    2 Медалей
    Морс, поздравляю с победой!
    Всех с наступающим Новым Годом :)
    Желаю побольше профитов в новом году не только на рынке :thumbsup_002:
  2. 1,349
    Комментарии
    32
    Темы
    1351
    Репутация Pro
    Аватар для Прагматик  
    Мастер форумных наук

    5 Медалей
    Морс, прими поздравления и flash-приз , удачи в Новом 2010 году! :)
  3. 4
    Комментарии
    0
    Темы
    4
    Репутация Pro
     
    Новичок

    2 Медалей
    Спасибо всем за поздравления :hooray:
  4. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от морс Посмотреть сообщение
    Спасибо всем за поздравления :hooray:
    Извините, плз, тов Морс..
    Плюханули-с мы нонче.. Пробанились бездарно ...
    Зато теперь, с паркУ - С ПОБЕДОЮ ВАС!!!...

    И С Праздниками ВСЕЕЕЕЕЕЕЕЕЕЕЕХХ!!!!
  5. 512
    Комментарии
    4
    Темы
    514
    Репутация Pro
     
    В начале пути

    2 Медалей
    Здравствуйте!!!

    Друзья, написал приложение-советник "sat2004_0_1".

    Код прилагаю.

    PHP код:
    #property copyright "Copyright © 2010, Karen Grigorian"
    //+------------------------------------------------------------------+
    //|                                  
    //|                 
    //|                             
    //+------------------------------------------------------------------+



    //---- input parameters

    extern int    sat_pr1=0;   // Расчет значений линий сопротивления и подддержки - 0
    extern int    sat_pr2=60;  // Количество дней для расчета
    extern double sat_pr3=0.1// Количество лотов
    extern int    sat_pr4=0;   // Применять в расчете текущий день - 0
    extern double sat_pr5=47.0;// Значение суммы убытка для каждой сделки
    extern int    sat_pr6=3;   // количество элементов для расчета adx
    extern int    sat_pr7=0;   // Протокол в файле *.dat (=1)


    //---- глобальные переменные


    int handle_sat;
    int Tek_vrem;
    int Tek_vrem1;
    string simv;
    bool fs;
    int err;  
    bool prbuy=true;
    bool prsell=true;

    //+------------------------------------------------------------------+
    //| expert Формирование значений линий поддержкии и сопротивления    |
    //+------------------------------------------------------------------+

    int podsop_w(int sat_pr2,int sat_pr4
    {
    double znl=0;
    double znh=0;
    ObjectDelete("Линия_сопротивления");
    ObjectDelete("Линия_поддержки");
    znh=High[sat_pr4];
    znl=Low[sat_pr4];
     for (
    int i=sat_pr2;i>0;i--)
        {
        if (
    Low[i]<znl)   
        
    znl=(Low[i]+ znl)/2;   
      
        if (
    High[i]>znh)    
        
    znh=(High[i]+ znh)/2;    
        }
       if(!
    ObjectCreate("Линия_сопротивления"10D'2010.01.02 12:30'znh))
        {
         Print(
    "error: can't create Линия_сопротивления ! code #",GetLastError());
         return(
    0);
        }
        
    ObjectSet("Линия_сопротивления",OBJPROP_COLOR,Yellow);
        if(!
    ObjectCreate("Линия_поддержки"10D'2010.01.02 12:30',znl))
        {
         Print(
    "error: can't create Линия_поддержки ! code #",GetLastError());
         return(
    0);
        }
        
    ObjectSet("Линия_поддержки",OBJPROP_COLOR,Yellow);
        if (
    handle_sat>0)
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Линии  ",znl,"  "znh);
        Print(
    "Линии  ",znl,"  "znh);
         return (
    0);
        }
        
      
    //+------------------------------------------------------------------+
    //| expert Расчет спреда                                             |
    //+------------------------------------------------------------------+

    double spred() 
     {
      
    double st;  
      
    st=Ask-Bid;
      return(
    st);
     } 
      
        
    //+------------------------------------------------------------------+
    //| expert    Вычисление max  ADX                                    |
    //+------------------------------------------------------------------+
     
        
       
    double f_adx()
        {
         
        
    double adx=iADX(NULL0,14PRICE_TYPICALMODE_MAIN0);
        
    double adx1=0;
        
        for (
    int i=1;i<sat_pr6;i++)
        {
        
    adx1=iADX(NULL0,14PRICE_TYPICALMODE_MAINi);
        if (
    adx<adx1)
        
    adx=adx1;
        }
        
    ObjectDelete("ADX_max");
        if(!
    ObjectCreate("ADX_max"10D'2010.01.02 12:30'adx))
        {
         Print(
    "error: can't create ADX_max ! code #",GetLastError());
         return(
    0);
        }
        return (
    adx);
        }

    //+------------------------------------------------------------------+
    //| expert Чтение значений линий поддержкии и сопротивления          |
    //+------------------------------------------------------------------+

    int podsop_r(string smv
         {    
         return (
    0);
         }

    //+------------------------------------------------------------------+
    //| expert Совершение сделок                                         |
    //+------------------------------------------------------------------+

    int Buy_Sell(string simv,double sat_pr3,int tip_op,int sat_pr5
     {  
        
    bool bl;
        
    double st=stoploss(sat_pr5);
        
    double st1;
        
    double st2=stoploss(sat_pr5-20);
        if (
    st>0)
        if (
    tip_op==0)
        {
        
    st1=Ask-st-spred();
         
    st2=Ask+st2+spred();
        }
        else
        {
        
    st1=Bid+st+spred();
        
    st2=Bid-st2-spred();
        }
        if (
    tip_op==0)
          {
           
    blRefreshRates();
           if (
    OrderSend(simv,tip_op,sat_pr3,Ask,10,st1,st2)>0)
           {
           if (
    handle_sat>0)
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Сделка Buy ",simv" по цене ",Ask,st1,st2);
           Print(
    "Сделка Buy ",simv" по цене ",Ask);
           }
           else
           {
           Print(
    "Сделка Buy не выполнена ",simv" по цене ",Ask,"  ",GetLastError(),"  ",st1,"  ",st2);
           if (
    handle_sat>0)
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Сделка Buy не выполнена ",simv" по цене ",Ask,GetLastError(),st1,st2);
           }
          }
        else 
          {
           
    blRefreshRates();
           if (
    OrderSend(simv,tip_op,sat_pr3,Bid,10,st1,st2)>0)
           {
           Print(
    "Сделка Sell ",simv" по цене ",Bid);
           if (
    handle_sat>0)
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Сделка Sell ",simv" по цене ",Bid,st1,st2);
           }
           else
          {
            Print(
    "Сделка Sell не выполнена ",simv" по цене ",Bid,"  ",GetLastError(),"  ",st1,"  ",st2);
            if (
    handle_sat>0)
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Сделка Sell не выполнена ",simv" по цене ",Bid,"  ",GetLastError(),st1,st2);
    }
          }
          return (
    0);
     }
     
     
      
    //+------------------------------------------------------------------+
    //| expert Расчет наличия средств                                    |
    //+------------------------------------------------------------------+

    int sredstva(string simvdouble sat_pr3
     {
     if(
    AccountFreeMarginCheck(simv,OP_BUY,sat_pr3)<=|| GetLastError()==134
      return (-
    10);
      else
      return (
    0);
     }
     
    //+------------------------------------------------------------------+
    //| expert Разрешение на сделку                                      |
    //+------------------------------------------------------------------+

    int razr(string simv
     {
     
    string tiker;
          
    int pos=0;   
          
    int total OrdersTotal();
          for ( 
    pos 0pos<totalpos++ )
          { 
           if (
    OrderSelect(posSELECT_BY_POSMODE_TRADES))
             {
             
    tiker=OrderSymbol();
             if (
    tiker==simv)
             return(-
    1);  
             }
          }
         return (
    0);
     }
     
    //+------------------------------------------------------------------+
    //| expert Расчет стоп-лосс                                          |
    //+------------------------------------------------------------------+

    double stoploss(int sat_pr5
     {
      
    double st;
      
    st=Point*sat_pr5;
      return(
    st);
     }
     
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
      if (
    sat_pr7==1)
      
    handle_sat=FileOpen("sat2004_0_1.dat",FILE_CSV|FILE_WRITE);
      else
       
    handle_sat=0;
     if(
    handle_sat<1)
     {
      Print(
    "Файл sat2004_0_1.dat не обслуживается "GetLastError());
     }

      
    Tek_vrem=TimeMinute(Time[0]);
      
    Tek_vrem1=TimeHour(Time[0]);
     
    simv=Symbol();
    if (
    f_adx()==0)
    {
    Print(
    "Ошибка создания объекта ADX_max");
    if (
    handle_sat>0)
    FileWrite(handle_sat,"Ошибка создания объекта ADX_max");
    }
        if (
    sat_pr1==0)  
         
    err=podsop_w(sat_pr2,sat_pr4);
        else
         
    err=podsop_r(simv);   
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
       return(
    0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
        
    simv=Symbol();
        if (
    Tek_vrem1!=TimeHour(Time[0]))
        {
       
    Tek_vrem1=TimeHour(Time[0]);
       
    podsop_wsat_pr2sat_pr4);
       }
       
      if (
    Tek_vrem!=TimeMinute(Time[0]))
        {
       
    Tek_vrem=TimeMinute(Time[0]);
       if (
    f_adx()==0)
       {
       Print(
    "Ошибка создания объекта ADX_max");
       if (
    handle_sat>0)
        
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Ошибка создания объекта ADX_max");
       }
       }
      
    double adx=iADX(NULL0,14PRICE_TYPICALMODE_MAIN0);
      
    double adxm=iADX(NULL0,14PRICE_TYPICALMODE_MINUSDI0);
      
    double adxp=iADX(NULL0,14PRICE_TYPICALMODE_PLUSDI0);
      
    double znl=ObjectGet("Линия_поддержки",OBJPROP_PRICE1);
      
    double znh=ObjectGet("Линия_сопротивления",OBJPROP_PRICE1);
      
    double ban_l=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0);      
      
    double ban_h=iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0);
      
    double adx_m=ObjectGet("ADX_max",OBJPROP_PRICE1); 
       if (
    simv=="EURJPY")
       if (
    handle_sat>0)
        
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Покупка1 ADX_m=",adx_m,"ADX=",adx,simv,"ban_h=",ban_h,"znh=",znh,"Bid=",Bid,"Ask",Ask,"prbuy=",prbuy,"ban_l=",ban_l,"znl=",znl,"prsell=",prsell); 
      if ( 
    ban_l>Bid &&znl>Bid)
      {
      if (
    handle_sat>0)
        
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Продажа ADX-m; ADX",adx_m,adx,simv);
     
       if (
    adx_m<adx)
       return(
    0);
      
       
    err=sredstva(simv,sat_pr3); 
       if (
    handle_sat>0)
        
    FileWrite(handle_sat,handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS)," Код sredstva ",err); 
       Print(
    " Код sredstva ",err);  
       if (
    err==0)
        {
         if (
    razr(simv)==0)
       {
        
    err=Buy_Sell(simv,sat_pr3,0,sat_pr5);    
        
    prbuy=false;
        
    prsell=true;
        }
        }
      }   
       if ( 
    ban_h<Bid &&znh<Bid
       { 
       if (
    handle_sat>0)
        
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS),"Покупка ADX-m; ADX",adx_m,adx,simv);  
      
       if (
    adx_m<adx)
       return(
    0); 
      
       
    err=sredstva(simv,sat_pr3); 
       Print(
    " Код sredstva1 ",err); 
       if (
    handle_sat>0)
        
    FileWrite(handle_sat,TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS)," Код sredstva1 ",err);    
       if (
    err==0)
        {
         if (
    razr(simv)==0)
       {
        
    err=Buy_Sell(simv,sat_pr3,1,sat_pr5);  
        
    prsell=false;
        
    prbuy=true;
        }
        }
       }
       return(
    0);
      } 
    Что написано некорректно?

    Спасибо.
  6. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    commersant,
    С Днём Рождения!
    Извини, рискнул, поздравил..))))
    А вот Прагматика - сори, не отважился..
    91 год - не шутка, а у меня сами знаете, как с поздравлениями, порой, выходит..:D
  7. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от sat2004 Посмотреть сообщение
    Здравствуйте!!!

    Друзья, написал приложение-советник "sat2004_0_1".
    Код прилагаю.
    Да уж..
    На первый взгляд - часть кода где-т в пути потерялась..
    Хотя, может, браузер шутит..
    Попробуйте аттачментом в архиве прицепить..

    if(!ObjectCreate("Линия_сопротивле
    эт последняя строка, которую я вижу..((((
  8. 2,487
    Комментарии
    43
    Темы
    2611
    Репутация Pro
     
    Мастер форумных наук

    5 Медалей
    Цитата Сообщение от EQU Посмотреть сообщение
    Да уж..
    На первый взгляд - часть кода где-т в пути потерялась..
    Хотя, может, браузер шутит..
    Попробуйте аттачментом в архиве прицепить..

    if(!ObjectCreate("Линия_сопротивле
    эт последняя строка, которую я вижу..((((
    Подкорректировал пост sat2004, сейчас всё должно быть видно
  9. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от Ленар Фатихов Посмотреть сообщение
    Подкорректировал пост sat2004, сейчас всё должно быть видно
    Спасибо, Ленар!!
    С Новым Годом!
    С Рождеством!!
    С наступающим Старым!!!
    Извини, в бане был..))))
  10. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от sat2004 Посмотреть сообщение
    Что написано некорректно?
    Да.. Эхх...

    Как всегда, давайте начнём с этого..
    Посмотрите внимательно условия торговли в Броко..
    (OrderSend(simv,tip_op,sat_pr3,Ask,10,st1,st2)>0)

Вверх
РегистрацияX

чтобы писать, читать, комментировать