Ответ
 
Опции темы
Старый 07.09.2013, 08:08   #1481 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Leonup Посмотреть сообщение
Добрый день!
В индикаторе TDI Red Green обозначены 3 уровня:
SetLevelValue(0,50);
SetLevelValue(1,68);
SetLevelValue(2,32);
Как можно получить значения 50, 68 и 32 из этого индикатора?
Спасибо.
Находишь буферы в индикаторе и сравниваешь их значения с абсолютным требуемым значением (50, 68 и 32). Если равно значению, значит вывести его в журнал например (цену на нём или что нужно).
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.09.2013, 16:32   #1482 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Появился вопрос к знатокам. Больше для прокачки своего понимания, ежели нужда..

Вот есть такой код:

Скрытый текст

PHP код:
int start()


   
int Array[4] = {1234};
   
int x1x2x3x4;
   
int Array_Size ArrayRange(Array, 0);


   for(
x1=0x1<Array_Sizex1++)
   {
      Print(
"Combination = ", Array[x1]);

      for(
x2=x1+1x2<Array_Sizex2++)
      {
         Print(
"Combination = ", Array[x1] + "   " + Array[x2]);

         for(
x3=x2+1x3<Array_Sizex3++)
         {
            Print(
"Combination = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3]);

            for(
x4=x3+1x4<Array_Sizex4++)
            {
               Print(
"Combination = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3] + "   " + Array[x4]);
            }
         }
      }
   }


   return(
0);

[свернуть]



Объясните, как будет происходить расчёт данной конструкции. От самого глубоко вложенного цикла к началу, или наоборот? И вообще, как это понять.. Попалась мне такая картина, смотрю.. и что-то не совсем догоняю.

Последний раз редактировалось NSerega; 09.09.2013 в 17:46.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.09.2013, 16:41   #1483 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от hoz Посмотреть сообщение
Появился вопрос к знатокам. Больше для прокачки своего понимания, ежели нужда..

Вот есть такой код:

Скрытый текст

PHP код:
int start()


   
int Array[4] = {1234};
   
int x1x2x3x4;
   
int Array_Size ArrayRange(Array, 0);


   for(
x1=0x1<Array_Sizex1++)
   {
      Print(
"Combination = ", Array[x1]);

      for(
x2=x1+1x2<Array_Sizex2++)
      {
         Print(
"Combination = ", Array[x1] + "   " + Array[x2]);

         for(
x3=x2+1x3<Array_Sizex3++)
         {
            Print(
"Combination = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3]);

            for(
x4=x3+1x4<Array_Sizex4++)
            {
               Print(
"Combination = ", Array[x1] + "   " + Array[x2] + "   " + Array[x3] + "   " + Array[x4]);
            }
         }
      }
   }


   return(
0);

[свернуть]



Объясните, как будет происходить расчёт данной конструкции. От самого глубоко вложенного цикла к началу, или наоборот? И вообще, как это понять.. Попалась мне такая картина, смотрю.. и что-то не совсем догоняю.
Ну да. Я тоже иногда использовал фор в форе.
Выполняется по порядку.

Последний раз редактировалось NSerega; 09.09.2013 в 17:46.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.09.2013, 16:46   #1484 (permalink)
Местный житель
 
Аватар для jib07
 
Регистрация: 11.04.2011
Сообщений: 336
Репутация: 270
jib07 jib07 jib07
Сказал(а) спасибо: 180
Поблагодарили 269 раз(а) в 125 сообщениях
Поинты: 470
Сообщение от hoz Посмотреть сообщение
Объясните, как будет происходить расчёт данной конструкции. От самого глубоко вложенного цикла к началу, или наоборот? И вообще, как это понять.. Попалась мне такая картина, смотрю.. и что-то не совсем догоняю.
В чем именно вопрос то, у х4 - 1 значение, х3 - 2 значения, х2 - 3 значения,
х1 - 4 значения.
Т.е. начинайте с конца и увидете, что х4 = (4), х3 = (3 или 4), х2 = (2 или 3 или 4), х1 = (1 или 2 или 3 или 4)
jib07 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.09.2013, 18:35   #1485 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от jib07 Посмотреть сообщение
В чем именно вопрос то, у х4 - 1 значение, х3 - 2 значения, х2 - 3 значения,
х1 - 4 значения.
Т.е. начинайте с конца и увидете, что х4 = (4), х3 = (3 или 4), х2 = (2 или 3 или 4), х1 = (1 или 2 или 3 или 4)
Тут переменные то те, которые мы уже знаем. Оно и понятно. А если бы мы не знали, какие переменные где, т.е. когда массив заполняется по мере отработки кода, то ситуация то меняется.
Если выполняется по очереди, как указал eevviill, то всё вроде как просто. Хотя есть подозрение почему-то, что может быть и не так.
Где применяеются подобные вариации?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.09.2013, 20:46   #1486 (permalink)
Местный житель
 
Аватар для jib07
 
Регистрация: 11.04.2011
Сообщений: 336
Репутация: 270
jib07 jib07 jib07
Сказал(а) спасибо: 180
Поблагодарили 269 раз(а) в 125 сообщениях
Поинты: 470
Сообщение от hoz Посмотреть сообщение
Тут переменные то те, которые мы уже знаем. Оно и понятно. А если бы мы не знали, какие переменные где, т.е. когда массив заполняется по мере отработки кода, то ситуация то меняется.
Если выполняется по очереди, как указал eevviill, то всё вроде как просто. Хотя есть подозрение почему-то, что может быть и не так.
Где применяеются подобные вариации?
Дак ну представте что в массиве числа и Вы их не знаете,но работает тот алгоритм, который я описал выше, а именно перебор в таком порядке))
Такого я нигде не встречал))
Просто Вы загоняетесь на пустом месте, счетчик работает в счетчике- типичная ситуация в основном для сравнения элементов 2х массивов и других операций)))
jib07 вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
hoz (09.09.2013)
Старый 09.09.2013, 21:04   #1487 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от jib07 Посмотреть сообщение
В чем именно вопрос то, у х4 - 1 значение, х3 - 2 значения, х2 - 3 значения,
х1 - 4 значения.
Т.е. начинайте с конца и увидете, что х4 = (4), х3 = (3 или 4), х2 = (2 или 3 или 4), х1 = (1 или 2 или 3 или 4)
Дело в том, что я не понял, почему по Вашему у данных переменных такие значения есть. Почему x4 - значение?, а, например, x2 - (2 или 3 или 4)? Вроде как тут нет канкретики. Ведь есть массив. У него 4 элемента. Значения переменных x1...x4 не определены заранее. А значит нужно смотреть на это как-то иначе. Вот что меня смущает.


Сообщение от jib07 Посмотреть сообщение
Дак ну представте что в массиве числа и Вы их не знаете,но работает тот алгоритм, который я описал выше, а именно перебор в таком порядке))
Такого я нигде не встречал))
Просто Вы загоняетесь на пустом месте, счетчик работает в счетчике- типичная ситуация в основном для сравнения элементов 2х массивов и других операций)))
Да, возможно я и загнался.. Но всё потому, что ситуация столь неординарная. Я так вообще не в курсах, зачем такое вообще нужно.. Тем более в трейдинге
И как же сравниваются элементы обоих массивов?

Последний раз редактировалось hoz; 09.09.2013 в 21:14.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 10:23   #1488 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от hoz Посмотреть сообщение
Я так вообще не в курсах, зачем такое вообще нужно.. Тем более в трейдинге
Для некоторых, это способ защиты от декомпила. Ничего не выполняющий, но запутывающий код. Начинает читать такой код не-до-программист, встречает такой цикл, у него крыша съезжает и он этот код выбрасывает не сумев разобраться.
Но к тебе это не относится. Ты настойчиво разбираешься.
В трейдинге я тоже не представляю таких случаев где нужен вложенный цикл. Но так можно пудрить мозги заказчику количеством строк кода и соответственно набивать цену.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 12:14   #1489 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
В трейдинге я тоже не представляю таких случаев где нужен вложенный цикл.
А я не стесняюсь узать вложенные циклы. Только не для дури, а по делу. Например для заполнения значениями многомерного массива.
Код:
int arr [1000][100][10];
for(i=0;i<1000;i++)
 {
     for(i2=0;i2<100;i2++)
        {
        for(i3=0;i3<10;i3++)
            {
            arr [i][i2][i3]=...
            }
        }
   }

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 13:41   #1490 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от Ugar Посмотреть сообщение
А я не стесняюсь узать вложенные циклы. Только не для дури, а по делу. Например для заполнения значениями многомерного массива.
Код:
int arr [1000][100][10];
for(i=0;i<1000;i++)
 {
     for(i2=0;i2<100;i2++)
        {
        for(i3=0;i3<10;i3++)
            {
            arr [i][i2][i3]=...
            }
        }
   }
Андрей, я нисколько не сомневался в твоих способностях. Да и сам я знаю как это работает, а вот в советнике многомерные массивы использовать как-то ни к чему. Ну есть у меня один индикатор информер с 2х мерным массивом. А больше как-то и нет нужды.
Ты-бы лучше привёл пример конкретного кода из советника, где такой подход мог-бы сэкономить машинное время или упростил-бы код...
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
eevviill (10.09.2013), Ugar (10.09.2013)
Старый 10.09.2013, 13:58   #1491 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
Андрей, я нисколько не сомневался в твоих способностях. Да и сам я знаю как это работает, а вот в советнике многомерные массивы использовать как-то ни к чему. Ну есть у меня один индикатор информер с 2х мерным массивом. А больше как-то и нет нужды.
Ты-бы лучше привёл пример конкретного кода из советника, где такой подход мог-бы сэкономить машинное время или упростил-бы код...
Приведённый мной выше код реальный, хотя и немного утрированный.
В реальности несколько раз используется 2х мерный вариант этого кода в моём последнем советнике.
Выкладывать реальный код не буду. Это нарушит мои взаимоотношения с заказчиком.
От количества строк стоимость работы у меня не зависит, по этому чем проще будет код, тем лучше для меня. Иногда проще обслужить двухмерный массив в одном цикле, а иногда проще засунуть цикл в цикл. В советнике используются оба этих варианта работы с массивами.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 14:03   #1492 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Кстати. Я пожалуй то же задам вопрос. Может на него уже кто то давно знает ответ.
Как добыть время с точностью до микросекунд?
Было бы очень полезно для выявления сколько какая функция или операция выполняется.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 14:49   #1493 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Ugar Посмотреть сообщение
Кстати. Я пожалуй то же задам вопрос. Может на него уже кто то давно знает ответ.
Как добыть время с точностью до микросекунд?
Было бы очень полезно для выявления сколько какая функция или операция выполняется.
Я как-то задавал вопрос подобный на мкл4. Там много вариантов было предложено. Некоторые я не понял вообще. Могу дать ссылку.. И можно через мой профиль там зайти.. Ветку начинал я, так что не составит труда найти, и, возможно, будет полезно!
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 14:54   #1494 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
У меня тут ошибка при выставлении отложенника. Вот появляется иногда.. За неделю прогона в тестере, тока один момент такой попался.
Вот функция:

Скрытый текст

PHP код:
//+-------------------------------------------------------------------------------------+
//| Открытие отложенной короткой позиции                                                |
//+-------------------------------------------------------------------------------------+
bool OpenPendingSell(double lotdouble price)
{
   
int g_ticket = -1;
   
double OOP price i_distanceFromLastPos pt;
      
   if (
OOP Bid)
   {
       
fCheck_ValidPendingOOP(Symbol(), OP_SELLSTOPOOP);
       
       
g_ticket OrderSend(Symbol(), OP_SELLSTOPlotND(OOP), 3000NULLi_magic0CLR_NONE);
   }
   if (
g_ticket 0)
   {
       return (
true);
   }
   else
       Print (
"OpenPendingSell(): Ордер послать не удалось " GetLastError());
   
   return (
false);

[свернуть]



Вот что в журнале:

Скрытый текст

PHP код:
2013.09.10 14:24:34    2013.08.15 13:04  Perevorot EURUSD.GI,M5OpenPendingSell(): Ордер послать не удалось 0 
[свернуть]


Как выяснить причину? Распечатывать всё что только в данной функции используется прямо перед Ордерсендом? Ошибка то вообще не говорящая толком ни о чём...

Последний раз редактировалось NSerega; 10.09.2013 в 18:37.
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 15:25   #1495 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от Ugar Посмотреть сообщение
От количества строк стоимость работы у меня не зависит,
Так о тебе и разговору-то не-было.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 15:48   #1496 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Сообщение от hoz Посмотреть сообщение
Я как-то задавал вопрос подобный на мкл4. Там много вариантов было предложено. Некоторые я не понял вообще. Могу дать ссылку.. И можно через мой профиль там зайти.. Ветку начинал я, так что не составит труда найти, и, возможно, будет полезно!
Кинь ссылку в личку. А зачем через твой профиль заходить, ветка в привате чёль?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 15:58   #1497 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Сообщение от Ugar Посмотреть сообщение
Кинь ссылку в личку. А зачем через твой профиль заходить, ветка в привате чёль?
Не приват. Просто через профиль можно просто найти темы, которые начал тот, чей профиль смотришь. Я к этому веду....
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Ugar (10.09.2013)
Старый 10.09.2013, 17:27   #1498 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3644
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,648 раз(а) в 1,469 сообщениях
Поинты: 2007
Сообщение от Ugar Посмотреть сообщение
Кстати. Я пожалуй то же задам вопрос. Может на него уже кто то давно знает ответ.
Как добыть время с точностью до микросекунд?
Было бы очень полезно для выявления сколько какая функция или операция выполняется.
А GetTickCount() не подходит? Или тебе мельче надо?
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 10.09.2013, 18:01   #1499 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,254
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1274
Отправить сообщение для Ugar с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
А GetTickCount() не подходит? Или тебе мельче надо?
Там миллисекунды, а я хотел микросекунды. Многие функции и операторы выполняются быстрее миллисекунды, так что это грубовато.
Наверняка в коме есть системный таймер с дискретой в микросекунду. Вот и спрашиваю как до него добраться. Может какие то dll в винде есть для этого?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 11.09.2013, 08:21   #1500 (permalink)
hoz
Активный участник
 
Аватар для hoz
 
Регистрация: 01.04.2011
Сообщений: 530
Репутация: 111
hoz hoz
Сказал(а) спасибо: 59
Поблагодарили 112 раз(а) в 88 сообщениях
Поинты: 538
Отправить сообщение для hoz с помощью ICQ
Я вот призадумался. Ведь многие функции, которые используются один раз за определённый момент времени(иногда довольно длинный), чтобы код эксперта работал быстрее, нужно в плане оптимизации вызывать как можно меньше. Но это и так понятно. Я хотел сказать, что, буквально вчера думал над некоторыми вариантами. Начал с функции модификации ордеров(первоначальной установки тейки и стопа). Для краткости назовём её ФМО, что бы ниже по контексту не писать больше, чем можно.
Я вижу 2 варианте реализации (если кто-нибудь может добавить.. буду очень рад!):

1. ФМО можно вызывать сразу из функции посыла ордера, неважно рыночного или отложенного, при условии, что ордер послан успешно и выбран его тикет:
PHP код:
if (ticket 0)
{  
                if (
SL != 0.0 || TP != 0.0)
                {
                    
double ld_SL 0.0ld_TP 0.0;
                    if (
OrderSelect (li_TicketSELECT_BY_TICKET))
                    {
                        
fOrderModify (ticketOrderOpenPrice(), SLTP00);
                    }
                }
            } 
Но при торговле на реале ордер может не модифицироваться, и, значится, нужно в старте снова вызывать функцию ФМО, чтобы установить стопы и теки ордерам, у которых ещё они не установлены.
2. Как-вариант, можно вообще в функции посылающей ордера не ставить ничего, а всё вызывать из старта.
В любом случает, приходится вызывать ФМО из старта постоянно, и, на каждом тике, а не, например, раз за бар или какое-то время. А удобно было как-то оптимизировать код, чтобы не вызывать ФМО из старта постоянно. Т.к. это экономия ресурсов, и выполнение лишних операции.

Есть какие-нибудь варианты решения данной ситуации?
hoz вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

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


Опции темы

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

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



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


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