Конкурсы » Конкурс торговых роботов "Cyber Trade" » Cybertrade. Этап девятый. Вопросы и обсуждение.
+ Подписаться
Страница 11 из 22 ПерваяПервая ... 91011121321 ... ПоследняяПоследняя
  1. 2,012
    Комментарии
    25
    Темы
    1908
    Репутация Pro
    Аватар для west100  
    Мастер форумных наук

    6 Медалей
    Цитата Сообщение от Дмитрий2 Посмотреть сообщение
    да ну... врядли

    bool ОткрытиеОрдера(string символ, int тип, double лот, double цена, double стоп, double профит, string коммент, int магик, int цвет) //Red, Blue
    {
    int Секунда, тикет;
    if(тип==OP_BUY)
    цена=MarketInfo(символ,MODE_ASK);
    if(тип==OP_SELL)
    цена=MarketInfo(символ,MODE_BID);
    тикет=OrderSend(символ,тип,лот,ц ена,3,стоп,профит,коммент,ма гик,0,цвет);
    Sleep(1000);
    OrderSelect(тикет,SELECT_BY_TICKET);
    if(IsTesting()==true || IsOptimization()==true)
    return(true);
    while(Секунда<180 && OrderSelect(тикет,SELECT_BY_TICKET)==false)
    {
    Секунда=Секунда+1;
    Sleep(500);
    }
    ОШИБКА();
    RefreshRates();
    if (OrderSelect(тикет,SELECT_BY_TICKET)==false)
    {
    Print("Не удалось открыть ордер ",тикет," в течение ",Секунда/2," секунд");
    return(false);
    }
    else
    return(true);
    }
    Переменная Секунда не инициализирована.
  2. 95
    Комментарии
    0
    Темы
    95
    Репутация Pro
     
    В начале пути

    2 Медалей
    Цитата Сообщение от west100 Посмотреть сообщение
    Переменная Секунда не инициализирована.
    С нуля идет, хотя я тоже всегда инициализирую.
  3. 2,008
    Комментарии
    4
    Темы
    2040
    Репутация Pro
     
    Мастер форумных наук

    3 Медалей
    Цитата Сообщение от SergP Посмотреть сообщение
    стрёмно написано..... надо тикет сразу проверять и отваливать по ошибке....
    если ты его сразу не получил.... то хрен потом получишь.... как не долбись....:smartass:
    хорошо, проведем эксперимент, на следующий конкурс изменю на 10 сек...
    но ведь и у других виснет, неужели тоже такую хрень написали:D
  4. 2,008
    Комментарии
    4
    Темы
    2040
    Репутация Pro
     
    Мастер форумных наук

    3 Медалей
    Цитата Сообщение от west100 Посмотреть сообщение
    Переменная Секунда не инициализирована.
    автоматом должна...
  5. 3,168
    Комментарии
    1
    Темы
    3184
    Репутация Pro
    Аватар для SergP  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от Дмитрий2 Посмотреть сообщение
    хорошо, проведем эксперимент, на следующий конкурс изменю на 10 сек...
    но ведь и у других виснет, неужели тоже такую хрень написали:D
    гыыы.... а может ты их вешаешь... типа усё.... больше нету свободных точек выхода в инет:smartass:
  6. 2,012
    Комментарии
    25
    Темы
    1908
    Репутация Pro
    Аватар для west100  
    Мастер форумных наук

    6 Медалей
    Цитата Сообщение от GeoMo Посмотреть сообщение
    С нуля идет...
    А вот не факт, что при создании локальных переменных функции их значение автоматически обнуляется. А вдруг там оказывается максимально возможное минусовое значение? И тогда долбать будет цикл.... лень считать, но очень долго получится.
  7. 3,168
    Комментарии
    1
    Темы
    3184
    Репутация Pro
    Аватар для SergP  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от west100 Посмотреть сообщение
    Переменная Секунда не инициализирована.
    кстати да....:smartass:

    ежели заместо нуля будет цифирь больше 12000000.... то

    мильон проверок по полсекунды:D

    это до...много короче...:D
  8. 3,168
    Комментарии
    1
    Темы
    3184
    Репутация Pro
    Аватар для SergP  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от Дмитрий2 Посмотреть сообщение
    автоматом должна...
    ничего она не должна....:smartass:

    сделай так....

    datetime old_time=LocalTime();

    while(LocalTime()-old_time<180 &&.....

    таг...примерно:smartass:

    хотя...один хрен.... этот while- не нужен.... не получишь ты тикета.... :D
  9. 2,008
    Комментарии
    4
    Темы
    2040
    Репутация Pro
     
    Мастер форумных наук

    3 Медалей
    Цитата Сообщение от SergP Посмотреть сообщение
    ничего она не должна....:smartass:

    :D
    должна:smartass:
    Любая переменная при определении может быть инициализирована. Любая переменная инициализируется нулем (0), если явно не задано другое начальное значение. Глобальные и статические переменные могут быть проинициализированы только константой соответствующего типа. Локальные переменные могут быть проинициализированы любым выражением, а не только константой.
    Инициализация глобальных и статических переменных производится однократно. Инициализация локальных переменных производится каждый раз при вызове соответствующих функций.
  10. 2,012
    Комментарии
    25
    Темы
    1908
    Репутация Pro
    Аватар для west100  
    Мастер форумных наук

    6 Медалей
    Цитата Сообщение от SergP Посмотреть сообщение
    ничего она не должна....:smartass:

    сделай так....

    datetime old_time=LocalTime();

    while(LocalTime()-old_time<180 &&.....

    таг...примерно:smartass:

    хотя...один хрен.... этот while- не нужен.... не получишь ты тикета.... :D
    Не получит...

    Вот, дарю. Безвозмездно. То-есть - даром.

    PHP код:
    void OpenPosition(int fOrderTypedouble Lotsdouble OpenPricedouble StopLossdouble TakeProfitstring _Comment)
    {
      
    int resulterror;
      
    double _OpenPrice OpenPrice;
      while(
    true)
       {
          if (
    fOrderType==OP_BUY_OpenPrice MarketInfo(gl_symbol,MODE_ASK);
          if (
    fOrderType==OP_SELL_OpenPrice MarketInfo(gl_symbol,MODE_BID);
          Print(
    gl_symbol," OpenPosition: Lots=",Lots," OP=",OpenPrice," ",_OpenPrice," SL=",StopLoss," TP=",TakeProfit," Comm=",_Comment);
          
    result OrderSend(gl_symbol,fOrderType,Lots,_OpenPrice,exSlippage,0,0,_Comment,MAGICWT,0,CLR_NONE);
          if(
    result!=TRUE) { error=GetLastError(); Print("LastError on OpenPosition = ",error); }
          else 
    error=0;
          if(
    error==135RefreshRates();
          else break;
       }
     
      if ((
    error==0) && (StopLoss+TakeProfit>0.0))
         
    //---- modify market order
         
    while(true)
         {
            
    result=OrderModify(result,0,StopLoss,TakeProfit,0,CLR_NONE);
            if(
    result!=TRUE) { error=GetLastError(); Print("LastError on OpenPosition modify = ",error); }
            else 
    error=0;
            if(
    error==135RefreshRates();
            else break;
          }


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

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