Подскажите как в одном скрипте открыть файл повторно: открываю файл - просматриваю до конца - закрываю файл, при попытке повторного открытия пишет "end of file" ...
Здравствуйте! Подскажите может кто встечался с такой проблемой:В окне графика валюты иногда пропадает сам график. затем пишет обновление и всё восстанавливается. В это время иногда некорректно начинают работать советники(открытие сделок без наличия условий). Сегодня вообще открылась сделка с максимальным лотом. Хорошо вовремя заметил и прикрыл с убытком 2,5 пункта, но апрельскую прибыль как языком слизало.Подскажите как с этим бороться. Вот код определения лота. Ну вроде никак не должно такое быть.Я подозреваю,что это из за последних двух строчек. Но как?
//======================================================================== //определение лота//========================================================================double Free =AccountFreeMargin();
double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Step =MarketInfo(Symbol(),MODE_LOTSTEP);
double Min_Lot =MarketInfo(Symbol(),MODE_MINLOT);
double Max_Lot =MarketInfo(Symbol(),MODE_MAXLOT);
LOT=NormalizeDouble(AccountFreeMargin()*RISK/100000,2);
if (LOT*One_Lot > Free) // Не хватает даже..
{ // ..на минимальн. лот:(Comment("денег нет " );
return(0); // ..и выход
}
elseComment("деньга есть " );
if(LOT<Min_Lot)
LOT=Min_Lot;
if(LOT>Max_Lot)
LOT=Max_Lot;
далее открытие ордера по условиям.
Использует массив string Mass_Name_Message[10], объявленный на глобальном уровне. Это массив для хранения имён объектов. Размер можете менять под свои нужды. Переменная Prefix хранит имя эксперта, это нужно чтобы эксперт мог идентифицировать свои объекты для правильной работы с графическими объектами. Тоже объявлена на глобальном уровне и имеет тип string. Разберётесь наверное...
Она длинное сообщение обрезает, например, если пытаться прокомментировать строку "Проверьте настройки вашего советника, чтобы открыть окно настроек нажмите F7."
она оставляет только это: "Проверьте настройки вашего советника, чтобы открыть окно настро" и дальше обрезано, хотя текст даже до половины окна не дошел.
Подскажите, пожалуйста, как-нибудь можно убрать это ограничение?
Она длинное сообщение обрезает, например, если пытаться прокомментировать строку "Проверьте настройки вашего советника, чтобы открыть окно настроек нажмите F7."
она оставляет только это: "Проверьте настройки вашего советника, чтобы открыть окно настро" и дальше обрезано, хотя текст даже до половины окна не дошел.
Подскажите, пожалуйста, как-нибудь можно убрать это ограничение?
Попробуйте мою функцию. Она выше вашего сообщения на этой странице. Разбивайте строку на несколько так, чтобы каждая была не более 64 символов. Моя ф-ция эти разбитые строки выводит одну над другой. Далее, при выводе следующего сообщения, она старые окрашивает серым и поднимает выше, а новое сообщение опять выводит в заданном при вызове ф-ции цвете.
Закачал историю, случайно выяснил что в USDJPY с 2012.01.16 по 2012.03.20 у меня дыра. На попытку повторной закачки терминал ответил что у меня вся история. Как закачать эту дыру? Как закачать историю без дыр? И можно ли как-то проверять есть ли дыры в истории?
artmedia70: Попробуйте мою функцию. Она выше вашего сообщения на этой странице. Разбивайте строку на несколько так, чтобы каждая была не более 64 символов. Моя ф-ция эти разбитые строки выводит одну над другой. Далее, при выводе следующего сообщения, она старые окрашивает серым и поднимает выше, а новое сообщение опять выводит в заданном при вызове ф-ции цвете.
Спасибо, но для меня сложновато, и Ваша функция выводит сразу 4 сообщения, а мне надо одно. Получается не более 64-х символов в одной строке?
Roll, спасибо за наводку, вот сделал функцию вывода комментария в левый нижний угол графика, если кому надо:
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Всем привет!
Подскажите пожалуйста, можно ли вывод текста на график, типа того:
вывести как отдельную функцию, чтобы можно было её вызвать как-то так:
Посмотрите эту ф-цию:
Ищет на графике окно пустого индикатора Win_Inform и, если есть, выводит в него сообщения. Если нету, выводит принтом.
Пример вызова:
Использует массив string Mass_Name_Message[10], объявленный на глобальном уровне. Это массив для хранения имён объектов. Размер можете менять под свои нужды. Переменная Prefix хранит имя эксперта, это нужно чтобы эксперт мог идентифицировать свои объекты для правильной работы с графическими объектами. Тоже объявлена на глобальном уровне и имеет тип string. Разберётесь наверное...
Индюк в прицепе
Столкнулся с небольшой проблемой с моей функцией:
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Она длинное сообщение обрезает, например, если пытаться прокомментировать строку "Проверьте настройки вашего советника, чтобы открыть окно настроек нажмите F7."
она оставляет только это: "Проверьте настройки вашего советника, чтобы открыть окно настро" и дальше обрезано, хотя текст даже до половины окна не дошел.
Подскажите, пожалуйста, как-нибудь можно убрать это ограничение?
Никак, максимальная длинна строки в лейбле = 62 символа.
форматируйте текст в несколько строк (лейблов), или пишите через Comment() - там 255 символов
Ниже сам код.
Если есть более простые варианты решения проблемы, буду рад комментариям.
Столкнулся с небольшой проблемой с моей функцией:
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Она длинное сообщение обрезает, например, если пытаться прокомментировать строку "Проверьте настройки вашего советника, чтобы открыть окно настроек нажмите F7."
она оставляет только это: "Проверьте настройки вашего советника, чтобы открыть окно настро" и дальше обрезано, хотя текст даже до половины окна не дошел.
Подскажите, пожалуйста, как-нибудь можно убрать это ограничение?
Как закачать эту дыру?
Как закачать историю без дыр?
И можно ли как-то проверять есть ли дыры в истории?
Попробуйте мою функцию. Она выше вашего сообщения на этой странице. Разбивайте строку на несколько так, чтобы каждая была не более 64 символов. Моя ф-ция эти разбитые строки выводит одну над другой. Далее, при выводе следующего сообщения, она старые окрашивает серым и поднимает выше, а новое сообщение опять выводит в заданном при вызове ф-ции цвете.