[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 260

 

Здравствуйте, граждане.

Чтобы не захломлять действительно форум, решил написать в эту ветку. Ответьте Пожалуйста, на двух моих компьютерах стояла (а сейчас на одном только осталась, после переустановки Windows в попыхах) MetaTrader 4 с одним и тем же счетом, был мозговой грешок и у меня вылетел из головы пароль, так вот где до сих пор остается МТ4 не тронутым, я могу видеть, и зайти, и работать с этим счетом нормально, но пароль вижу только под звездочками. Видел в МТ4 в диалоговом окне ввода номера и пароля есть флажок "Хранить личную информацию", можно ли посмотреть этот файл где-нибудь и как-нибудь, и будет ли в нем пароль?

 
vovdec >>:

... у меня вылетел из головы пароль, так вот где до сих пор остается МТ4 не тронутым, я могу видеть, и зайти, и работать с этим счетом нормально, но пароль вижу только под звездочками. Видел в МТ4 в диалоговом окне ввода номера и пароля есть флажок "Хранить личную информацию", можно ли посмотреть этот файл где-нибудь и как-нибудь, и будет ли в нем пароль?...

Пароль в МТ4 хранится в зашиврованном виде и место его хранения не оглашается.

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

При копировании/переносе папки МТ4 пароль теряется. Сделано в целях безопасности.

Пароль к любому реальному счёту восстанавливается через ТП.

От демок лучше его сохранять или менять на тот, который не забудете, сразу после

открытия демки.

[Deleted]  

Здравствуйте. Наваял тут небольшой советник, который просто открывает позицию по времени. В принципе все работает, но не могу его проверить на истории. Помогите разобраться.

//+------------------------------------------------------------------+
//| Полуночник.mq4 |
//| BaceK |
//| |
//+------------------------------------------------------------------+
#property copyright "BaceK"
#property link ""

//---- input parameters
extern int Dist_SL=20;
extern int Dist_TP=30;
extern double Prots=0.35;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{

string Symb=Symbol(); // Финанс. инструмент
int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);// Мин. дистанция
//Alert("Мин. дистанция = ",Min_Dist);
double Min_Lot=MarketInfo(Symb,MODE_MINLOT);// Мин. размер лота
//Alert("Мин. размер лота = ",Min_Lot);
double Free =AccountFreeMargin(); // Свободн средства
//Alert("Свободн средства = ",Free);
double One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);//Стоим.лота
//Alert("Стоим.лота = ",One_Lot);
double Lot=MathFloor((Free*Prots)/(One_Lot*Min_Lot))*Min_Lot;// Лоты
//Alert("Лоты = ",Lot);
//Alert("Bars = ",Bars);

//-----------------------------------------------
// Проверка свободных срелств
if ( Lot != 0 )
{
//Alert("Работа дальше = ",OrderSymbol());

// Проверка рабочего времени
int h=TimeHour(TimeCurrent());
if ( h < 1 )
{
for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{
// Анализ ордеров:
if (OrderSymbol()!= Symb) // Не наш фин.инструм.
{
//Alert("Работа дальше = ",OrderSymbol());
// Определение в какую сторону открываться
if (iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)< 0)
{
//Alert("Длинная позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
int ticket=OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-Dist_SL*Point,Bid+Dist_TP*Point);
}else
{
//Alert("Короткая позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
int ticket1=OrderSend(Symb,OP_SELL,Lot,Bid,3,Bid+Dist_SL*Point,Bid-Dist_TP*Point);
}
if (ticket>0 || ticket1>0) // Получилось :)
{
// Alert ("Установлен ордер SELL ",ticket || ticket1);
Sleep(5000);
}else
{
int Error=GetLastError(); // Не получилось :(
switch(Error) // Преодолимые ошибки
{
case 129:Alert("Неправильная цена. Пробуем ещё раз..");
RefreshRates(); // Обновим данные
return(0);
case 135:Alert("Цена изменилась. Пробуем ещё раз..");
RefreshRates(); // Обновим данные
return(0); // На след. итерацию
case 146:Alert("Подсистема торговли занята. Пробуем ещё..");
Sleep(500); // Простое решение
RefreshRates(); // Обновим данные
return(0); // На след. итерацию
}
switch(Error) // Критические ошибки
{
case 2 : Alert("Общая ошибка.");
break; // Выход из switch
case 5 : Alert("Старая версия клиентского терминала.");
return(0); // Выход из switch
case 64: Alert("Счет заблокирован.");
return(0); // Выход из switch
case 133:Alert("Торговля запрещена");
return(0); // Выход из switch
default: Alert("Возникла ошибка ",Error);// Другие варианты
}
//Alert (GetLastError());
return(0);
}


}else
{
//Alert("Выход по Symb = ",Symb);
return(0);
}
}else
{

//Alert("Выход по ордеров нет = ",Symb);
if (iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1)< 0)
{
//Alert("Длинная позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
int ticket2=OrderSend(Symb,OP_BUY,Lot,Ask,3,Bid-Dist_SL*Point,Bid+Dist_TP*Point);
}else
{
//Alert("Короткая позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
int ticket3=OrderSend(Symb,OP_SELL,Lot,Bid,3,Bid+Dist_SL*Point,Bid-Dist_TP*Point);
}
if (ticket2>0 || ticket3>0) // Получилось :)
{
//Alert ("Установлен ордер SELL ",ticket2 || ticket3);
Sleep(5000);
}else

{
int Error1=GetLastError(); // Не получилось :(
switch(Error1) // Преодолимые ошибки
{
case 129:Alert("Неправильная цена. Пробуем ещё раз..");
RefreshRates(); // Обновим данные
return(0);
case 135:Alert("Цена изменилась. Пробуем ещё раз..");
RefreshRates(); // Обновим данные
return(0); // На след. итерацию
case 146:Alert("Подсистема торговли занята. Пробуем ещё..");
Sleep(500); // Простое решение
RefreshRates(); // Обновим данные
return(0); // На след. итерацию
}
switch(Error1) // Критические ошибки
{
case 2 : Alert("Общая ошибка.");
break; // Выход из switch
case 5 : Alert("Старая версия клиентского терминала.");
return(0); // Выход из switch
case 64: Alert("Счет заблокирован.");
return(0); // Выход из switch
case 133:Alert("Торговля запрещена");
return(0); // Выход из switch
default: Alert("Возникла ошибка ",Error1);// Другие варианты
}
Alert (GetLastError());
return(0);
}

}
}

}else
{
// Alert("Выход по времени = ",Hour());
return(0);
}
}else
{
//Alert("Выход по Lot = ",Lot);
return(0);
}

//----


//Alert ("Скрипт закончил работу -----------------------------");
return(0);
}
//+------------------------------------------------------------------+

 

Что конкретно не работает? если алерт так в тестере он не работает, замените на на принт или комент.

Вместо алертов поставьте вот такую функцию:

void ComAlert(string text)
{//+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
 if(IsTesting())Comment(text);else Alert(text);
return;
}//+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+


[Deleted]  

Советник вообще ни одной сделки не сделал в тестере. Все по нулям.

 
BaceK1 >>:

Советник вообще ни одной сделки не сделал в тестере. Все по нулям.

А вживую работает??

[Deleted]  
В живую работает. Открывает позицую в нужную сторону с заданными параметрами. В тестере ничего не открывает.
 
BaceK1 >>:
В живую работает. Открывает позицую в нужную сторону с заданными параметрами. В тестере ничего не открывает.

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

[Deleted]  

2009.10.16 20:33:19 2009.07.31 22:43 Полуночник EURJPY,Daily: Alert: Выход по времени = 22

Третий снизу Алерт

[Deleted]  
А как открыть позицию в точно назначенное время? К примеру необходимо открыть позицию в 00.15 локального времени.