Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1128

 
Vitalie Postolache:
А я выше не это написал разве?

Хорошо, ну вот взяли мы, записали в файл нужные настройки, закрыли и что???

по идее он же должен теперь переоткрыть советник  с нужными параметрами, а как это может сделать текстовый файл (не вижу там других в списке функций, хотя в таком случае надо ехе)

 
trader781:

Хорошо, ну вот взяли мы, записали в файл нужные настройки, закрыли и что???

по идее он же должен теперь переоткрыть советник  с нужными параметрами, а как это может сделать текстовый файл (не вижу там других в списке функций, хотя в таком случае надо ехе)

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

void LoadParametres()
  {
   Print("*******************************************");
   Print("Start downloading data Magic = ",Magic," ",_Symbol);
   Print("*******************************************");
   int handle=FileOpen("Overturn_"+(string)Magic+"_"+_Symbol+".csv",FILE_CSV|FILE_READ);
   if(handle>0)
     {

      tiket=(int)FileReadNumber(handle);
      flag_series=FileReadBool(handle);
      TP = FileReadNumber(handle);
      SL = FileReadNumber(handle);
      series=(int)FileReadNumber(handle);
      Lots=FileReadNumber(handle);

      FileClose(handle);
      Print("*******************************************");
      Print("Loading data completed Magic = ",Magic," ",_Symbol);
      Print("*******************************************");
     }
  }


 юю

 

Доброго Дня Всем!

Есть кнопка в терминале "Авто-торговля ", - закинул в окно советник - пошли "алерты" (во вкладке "эксперты") - нажал кнопку "Авто-торговля" (включил) - пошли "алерты"(замечательно) -  нажал кнопку "Авто-торговля" (ВЫКЛЮЧИЛ торговлю) ВСЕ РАВНО идут "алерты".

Вопрос - это у ВСЕХ так?

Если Да, то есть возможность установить/прописать что-бы "алерты" шли только после нажатия этой кнопки? 

Может вопрос без башенный но все равно буду благодарен за ответ! 

 
Roni Iron:

Доброго Дня Всем!

Есть кнопка в терминале "Авто-торговля ", - закинул в окно советник - пошли "алерты" (во вкладке "эксперты") - нажал кнопку "Авто-торговля" (включил) - пошли "алерты"(замечательно) -  нажал кнопку "Авто-торговля" (ВЫКЛЮЧИЛ торговлю) ВСЕ РАВНО идут "алерты".

Вопрос - это у ВСЕХ так?

Если Да, то есть возможность установить/прописать что-бы "алерты" шли только после нажатия этой кнопки? 

Может вопрос без башенный но все равно буду благодарен за ответ! 

Кнопка  "Авто-торговля " разрешает, запрещает проведение торговых операций,

Если ее отключить, то советники и скрипты будут работать

 
Roni Iron:

Доброго Дня Всем!

Есть кнопка в терминале "Авто-торговля ", - закинул в окно советник - пошли "алерты" (во вкладке "эксперты") - нажал кнопку "Авто-торговля" (включил) - пошли "алерты"(замечательно) -  нажал кнопку "Авто-торговля" (ВЫКЛЮЧИЛ торговлю) ВСЕ РАВНО идут "алерты".

Вопрос - это у ВСЕХ так?

Если Да, то есть возможность установить/прописать что-бы "алерты" шли только после нажатия этой кнопки? 

Может вопрос без башенный но все равно буду благодарен за ответ! 

Следите за состоянием TerminalInfoInteger(TERMINAL_TRADE_ALLOWED).
 
Roni Iron:

Доброго Дня Всем!

Есть кнопка в терминале "Авто-торговля ", - закинул в окно советник - пошли "алерты" (во вкладке "эксперты") - нажал кнопку "Авто-торговля" (включил) - пошли "алерты"(замечательно) -  нажал кнопку "Авто-торговля" (ВЫКЛЮЧИЛ торговлю) ВСЕ РАВНО идут "алерты".

Вопрос - это у ВСЕХ так?

Если Да, то есть возможность установить/прописать что-бы "алерты" шли только после нажатия этой кнопки? 

Может вопрос без башенный но все равно буду благодарен за ответ! 

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

Мужики, делаю ставку на EURUSD к примеру 0.10, тейк проф через 100 пунктов, закрылся прибыль 10.00. всё норм, теперь USDJPY прибыль через 100 пунктов 7.80. 

Пытался вычислить стоимость одного пункта MarketInfo(Symbol(), MODE_POINT); получаю 0,001 где я тут туплю? 

Короч пытаюсь вычислить какой мне минимальный лот надо ставить чтобы через 100 пунктов получил не 7.8 а именно 10.00.
 
Evgeniy Oshurkevich:

Мужики, делаю ставку на EURUSD к примеру 0.10, тейк проф через 100 пунктов, закрылся прибыль 10.00. всё норм, теперь USDJPY прибыль через 100 пунктов 7.80. 

Пытался вычислить стоимость одного пункта MarketInfo(Symbol(), MODE_POINT); получаю 0,001 где я тут туплю? 

Короч пытаюсь вычислить какой мне минимальный лот надо ставить чтобы через 100 пунктов получил не 7.8 а именно 10.00.
MODE_TICKVALUE - цена в валюте депозита одного пункта (который через MODE_POINT) из расчёта на 1 лот
 
Maxim Kuznetsov:
MODE_TICKVALUE - цена в валюте депозита одного пункта (который через MODE_POINT) из расчёта на 1 лот
Ок, спасибо )
 

Появилась необходимость записать данные в hst файл, чтоб потом на основе этих данных построить автономный график.

Бьюсь второй день но ничего не получаеться.

Код:

#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
ulong    last_fpos=0;         //
int      HandleHistory=-1;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string symbol=Symbol();
   int per=Period()*9;

   ResetLastError();
   if(CreateHeader()==true)//если создали заголовок
     {
      HandleHistory=FileOpenHistory(symbol+(string)per+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
      if(HandleHistory!=INVALID_HANDLE)
        {

         for(int i=199;i>0;i--)//заполняем данными
           {
            MqlRates r;
            r.time=Time[i];//просто пытаюсь записать, это так для примера
            r.open=Open[i];//просто пытаюсь записать, это так для примера
            r.low=Low[i];
            r.high=High[i];
            r.close=Close[i];
            r.tick_volume=(long)10;
            r.spread=0;
            r.real_volume=(long)10;
            uint byteswritten=FileWriteStruct(HandleHistory,r);
            Print("FileOpen OK ",byteswritten," ",Time[i]);
           }
       FileClose(HandleHistory);
       // FileFlush(HandleHistory);
        }
      else Print("Операция FileOpen неудачна, ошибка ",GetLastError());
     }
// long id=ChartOpen(symbol,per);
//Alert(id);
  }
//+------------------------------------------------------------------+
bool CreateHeader()//создаем файл с историей hst(заголовок)
  {

   int      file_version=401;
   string   c_copyright;
   string   c_symbol=Symbol();
   int i_period=Period()*9;
   int      i_digits=Digits;
   int      i_unused[13];
//---  
   ResetLastError();
   HandleHistory=FileOpenHistory(c_symbol+(string)i_period+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
   if(HandleHistory<0)
     {
      Print("Error open ",c_symbol+(string)i_period,".hst file ",GetLastError());
      return(false);
     }
   c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
   ArrayInitialize(i_unused,0);
//--- write history file header
   FileWriteInteger(HandleHistory,file_version,LONG_VALUE);
   FileWriteString(HandleHistory,c_copyright,64);
   FileWriteString(HandleHistory,c_symbol,12);
   FileWriteInteger(HandleHistory,i_period,LONG_VALUE);
   FileWriteInteger(HandleHistory,i_digits,LONG_VALUE);
   FileWriteInteger(HandleHistory,0,LONG_VALUE);
   FileWriteInteger(HandleHistory,0,LONG_VALUE);
   FileWriteArray(HandleHistory,i_unused,0,13);
   return(true);
  }

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

 

Вот инфо по графику

 

 

 Почему то пишуться данные 2003 года!

 

В итоге при запуска графика получаю ошибку:  HistoryBase: 196 errors in 'NZDCHF45'

Понимаю что- что то не так записала. Но как правильно записывать не знаю, мало информации. Кто знает - подскажите.


Причина обращения: