Ответить
17.03.2014, 15:18
Аватар для abuuuuuu
abuuuuuu abuuuuuu вне форума Местный знаток
Регистрация: 08.08.2013 / Сообщений: 287
Поблагодарили 716 раз(а) / Репутация: 717
Названия инструментов перевёрнутые.. или это ваш ДЦ такие инструменты поставляет?
у моего дц инструменты как на картинке нету. в этом проблема что ли ?
17.03.2014, 18:27
Аватар для tommy27
tommy27 tommy27 вне форума ◅ ♛ ♠ ♣ ♥ ♦ ♛ ▻
Регистрация: 16.10.2011 / Адрес: Новосибирск / Сообщений: 1,053
Поблагодарили 3,188 раз(а) / Репутация: 3193
  • Отправить сообщение для tommy27 с помощью Skype™
у моего дц инструменты как на картинке нету. в этом проблема что ли ?
Если так, то конечно в этом, пишет же символ нот фаунд - символ не найден, смотри в коде откуда такие названия перевёрнутые берутся.
Ну и когда это исправишь, то всё равно корректно не будет работать мультивалютник в тестере - Ugar выше написал почему.

Для мультивалютников (только если каждый инструмент ведётся отдельно) и тестирования нескольких сов на одном счету могу только такое посоветовать:http://forexsystemsru.com/poleznye-d...-otchyoty.html

Последний раз редактировалось tommy27; 17.03.2014 в 19:15.
17.03.2014, 18:48
Аватар для egorr007
egorr007 egorr007 вне форума Новичок форума
Регистрация: 31.08.2012 / Сообщений: 45
Поблагодарили 14 раз(а) / Репутация: 15
посмотрите что не так, нужно через 10 баров, новый отчёт с отображением в комметарии
Спасибо.

PHP код:

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);} 
19.03.2014, 22:42
Аватар для Дмитрий 2010
Дмитрий 2010 Дмитрий 2010 вне форума Интересующийся
Регистрация: 13.08.2010 / Сообщений: 12
Поблагодарили 1 раз в 1 сообщении / Репутация: 2

По умолчанию Проблема при модификации ордеров

Здравствуйте Товарищи специалисты прошу вашего совета.
Проблема выглядит так: При модификации ордеров,выбираем два ордера и проверяем не равен ли стоп-лосс рассчитанному уровню и если не равен модифицируем ордера.Но после модификации ордеров они модифицируются снова при этом возникает ошибка так-ка стоп-лосс уже находится на этом уровне.Код прелагаю, и скрин из журнала об ошибках. Заранее благодарен за помощь. Спасибо.
19.03.2014, 23:21
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
В другой раз не надо картинок.
Здесь есть кнопочка "КОД".

Вы после переноса стопов в ордерах переприсвоили переменные StopLoss_Bay_Max и Min?
Похоже что нет...
20.03.2014, 17:21
Аватар для Дмитрий 2010
Дмитрий 2010 Дмитрий 2010 вне форума Интересующийся
Регистрация: 13.08.2010 / Сообщений: 12
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
[QUOTE=matro3;815348]В другой раз не надо картинок.
Здесь есть кнопочка "КОД".

Здравствуйте по поводу вставки (Картинок) это всё что я нашол в справке чтобы показать сам код. Если мне объяснят как делать правильно буду благодарен.

По поводу кода-у меня и раньше возникали проблемы с модификацией ордеров, но проблему удавалось решить заменив условие if(x1!=x2) на другое например if(x1>x2) или if(x1<x2) или переписать логику кода, но в этот раз не по могло ничего, скажу больше при прогоне в тестере на одном и том-же отрезке истории ошибки возникают в разных местах то-есть при двух проходах ошибки возникают в разных местах и большинство модификаций происходит без ошибок. Возможно проблема в том что торговый терминал обновился (потому-что справка другая ) может переустановить новый терминал.
20.03.2014, 17:27
Аватар для elisseev2000
elisseev2000 elisseev2000 вне форума Интересующийся
Регистрация: 16.02.2014 / Сообщений: 5
Поблагодарили 0 раз(а) / Репутация: 1
Так выложи сам индюк, может кто разберёт и подскажет.
Я не ковыряю чужие программы, тем более декомпилы, но на мне свет клином не сошелся.
А без выкладывания индикатора, объяснить его работу смогут экстрасенсы, а это уже другой форум.
Здравствуйте!!!
помощь нужна аж кипит

Вопрос такой. Я написал индикатор. Сейчас хочу оптимизировать его. Если я пишу например в индикаторе
for (int j=1;j<=121;j++)

{

ExtMapBuffer1[j1]=iClose(NULL,PERIOD_W1,j1);

потом всякая вещь..............

.........................................

}
я скачиваю массив цен закрытия. я хочу , чтобы этот массив скачивался раз в неделю и потом я мог этот массив использовать. мне не надо , чтобы он постоянно нагружал платформу. Как это сделать?
20.03.2014, 17:37
Аватар для ЖекаНадым
ЖекаНадым ЖекаНадым вне форума Прохожий
Регистрация: 24.02.2014 / Сообщений: 2
Поблагодарили 0 раз(а) / Репутация: 1
Всем привет! подскажите плиз, при написании советника, как прицепить к нему индикатор Slope Direction Line, что бы закрытие происходило при смене цвета! Буду очень благодарен!!!
20.03.2014, 18:00
Регистрация: 13.03.2009 / Сообщений: 2,366
Поблагодарили 1,968 раз(а) / Репутация: 2045
Сообщение от: Дмитрий 2010
В другой раз не надо картинок.
Здесь есть кнопочка "КОД".

Здравствуйте по поводу вставки (Картинок) это всё что я нашол в справке чтобы показать сам код. Если мне объяснят как делать правильно буду благодарен.

По поводу кода-у меня и раньше возникали проблемы с модификацией ордеров, но проблему удавалось решить заменив условие if(x1!=x2) на другое например if(x1>x2) или if(x1<x2) или переписать логику кода, но в этот раз не по могло ничего, скажу больше при прогоне в тестере на одном и том-же отрезке истории ошибки возникают в разных местах то-есть при двух проходах ошибки возникают в разных местах и большинство модификаций происходит без ошибок. Возможно проблема в том что торговый терминал обновился (потому-что справка другая ) может переустановить новый терминал.
Проблема в том что 2 дробных числа, вроде бы одинаковые, могут оказаться не одинаковыми из за погрешностей обработки дробных чисел к компьютерах. По этому сравнения if(x1>x2) или if(x1<x2) правильные, а if(x1==x2) или if(x1!=x2) неправильные. Сравнивать на == и != можно только целочисленные переменные.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
20.03.2014, 18:14
Аватар для Дмитрий 2010
Дмитрий 2010 Дмитрий 2010 вне форума Интересующийся
Регистрация: 13.08.2010 / Сообщений: 12
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Ugar спасибо за ответ, а я то думаю почему == и != не всегда работает.
Ugar скажите пожалуйста может проблема быть решена если выражение if(x1!=x2) заменить на if(x1-x2>0) в одной строке и if(x2-x1>0) в другой строке, так будет более точнее ?
20.03.2014, 18:22
Регистрация: 13.03.2009 / Сообщений: 2,366
Поблагодарили 1,968 раз(а) / Репутация: 2045
Сообщение от: Дмитрий 2010
Ugar спасибо за ответ, а я то думаю почему == и != не всегда работает.
Ugar скажите пожалуйста может проблема быть решена если выражение if(x1!=x2) заменить на if(x1-x2>0) в одной строке и if(x2-x1>0) в другой строке, так будет более точнее ?
Нет. Искажение значения переменной может быть как в большую так и в меньшую сторону.
Вместо if(x1!=x2), если в x1 и x2 цены, то можно написать так if(MathAbs(x1-x2)>0.5*_Point). Соответственно вместо if(x1==x2), можно написать if(MathAbs(x1-x2)<0.5*_Point).
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
20.03.2014, 19:37
Аватар для matro3
matro3 matro3 вне форума Почётный гражданин
Регистрация: 18.07.2013 / Сообщений: 349
Поблагодарили 340 раз(а) / Репутация: 344
Вот так будет выглядеть код в тэгах:
PHP код:
if(MathAbs(x1-x2)>0.5*_Point)
if(
MathAbs(x1-x2)<0.5*_Point
Конечно это имеет смысл если его достаточно много.

А числа можно округлять или нормализовать NormalizeDouble(Bid,Digits)

И в Вашем коде не видно что после проверки и модификации ордеров переменным назначаются новые значения.
Я так понял что нужно так:
StopLoss_Bay_Max = StopLoss_Bay
после модификации ордеров. Верно?
20.03.2014, 20:24
Аватар для Дмитрий 2010
Дмитрий 2010 Дмитрий 2010 вне форума Интересующийся
Регистрация: 13.08.2010 / Сообщений: 12
Поблагодарили 1 раз в 1 сообщении / Репутация: 2
Вот так будет выглядеть код в тэгах:
PHP код:
if(MathAbs(x1-x2)>0.5*_Point)
if(
MathAbs(x1-x2)<0.5*_Point
Конечно это имеет смысл если его достаточно много.

А числа можно округлять или нормализовать NormalizeDouble(Bid,Digits)

И в Вашем коде не видно что после проверки и модификации ордеров переменным назначаются новые значения.
Я так понял что нужно так:
StopLoss_Bay_Max = StopLoss_Bay
после модификации ордеров. Верно?
================================================== ======
Спасибо за ответ и рекомендации
По пунктам
1)Блок вынесен в пользовательскую функцию(за пределы void OnTick());
2)При запуске Ф-и Все переменные объявляются (исключаем старые значения) ;
3)В строке if... проверяется не равен ли вычитанный уровень уже существующему, и выходит так что стоп стоит на уровне а условие if(!=) допускает модификацию в результате в журнале OrderModify error 1-то есть стоп уже на этом уровне.
Ещё раз спасибо, буду пробовать "прикрутить" описанный вами метод
22.03.2014, 10:05
Аватар для kustik
kustik kustik вне форума Новичок форума
Регистрация: 24.03.2010 / Сообщений: 27
Поблагодарили 10 раз(а) / Репутация: 11
Огромная просьба!
скрестить индикатор pipswinner с MA в одном окне,что брать данные для советника
Скачать: _http://rghost.ru/private/51789662/b5217a01f6ad5d8578dbe2fb3301e216 . полностью архив с pipswinner.
23.03.2014, 18:55
Аватар для hoz
hoz hoz вне форума Активный участник
Регистрация: 01.04.2011 / Сообщений: 532
Поблагодарили 112 раз(а) / Репутация: 111
  • Отправить сообщение для hoz с помощью ICQ
Сколько видел я кодов, так классы с их производными, постоянно используют в инклюдах. А почему не помещать их в библиотеки? Неужели так не возможно?
Взять, например, примитивный кусок одной из библиотек, которую я начал переписывать. Вот так выглядит:
Это инклюдник:
PHP код:
//+---------------------------------------------------------------------------------------------------------------------------------------+
//|                                                                                                     hoz_LoggingToAnyWhere@Include.mqh |
//|                                                                                                                                   hoz |
//|                                                                                                                                       |
//+---------------------------------------------------------------------------------------------------------------------------------------+
#property copyright "hoz"
#property link      ""
#property strict
//+=======================================================================================================================================+
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//|                     =========== ЗАГОЛОВОЧНЫЙ ФАЙЛ ДЛЯ БИБЛИОТЕКИ hoz_LoggingToAnyWhere@library ===========                            |
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+=======================================================================================================================================+
//----
// =================================================== Внешние параметры библиотеки ======================================================+
extern bool   bb_PrintPermission true,      // Флаг печати комментариев
              
bb_CommentPermission true;    // Флаг показа комментариев на графике
// ====================================================== Перечень функций библиотеки ====================================================+
#import "hoz_LoggingToAnyWhere@library.ex4"
    
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 
PHP код:
А это библиотека
PHP код:
//+---------------------------------------------------------------------------------------------------------------------------------------+
//|                                                                                                     hoz_LoggingToAnyWhere@Library.mq4 |
//|                                                                                                                                   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_Txtbool fb_PrintPermissionbool fb_CommentPermission);   // 1.1 Пишим Log-файл.
      
void fPrint (string fs_Txtbool fb_PrintPermissionbool 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(), NULLPERIOD_D1);
    
//---- Имя лог файла определяем один раз в сутки
    
if (ldt_NewDayOpen != ldt_CurrDayOpen)
    {
        
ls_FileName StringConcatenate (WindowExpertName(), "_"Symbol(), "_"Period(), "-"Month(), "-"Day(), ".log");
        
ldt_NewDayOpen ldt_CurrDayOpen;
    }
    
int handle FileOpen (ls_FileNameFILE_READ|FILE_WRITE|FILE_CSV"/t");

    
FileSeek (handle0SEEK_END);      
    
FileWrite (handleStringConcatenate (TimeToStr (TimeCurrent(), TIME_DATE|TIME_SECONDS), ": "fs_Txt));
    
FileClose (handle);
   
   
fPrint (fs_Txtfb_PrintPermissionfb_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;

Такой подход разве не приемлим?
Экземпляры я прикрепил к посту.
25.03.2014, 17:05
Аватар для AleKsiN
AleKsiN AleKsiN вне форума Интересующийся
Регистрация: 04.04.2013 / Сообщений: 19
Поблагодарили 3 раз(а) / Репутация: 4
Уважаемые программисты, посмотрите что не так, выдает предупреждения

return value of 'OrderModify' should be checked

PHP код:
if (MODIFICUL == TRUE) {
      for (
int pos_184 order_total_24 1pos_184 >= 0pos_184--) {
         if (
OrderSelect(pos_184SELECT_BY_POS)) {
            if (
OrderType() == OP_BUY && OrderStopLoss() == 0.0OrderModify(OrderTicket(), OrderOpenPrice(), price_800Blue);
            if (
OrderType() == OP_SELL && OrderStopLoss() == 0.0OrderModify(OrderTicket(), OrderOpenPrice(), price_1600Blue);
         }
      }
   } 

Последний раз редактировалось AleKsiN; 25.03.2014 в 17:16.
25.03.2014, 17:38
Аватар для AlexeyVik
AlexeyVik AlexeyVik вне форума Программист mql4 mql5
Регистрация: 19.11.2009 / Сообщений: 2,590
Поблагодарили 3,715 раз(а) / Репутация: 3711
Уважаемые программисты, посмотрите что не так, выдает предупреждения

return value of 'OrderModify' should be checked

PHP код:
if (MODIFICUL == TRUE) {
      for (
int pos_184 order_total_24 1pos_184 >= 0pos_184--) {
         if (
OrderSelect(pos_184SELECT_BY_POS)) {
            if (
OrderType() == OP_BUY && OrderStopLoss() == 0.0OrderModify(OrderTicket(), OrderOpenPrice(), price_800Blue);
            if (
OrderType() == OP_SELL && OrderStopLoss() == 0.0OrderModify(OrderTicket(), OrderOpenPrice(), price_1600Blue);
         }
      }
   } 
Если функция возвращает что-то, то это что-то должно быть присвоено какой-то переменной или проверено выполнение.
Должно быть примерно так:

bool modord;
modord = OrderModify(...

или if(OrderModify(...))
AleKsiN , Dom , yupyalta 
27.03.2014, 21:02
Регистрация: 23.04.2011 / Адрес: Ялта / Сообщений: 584
Поблагодарили 3,713 раз(а) / Репутация: 3711
  • Отправить сообщение для yupyalta с помощью ICQ Отправить сообщение для yupyalta с помощью Skype™
Помогите с индикатором что-бы обновлялся на графике. То приходиться перещёлкиваеь ТФ что-бы обновился.
Важно только то сколько ты зарабатываешь, когда прав и сколько теряешь когда ошибаешься!
RadioForex: Слушать
28.03.2014, 10:16
Аватар для aleksei3122
aleksei3122 aleksei3122 на форуме Элитный участник
Регистрация: 11.04.2011 / Адрес: Не далеко от Моря / Сообщений: 1,640
Поблагодарили 1,015 раз(а) / Репутация: 1021
  • Отправить сообщение для aleksei3122 с помощью Skype™
Помогите с кусочком кода, нужно вставить Мани менеджмент в сова
28.03.2014, 15:48
Регистрация: 13.03.2009 / Сообщений: 2,366
Поблагодарили 1,968 раз(а) / Репутация: 2045
Помогите с кусочком кода, нужно вставить Мани менеджмент в сова
Какой именно? Их много всяких. Мартингейл например то же разновидность мани менеджмента. И доливки то же. А процентных так вообще куча разных.
Спецы не отвечают потому что угадывать не умеют, а выпытывать чё надо влом.
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!

Последний раз редактировалось Ugar; 28.03.2014 в 15:52.
Ответить

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


Опции темы

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

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



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


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