Ответ
 
Опции темы
29.12.2012, 17:59
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
Сообщение от sochinik Посмотреть сообщение
Подскажите пожалуйста, почему при копирование кода из Notepad++ в редактор metaeditorа кирилица исчезает и проявляется в виде знаков" ????..."( и это при том, что код брал с редактора МТ4, где кирилица присутствовала), такое же происходило, если копировал функцию с форума в редактор метаэдитора, Есть ли решение этой проблеммы и как её можно устранить.
Попробуй переключиться на русскую кодировку в блокноте и в метаэдиторе, а потом уже копировать код через буфер обмена
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
ale002 (29.12.2012), eevviill (29.12.2012), sochinik (29.12.2012)
29.12.2012, 18:14
Аватар для ale002
ale002 ::: __,,,^._.^,,,__ :::
Регистрация: 28.02.2010 / Сообщений: 1,246
Поблагодарили 2,502 раз(а) / Репутация: 2528
Сообщение от Nata_FX Посмотреть сообщение
Попробуй переключиться на русскую кодировку в блокноте и в метаэдиторе, а потом уже копировать код через буфер обмена
Когда курсор становится в конец куска текста, который копируем, винда автоматом переключает раскладку в латиницу, если в этом месте английские буковки. Поэтому лучше добавить в начало и/или конец пару слов на чистарусском
ale002 вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (29.12.2012), sochinik (29.12.2012)
29.12.2012, 19:12
Аватар для sochinik
sochinik Активный участник
Регистрация: 10.05.2012 / Адрес: Курск-Краснодар / Сообщений: 326
Поблагодарили 169 раз(а) / Репутация: 170
  • Отправить сообщение для sochinik с помощью ICQ Отправить сообщение для sochinik с помощью MSN Отправить сообщение для sochinik с помощью Skype™
Сообщение от Nata_FX Посмотреть сообщение
Попробуй переключиться на русскую кодировку в блокноте и в метаэдиторе, а потом уже копировать код через буфер обмена
Если копирую вначале в ворд, а затем в метадиэтитор, то кирилица показывается нормально, если напрямую с Notepad++ в редактор metaeditorа , то проявляются только вопросительные знаки, самое главное, что с копирую с метаэдитора в Notepad++ искажений не происходит, но есть ещё вопрос что иногда скачанные файлы меняют название на "Советник Р*етиколо"

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
У меня сменился SKYPE!!! Ищу своих друзей!

Пишите в личку или в новый SKYPE: sochinik1
sochinik вне форума Ответить с цитированиемОтветить с цитированием  
29.12.2012, 19:35
Аватар для NSerega
NSerega Администратор
Регистрация: 21.10.2012 / Сообщений: 1,443
Поблагодарили 1,973 раз(а) / Репутация: 1978
Вы случайно "привет" из сети не поймали (я имею ввиду вирус)? Очень похоже на него.
NSerega на форуме Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (29.12.2012), sochinik (29.12.2012)
29.12.2012, 19:58
Аватар для sochinik
sochinik Активный участник
Регистрация: 10.05.2012 / Адрес: Курск-Краснодар / Сообщений: 326
Поблагодарили 169 раз(а) / Репутация: 170
  • Отправить сообщение для sochinik с помощью ICQ Отправить сообщение для sochinik с помощью MSN Отправить сообщение для sochinik с помощью Skype™
Сообщение от NSerega Посмотреть сообщение
Вы случайно "привет" из сети не поймали (я имею ввиду вирус)? Очень похоже на него.
Да нет по моему такое происходит и на ноутбуке , и такие преобразования не всегда, а только в некоторых случаях- это что то за проблемы с кодировкой как я понимаю- вот и хотел бы у специалистов узнать что где сменить или какой шрифт добавить

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
У меня сменился SKYPE!!! Ищу своих друзей!

Пишите в личку или в новый SKYPE: sochinik1
sochinik вне форума Ответить с цитированиемОтветить с цитированием  
29.12.2012, 20:10
Аватар для Nata_FX
Nata_FX Активный участник
Регистрация: 12.10.2011 / Сообщений: 50
Поблагодарили 35 раз(а) / Репутация: 36
В Notepad++ меню -> Кодировки, поиграйся вариантами
Nata_FX вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
sochinik (29.12.2012)
29.12.2012, 20:21
Аватар для sochinik
sochinik Активный участник
Регистрация: 10.05.2012 / Адрес: Курск-Краснодар / Сообщений: 326
Поблагодарили 169 раз(а) / Репутация: 170
  • Отправить сообщение для sochinik с помощью ICQ Отправить сообщение для sochinik с помощью MSN Отправить сообщение для sochinik с помощью Skype™
Сообщение от Nata_FX Посмотреть сообщение
В Notepad++ меню -> Кодировки, поиграйся вариантами
Уже пробовал, но наверное придётся всётаки применять копирование через ворд, или же приспосабливаться работать только в редакторе медаэдиторе, но в Notepad++ очень удобно разбирать коды и производить замену в коде... Может есть ещё подобные прогрымы для помощи в написании экспертов...?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
У меня сменился SKYPE!!! Ищу своих друзей!

Пишите в личку или в новый SKYPE: sochinik1
sochinik вне форума Ответить с цитированиемОтветить с цитированием  
30.12.2012, 01:06
Аватар для NSerega
NSerega Администратор
Регистрация: 21.10.2012 / Сообщений: 1,443
Поблагодарили 1,973 раз(а) / Репутация: 1978
Сообщение от sochinik Посмотреть сообщение
Да нет по моему такое происходит и на ноутбуке , и такие преобразования не всегда, а только в некоторых случаях- это что то за проблемы с кодировкой как я понимаю- вот и хотел бы у специалистов узнать что где сменить или какой шрифт добавить
Вы говорите, что такое преобразование происходит не всегда. На ваш вопрос уже ответила Nata FX выше. Только что перепроверил несколько раз. Все дело в раскладке клавиатуры. Если вы скопировали код из метаэдитора и вставили его в блокнот++, а расладка клавиатуры при вставке кода в блокнот была английская, то при обратном копировании из блокнота в метаэдитор вместо русских букв будут вопросы. Надо чтобы при вставке в блокнот раскладка клавиатуры была русская, тогда и при обратном копировании все будет нормально.
NSerega на форуме Ответить с цитированиемОтветить с цитированием  
3 пользователя(ей) сказали cпасибо:
chocolate (01.01.2013), eevviill (30.12.2012), sochinik (30.12.2012)
30.12.2012, 06:53
Аватар для sochinik
sochinik Активный участник
Регистрация: 10.05.2012 / Адрес: Курск-Краснодар / Сообщений: 326
Поблагодарили 169 раз(а) / Репутация: 170
  • Отправить сообщение для sochinik с помощью ICQ Отправить сообщение для sochinik с помощью MSN Отправить сообщение для sochinik с помощью Skype™
Сообщение от NSerega Посмотреть сообщение
Вы говорите, что такое преобразование происходит не всегда. На ваш вопрос уже ответила Nata FX выше. Только что перепроверил несколько раз. Все дело в раскладке клавиатуры. Если вы скопировали код из метаэдитора и вставили его в блокнот++, а расладка клавиатуры при вставке кода в блокнот была английская, то при обратном копировании из блокнота в метаэдитор вместо русских букв будут вопросы. Надо чтобы при вставке в блокнот раскладка клавиатуры была русская, тогда и при обратном копировании все будет нормально.
Спасибо, всё получилось сейчас проверил,а то уже начал знакомиться с Microsoft Visual C++ 2010 Express, а это бы затянулся процесс моего изучения MQL

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
У меня сменился SKYPE!!! Ищу своих друзей!

Пишите в личку или в новый SKYPE: sochinik1
sochinik вне форума Ответить с цитированиемОтветить с цитированием  
02.01.2013, 21:06
Аватар для hoz
hoz Активный участник
Регистрация: 01.04.2011 / Сообщений: 530
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Вот кусок функции:
PHP код:
if(GetStateMa() == MA_TALKING_LONG)
    {
      
maxValue iHigh(Symbol(),i_ExtremumLookingTF,i_maxValueShiftB);
      
minValue iLow(Symbol(),i_ExtremumLookingTF,i_minValueShiftB);
            
      if((
maxValue minValue) >= 7*pt)
      return(
true);
    } 
Решил я укоротить код. В плане производительности есть ли разница воспользуюсь я функцией High или iHigh ?

Имею ввиду так:

PHP код:
if(GetStateMa() == MA_TALKING_LONG)
    {
      
maxValue High[iHighest(Symbol(),i_ExtremumLookingTF,MODE_HIGH,i_maxValueShiftB,0)];
      
minValue Low[iLowest(Symbol(),i_ExtremumLookingTF,MODE_HIGH,i_minValueShiftB,0)];
            
      if((
maxValue minValue) >= 7*pt)
      return(
true);
    } 
или так:
PHP код:
if(GetStateMa() == MA_TALKING_LONG)
    {
      
maxValue iHigh(Symbol(),i_ExtremumLookingTF,iHighest(Symbol(),i_ExtremumLookingTF,MODE_HIGH,i_maxValueShiftB,0));
      
minValue iLow(Symbol(),i_ExtremumLookingTF,iLowest(Symbol(),i_ExtremumLookingTF,MODE_HIGH,i_minValueShiftB,0));
            
      if((
maxValue minValue) >= 7*pt)
      return(
true);
    } 
Как грамотнее писать в плане производительности и вообще.. ?
hoz вне форума Ответить с цитированиемОтветить с цитированием  
03.01.2013, 08:35
Аватар для eevviill
eevviill Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,027 раз(а) / Репутация: 9027
  • Отправить сообщение для eevviill с помощью Skype™
Сообщение от hoz Посмотреть сообщение
...
Как грамотнее писать в плане производительности и вообще.. ?
Думаю первый вариант.
eevviill вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
ale002 (03.01.2013), hoz (03.01.2013)
03.01.2013, 10:10
Аватар для ale002
ale002 ::: __,,,^._.^,,,__ :::
Регистрация: 28.02.2010 / Сообщений: 1,246
Поблагодарили 2,502 раз(а) / Репутация: 2528
High[] - массив, iHigh() - функция, котор обрабатывает массив. Вывод, имхо, очевиден. iHigh нужно для мультивалютных расчетов

На предмет укоротить:
PHP код:
if(GetStateMa() == MA_TALKING_LONG)
  return(
    
High[iHighest(Symbol(),i_ExtremumLookingTF,MODE_HIGH,i_maxValueShiftB,0)]
    -
    
Low[iLowest(Symbol(),i_ExtremumLookingTF,MODE_HIGH,i_minValueShiftB,0)]
    >= 
7*pt
  
); 
iLowest(..MODE_HIGH..) - бывает, конечно, но чаще MODE_LOW
ale002 вне форума Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
hoz (03.01.2013)
03.01.2013, 12:07
Аватар для Алекc1234
Алекc1234 Местный житель
Регистрация: 24.03.2011 / Сообщений: 697
Поблагодарили 276 раз(а) / Репутация: 276
Привет всем. Есть такой код
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
double fir_or_time = OrderOpenTime();
i = iBarShift(NULL,0,fir_or_time);
}
То есть я задаю свечу первого по времени открытия ордера. Но в итоге сов видит последний ордер. Подскажите, что сделано не так?
Алекc1234 на форуме Ответить с цитированиемОтветить с цитированием  
03.01.2013, 13:17
Аватар для Алекc1234
Алекc1234 Местный житель
Регистрация: 24.03.2011 / Сообщений: 697
Поблагодарили 276 раз(а) / Репутация: 276
Сообщение от Алекc1234 Посмотреть сообщение
Привет всем. Есть такой код
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
double fir_or_time = OrderOpenTime();
i = iBarShift(NULL,0,fir_or_time);
}
То есть я задаю свечу первого по времени открытия ордера. Но в итоге сов видит последний ордер. Подскажите, что сделано не так?
Вопрос пока снимается, вроде разбираюсь
Алекc1234 на форуме Ответить с цитированиемОтветить с цитированием  
03.01.2013, 14:15
Аватар для eevviill
eevviill Заблокирован
За второе место в конкурсе 

Регистрация: 30.07.2009 / Сообщений: 5,474
Поблагодарили 9,027 раз(а) / Репутация: 9027
  • Отправить сообщение для eevviill с помощью Skype™
Сообщение от Алекc1234 Посмотреть сообщение
Привет всем. Есть такой код
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
{
double fir_or_time = OrderOpenTime();
i = iBarShift(NULL,0,fir_or_time);
}
То есть я задаю свечу первого по времени открытия ордера. Но в итоге сов видит последний ордер. Подскажите, что сделано не так?
Ты не выбираешь первый ордер. Ты выбираешь последний. причём не перебором.

Надо так.
PHP код:
for(int i=OrdersTotal()-1i>=0i--)
 {
 if(
OrderSelect(i,SELECT_BY_POS))
 {
 if(
OrderMagicNumber()==magic)
 {
 if(
OrderSymbol()==Symbol())
 {
double fir_or_time OrderOpenTime();
int i iBarShift(NULL,0,fir_or_time);
break;
 }
 }
 }
 } 
eevviill вне форума Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
Viko2000 (20.04.2015), Алекc1234 (03.01.2013)
03.01.2013, 15:54
Аватар для Fillelin
Fillelin Местный знаток
Регистрация: 02.09.2011 / Сообщений: 194
Поблагодарили 594 раз(а) / Репутация: 596
Приветствую Всех с Новым Годом!

Подскажите кто знает: возможно ли привязать OBJ_TEXT скажем к Bid, что бы текст выводимый OBJ_TEXT-ом вёл себя так же как и OBJ_ARROW с ценовой меткой (SYMBOL_RIGHTPRICE)? То есть не смещался относительно цены Bid, а постоянно находился строго напротив, как ценовая метка.
Fillelin вне форума Ответить с цитированиемОтветить с цитированием  
03.01.2013, 16:17
Аватар для Rust
Rust Активный участник
Регистрация: 21.05.2009 / Адрес: Тянь Шань / Сообщений: 14
Поблагодарили 10 раз(а) / Репутация: 10
Здравствуйте !
Я все таки прочту эту ветку с начала до конца, но попозже, а сейчас прошу Вас рассмотреть какую-то совсем уже непонятную для меня проблемку, на вопросы по которой и во всём инете так и не нашёл ответа с решением проблемы.
Вообщем вот уже третий месяц у меня пошёл с проработкой советника-закрывалки и всё никак эта работа не завершится...
Последний успешный вариант такой: - "прицепил" к стандартному MT4 скрипту Close условия своего индикатора XMA и всё заработало как и было задумано, но вот притормаживает завершение работы какая-то отчетность по закрытому ордеру "unknown ticket 82372822 for OrderClose".
Такой "принт" я и не "заказывал", но такой отчет продолжается даже после выключения кнопки разрешения советнику торговать...
Забивает диск гигабайтами одинаковых строчек отчета в логе эксперта.
Прошу посмотреть и если кому будет ведома такая проблема прошу просветить по её сути, что это такое ?
Как-бы её устранить ?
СПАСИБО !

//+------------------------------------------------------------------+
//| test Close 8.mq4 |
//+------------------------------------------------------------------+
extern double Lots = 1.0;
extern int Phma = 12; //период HMA
extern int Mhma = 3; // метод HMA
extern int Magic=7;
extern int d = 1;

double price;
int ticket,ticket1,ticket2,COLOR,i,type,err,Slippage=3 ,hma,lhma;
bool result;

int start()
{
double hma=iCustom(NULL,0,"hma",Phma,Mhma,0,2,0);
double lhma=iCustom(NULL,0,"hma",Phma,Mhma,0,2,4);
{
if (lhma > hma)// && (lhma-hma) > dhma)
COLOR = 1;//RED
}
{
if (hma > lhma) //&& (lhma-hma) > dhma)
COLOR = 2;//GRIN
}
//----
for(i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
type=OrderType();
if((type==OP_BUY) && OrderSymbol() == Symbol() && (COLOR == 1))
{
while(true)
{
ticket = OrderTicket();
price=MarketInfo(OrderSymbol(),MODE_BID);
result=OrderClose(ticket,Lots,price,Slippage,Green );
}
}
if((type==OP_SELL) && OrderSymbol() == Symbol() && (COLOR == 2))
{
while(true)
{
ticket = OrderTicket();
price=MarketInfo(OrderSymbol(),MODE_ASK);
result=OrderClose(ticket,Lots,price,Slippage,Red);
} } }

else Print( "When selecting a trade, error ",GetLastError()," occurred");
}
return(0);
}
//+------------------------------------------------------------------+
Rust вне форума Ответить с цитированиемОтветить с цитированием  
03.01.2013, 16:27
Аватар для alexshell
alexshell Элитный участник
Регистрация: 29.10.2010 / Сообщений: 657
Поблагодарили 1,673 раз(а) / Репутация: 1675
Сообщение от eevviill Посмотреть сообщение
Ты не выбираешь первый ордер. Ты выбираешь последний. причём не перебором.

Надо так.
PHP код:
for(int i=OrdersTotal()-1i>=0i--)
 {
 if(
OrderSelect(i,SELECT_BY_POS))
 {
 if(
OrderMagicNumber()==magic)
 {
 if(
OrderSymbol()==Symbol())
 {
double fir_or_time OrderOpenTime();
int i iBarShift(NULL,0,fir_or_time);
break;
 }
 }
 }
 } 
eevviill. А почему ты считаешь,что таким образом выберется именно первый по времени ордер?
alexshell на форуме Ответить с цитированиемОтветить с цитированием  
03.01.2013, 16:49
Аватар для Алекc1234
Алекc1234 Местный житель
Регистрация: 24.03.2011 / Сообщений: 697
Поблагодарили 276 раз(а) / Репутация: 276
Сообщение от alexshell Посмотреть сообщение
eevviill. А почему ты считаешь,что таким образом выберется именно первый по времени ордер?
Действительно, вроде у меня так не выходит...Может, как-нибудь по другому нужно?

Последний раз редактировалось Алекc1234; 03.01.2013 в 16:51.
Алекc1234 на форуме Ответить с цитированиемОтветить с цитированием  
03.01.2013, 17:03
Регистрация: 13.03.2009 / Сообщений: 2,322
Поблагодарили 1,944 раз(а) / Репутация: 2019
Сообщение от Rust Посмотреть сообщение
while(true)
{
ticket = OrderTicket();
price=MarketInfo(OrderSymbol(),MODE_BID);
result=OrderClose(ticket,Lots,price,Slippage,Green );
}
Попадая в цикл, выхода из него нет. Происходит зацикливание. тольео полный перезапуск всего терминала поможет выйти из такого зацикливания.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (04.01.2013), Rust (04.01.2013)
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 19:03. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO