[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 68

 
lottamer:


while я чуть позже выложу код...

а пока вопрос: откуда 7 гигов в текстовом файле? других файлов нет. удаление текстового файла освобождает 7 гигов места


Вы, типа, угадайку устроили ? Угадай косяк в программе по результатам работы ;) ? С вероятностью близкой к 100% внутри цикла while у Вас переменная цикла не изменяется, потому и зацикливание происходит, а 7 Гиг - так это потому, что комп/винт медленный: за время до тайм-аута можно, наверное, и больше наваять ;).
 
Heroix:

Есть необходимость собирать тики Ask, Bid, допустим, с 10-ти пар.

На сколько быстрее будет схема сбора тиков отдельным советником на каждом чарте символа, чем схема cбора на одном чарте через Marketinfo(), в одном советнике?

И еще вопрос: Marketinfo() обращается к серверу или к терминалу (к последнему значению символа в  "обзоре рынка")?

замерьте с помощью https://docs.mql4.com/ru/common/gettickcount

 Marketinfo()   это в большинстве своем информация которая в окне "обзор рынка", она обновляется терминалом автоматически - Ваш код получает информацию из терминала, другой вопрос, что пока Ваш код проводит серьезные вычисления информация в обзоре рынка может измениться, для этого случая существует https://docs.mql4.com/ru/windows/refreshrates

ЗЫ: попробуйте обратиться через   Marketinfo()  к символу которого нет в обзоре рынка - символ убрать, терминал перезагрузить 

ЗЫ: поиском по кодобазе где то  есть скрипт сборщик тиков от Компостера, там зацикленный скрипт - хороший пример

 
ilunga:

А вы уверены, что на каждом тике ваш while дает одну строку, а не миллион? На то он и цикл


я думал что один тик - один цикл...и видимо я жестоко ошибался....

похоже что циклы только для массивов....где реально за секунду нужно сделать тысячи прогонов.... 

я ошибся... 

 
VladislavVG:

Вы, типа, угадайку устроили ? Угадай косяк в программе по результатам работы ;) ? С вероятностью близкой к 100% внутри цикла while у Вас переменная цикла не изменяется, потому и зацикливание происходит, а 7 Гиг - так это потому, что комп/винт медленный: за время до тайм-аута можно, наверное, и больше наваять ;).


да, спасибо,разобрались,  похоже я не в то место цикл применил.... грубо ошибся... переменная хоть и меняется но раз в 10 минут, (и не переменная это, а показания индикаторов...) а за это время...цикл выполняется наверное пару миллионов раз....

и комп действительно медленный..потому как даже после отключения советника, он еще долго продолжает печатать логи :))) 

 
здравствуйте! Я торговал только на демо счете, сегодня положил настоящие деньги. Когда хочу совершить сделку пишут что торговля запрещена. Как начать торговать?
 
p-h-n_93:
здравствуйте! Я торговал только на демо счете, сегодня положил настоящие деньги. Когда хочу совершить сделку пишут что торговля запрещена. Как начать торговать?
Если настоящие деньги, самое правильно решение вашей проблемы - позвонить в ТП вашего ДЦ.
 
p-h-n_93:
здравствуйте! Я торговал только на демо счете, сегодня положил настоящие деньги. Когда хочу совершить сделку пишут что торговля запрещена. Как начать торговать?

 Если эксперт торгует, то ему нужно разрешить:) В Сервис -> Настройки -> Советники....

 
Появилась мысль использовать, в общем то, всем известные паттерны из ряда Price Action, которые называются DBLHC и DBHLC.

DBLHC pattern


Условия его формирования:

DBLHC (Бычий сетап) - бары с одинаковыми минимумами и более высоким закрытием.
Два (могут быть три и более) последовательных бара с одинаковыми минимумами, при этом цена закрытия последнего больше максимума предыдущего. Разница минимумов смежных баров не должна превышать 3 пунктов. Чем больше баров составляют сетап, тем сильнее сигнал, генерируемый им.

DBHLC (Медвежий сетап) - бары с одинаковым максимумом и более низким закрытием.
Два (три и более) последовательных бара с одинаковыми максимумами, при этом цена закрытия последнего ниже минимума предыдущего. Разница максимумов смежных баров не должна превышать 3 пунктов. Чем больше баров составляют сетап, тем сильнее сигнал, генерируемый им.

Возьмём, например, вариант DBLHC (Бычий сетап)

Цена открытия текущего бара должна быть рядом с минимумом предыдущего бара. Написать то легко.. Но нас интересует вариант, что таких баров с одинаковыми минимумами или почти одинаковыми минимумами может быть более одного, например 5. Как быть тогда? Как задать это условие, чтоб учесть не только предыдущий бар, но и расположенные раньше в историю тоже?

Я предполагаю что нужно брать цикл по барам от прошлого к настоящему:

for(int i=n; i<=Bars; i++)
{
  if(Low[n+1] == Low[n])                // Находим первые бары у которых одинаковы минимальные цены баров в диапазоне...
                                        // ..от бара с индексом n к последнему бара
}

Дальше нужно как-то задать условие, что если минимум следующего бара тоже равен минимуму предыдущего (предыдущих), то.. дальше сравниваем.. Как это реализовать?

 
p-h-n_93:
здравствуйте! Я торговал только на демо счете, сегодня положил настоящие деньги. Когда хочу совершить сделку пишут что торговля запрещена. Как начать торговать?


Скорей всего ДЦ от Вас чего-нить хочет, вроде копии паспорта.. Звоните в ДЦ.
 

Добрый день,

 

Так же на реальном счёте, при исполнении торговых приказов возникает много ошибок. К примеру сегодня:

 

 2013.01.10 13:46:09 '15082': instant order buy 0.15 EURUSD at 1.30844 sl: 1.30758 tp: 0.00000
 2013.01.10 13:46:10 '15082': request was accepted by server
 2013.01.10 13:46:10 '15082': requote 1.30843 / 1.30858 for open buy 0.15 EURUSD at 1.30844 sl: 1.30758 tp: 0.00000
 2013.01.10 13:46:11 '15082': instant order buy 0.15 EURUSD at 1.30869 sl: 1.30785 tp: 0.00000
 2013.01.10 13:46:11 '15082': request was accepted by server
 2013.01.10 13:46:11 '15082': request in process
 2013.01.10 13:46:13 '15082': order was opened : #12941470 buy 0.15 EURUSD at 1.30869 sl: 1.30785 tp: 0.00000

То есть от сигнала на открытие позы, до исполнения прошло 4 секунды. И как я подозреваю - это не предел.

Причина задержки в том, что ордер был реквотирован на 15 пунктов.

Как с этим бороться? Вот хрен с ними с этими 15 пунктами. Я хочу открыть ордер по рынку и не важно изменение цены за секунду прохождения запроса. Ведь в итоге я открылся ещё выше на  1.30869 , а должен был на 1.30858. Этот вопрос может стать критичным для прибыльности\убыточности эксперта, если он не может открыться на сигнале и дожидается начала коррекции.

 

Спасибо. 

Причина обращения: