abuuuuuu
Местный знаток
Названия инструментов перевёрнутые.. или это ваш ДЦ такие инструменты поставляет?
у моего дц инструменты как на картинке нету. в этом проблема что ли ?
Названия инструментов перевёрнутые.. или это ваш ДЦ такие инструменты поставляет?
Если так, то конечно в этом, пишет же символ нот фаунд - символ не найден, смотри в коде откуда такие названия перевёрнутые берутся.у моего дц инструменты как на картинке нету. в этом проблема что ли ?
double z = 0;
int bar=0;
//-------------------------------------------
for(int i=0;i<iBars(Symbol(),0);i++)
if(Time[0]){z=1;bar=i;}//
if(z==1){Comment("Новый_отсчёт_после_10_бара__",bar," ");}
if(bar >=110){z=0;}
if(z==0){Comment("Новый_отсчёт_после_10_бара__",bar=0);}
В другой раз не надо картинок.
Здесь есть кнопочка "КОД".
Здравствуйте по поводу вставки (Картинок) это всё что я нашол в справке чтобы показать сам код. Если мне объяснят как делать правильно буду благодарен.
По поводу кода-у меня и раньше возникали проблемы с модификацией ордеров, но проблему удавалось решить заменив условие if(x1!=x2) на другое например if(x1>x2) или if(x1<x2) или переписать логику кода, но в этот раз не по могло ничего, скажу больше при прогоне в тестере на одном и том-же отрезке истории ошибки возникают в разных местах то-есть при двух проходах ошибки возникают в разных местах и большинство модификаций происходит без ошибок. Возможно проблема в том что торговый терминал обновился (потому-что справка другая ) может переустановить новый терминал.
Так выложи сам индюк, может кто разберёт и подскажет.
Я не ковыряю чужие программы, тем более декомпилы, но на мне свет клином не сошелся.
А без выкладывания индикатора, объяснить его работу смогут экстрасенсы, а это уже другой форум.
Проблема в том что 2 дробных числа, вроде бы одинаковые, могут оказаться не одинаковыми из за погрешностей обработки дробных чисел к компьютерах. По этому сравнения if(x1>x2) или if(x1<x2) правильные, а if(x1==x2) или if(x1!=x2) неправильные. Сравнивать на == и != можно только целочисленные переменные.В другой раз не надо картинок.
Здесь есть кнопочка "КОД".
Здравствуйте по поводу вставки (Картинок) это всё что я нашол в справке чтобы показать сам код. Если мне объяснят как делать правильно буду благодарен.
По поводу кода-у меня и раньше возникали проблемы с модификацией ордеров, но проблему удавалось решить заменив условие if(x1!=x2) на другое например if(x1>x2) или if(x1<x2) или переписать логику кода, но в этот раз не по могло ничего, скажу больше при прогоне в тестере на одном и том-же отрезке истории ошибки возникают в разных местах то-есть при двух проходах ошибки возникают в разных местах и большинство модификаций происходит без ошибок. Возможно проблема в том что торговый терминал обновился (потому-что справка другая ) может переустановить новый терминал.
Нет. Искажение значения переменной может быть как в большую так и в меньшую сторону.Ugar спасибо за ответ, а я то думаю почему == и != не всегда работает.
Ugar скажите пожалуйста может проблема быть решена если выражение if(x1!=x2) заменить на if(x1-x2>0) в одной строке и if(x2-x1>0) в другой строке, так будет более точнее ?
if(MathAbs(x1-x2)>0.5*_Point)
if(MathAbs(x1-x2)<0.5*_Point)
========================================================Вот так будет выглядеть код в тэгах:
Конечно это имеет смысл если его достаточно много.PHP:if(MathAbs(x1-x2)>0.5*_Point) if(MathAbs(x1-x2)<0.5*_Point)
А числа можно округлять или нормализовать NormalizeDouble(Bid,Digits)
И в Вашем коде не видно что после проверки и модификации ордеров переменным назначаются новые значения.
Я так понял что нужно так:
StopLoss_Bay_Max = StopLoss_Bay
после модификации ордеров. Верно?
//+---------------------------------------------------------------------------------------------------------------------------------------+
//| [email protected] |
//| hoz |
//| |
//+---------------------------------------------------------------------------------------------------------------------------------------+
#property copyright "hoz"
#property link ""
#property strict
//+=======================================================================================================================================+
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//| =========== ЗАГОЛОВОЧНЫЙ ФАЙЛ ДЛЯ БИБЛИОТЕКИ hoz_LoggingToAnyWhere@library =========== |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+=======================================================================================================================================+
//----
// =================================================== Внешние параметры библиотеки ======================================================+
extern bool bb_PrintPermission = true, // Флаг печати комментариев
bb_CommentPermission = true; // Флаг показа комментариев на графике
// ====================================================== Перечень функций библиотеки ====================================================+
#import "[email protected]"
void hoz_LoggingToAnyWhere::fWrite_Log (string fs_Txt, // Данные, которые требуется записать в Log-файл
bool fb_PrintPermission = true, // Флаг печати комментариев
bool fb_CommentPermission = true); // Флаг показа комментариев на графике
void hoz_LoggingToAnyWhere::fPrint (string fs_Text, // Возвращаемая пустая строка
bool fb_PrintPermission = true, // Флаг печати комментариев
bool fb_CommentPermission = true); // Флаг показа комментариев на графике
#import
А это библиотека:
//+---------------------------------------------------------------------------------------------------------------------------------------+
//| [email protected] |
//| hoz |
//| |
//+---------------------------------------------------------------------------------------------------------------------------------------+
#property library
#property copyright "hoz"
#property link ""
#property version "1.00"
#property strict
//+=======================================================================================================================================+
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//| БИБЛИОТЕКА ДЛЯ ЛОГИРОВАНИЯ СОБЫТИЙ И МАНИПУЛЯЦИИ ТЕКСТОВЫМИ ДАННЫМИ |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+=======================================================================================================================================+
//----
//+=======================================================================================================================================+
//=================================================== Определяем класс библиотеки ====================================================|
//+=======================================================================================================================================+
class hoz_LoggingToAnyWhere
{
private:
string bs_LibName;
public:
hoz_LoggingToAnyWhere();
~hoz_LoggingToAnyWhere();
void fWrite_Log (string fs_Txt, bool fb_PrintPermission, bool fb_CommentPermission); // 1.1 Пишим Log-файл.
void fPrint (string fs_Txt, bool fb_PrintPermission, bool fb_CommentPermission); // 1.2 Выводим на печать и (или) на график комментарии.
};
//+---------------------------------------------------------------------------------------------------------------------------------------+
//----
//=========================================================================================================================================
// 1.0 Конструктор класса. ================================================================================================================
hoz_LoggingToAnyWhere::hoz_LoggingToAnyWhere() {
}
//=========================================================================================================================================
// 1.1 Пишим Log-файл. ====================================================================================================================
void hoz_LoggingToAnyWhere::fWrite_Log (string fs_Txt, // Данные, которые требуется записать в Log-файл
bool fb_PrintPermission = true, // Флаг печати комментариев
bool fb_CommentPermission = true) // Флаг показа комментариев на графике
{
static datetime ldt_NewDayOpen = 0;
static string ls_FileName = "";
datetime ldt_CurrDayOpen = iTime (Symbol(), NULL, PERIOD_D1);
//---- Имя лог файла определяем один раз в сутки
if (ldt_NewDayOpen != ldt_CurrDayOpen)
{
ls_FileName = StringConcatenate (WindowExpertName(), "_", Symbol(), "_", Period(), "-", Month(), "-", Day(), ".log");
ldt_NewDayOpen = ldt_CurrDayOpen;
}
int handle = FileOpen (ls_FileName, FILE_READ|FILE_WRITE|FILE_CSV, "/t");
FileSeek (handle, 0, SEEK_END);
FileWrite (handle, StringConcatenate (TimeToStr (TimeCurrent(), TIME_DATE|TIME_SECONDS), ": ", fs_Txt));
FileClose (handle);
fPrint (fs_Txt, fb_PrintPermission, fb_CommentPermission);
}
//=========================================================================================================================================
// 1.2 Выводим на печать и (или) на график комментарии. ===================================================================================
void hoz_LoggingToAnyWhere::fPrint (string fs_Text, // Возвращаемая пустая строка
bool fb_PrintPermission = true, // Флаг печати комментариев
bool fb_CommentPermission = true) // Флаг показа комментариев на графике
{
bs_LibName = "hoz_LoggingToAnyWhere@Library";
if (StringLen (fs_Text) > 0)
{
if (bs_LibName != "") fs_Text = StringConcatenate (bs_LibName, " => ", fs_Text);
if (fb_PrintPermission)
Print (fs_Text);
if (fb_CommentPermission)
Comment (fs_Text);
}
//---- Очищаем переменную
//fs_Text = "";
//----
return;
}
if (MODIFICUL == TRUE) {
for (int pos_184 = order_total_24 - 1; pos_184 >= 0; pos_184--) {
if (OrderSelect(pos_184, SELECT_BY_POS)) {
if (OrderType() == OP_BUY && OrderStopLoss() == 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), price_8, 0, 0, Blue);
if (OrderType() == OP_SELL && OrderStopLoss() == 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), price_16, 0, 0, Blue);
}
}
}
Если функция возвращает что-то, то это что-то должно быть присвоено какой-то переменной или проверено выполнение.Уважаемые программисты, посмотрите что не так, выдает предупреждения
return value of 'OrderModify' should be checked
PHP:if (MODIFICUL == TRUE) { for (int pos_184 = order_total_24 - 1; pos_184 >= 0; pos_184--) { if (OrderSelect(pos_184, SELECT_BY_POS)) { if (OrderType() == OP_BUY && OrderStopLoss() == 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), price_8, 0, 0, Blue); if (OrderType() == OP_SELL && OrderStopLoss() == 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), price_16, 0, 0, Blue); } } }
Какой именно? Их много всяких. Мартингейл например то же разновидность мани менеджмента. И доливки то же. А процентных так вообще куча разных.Помогите с кусочком кода, нужно вставить Мани менеджмент в сова