[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 469

 
кто нибудь ответит али как?
 
bikrus13:
сколько надо мощности компа или памяти ОЗУ чтобы советник успевал обрабатывать информацию и работать на 52парах без каких либо проблем? и вообще на одну пару какие требования нужны чтобы советник работал независая?
bikrus13:
кто нибудь ответит али как?
Или как. Условия задачи не содержат данных, позволяющих даже оценить возможный результат. Можно только предположить, что проблемы будут обязательно, если открывать все графики. И что их будет меньше, если торговать все пары из одного экземпляра советника (но будут проблемы с подгрузкой истории).
Для примера аналогичная задача: сколько потребуется времени для эвакуации от наводнения жителей двух поселков и одного села? При том, что нам неизвестна численность населения, количество и вид транспорта, и расстояние эвакуации?
 
rlx:

Вроде архив не приклеился. нАверно потому что Rar

вот ZIP архив


Спасибо за помощь!!! Стану милионером, Вас не забуду))
 
ткните где я ошибся, не могу вытащить данные из отложенного ордера

if (OrdersHistoryTotal() != orto)
 {
int k1=OrdersTotal();
while
(k1>=1)
{
      OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);
if (OrderProfit()>0)
{
if (OrderStopLoss()>0)
{
Alert("ОРДЕР ПРИБЫЛЕН");
Alert("ордер найден ",k1," шт"," общее количество ",OrdersHistoryTotal());
Alert("врямя бара на катором открыт ", Time[k1]," номер тикета ",OrderTicket());
int h=Time[k1];
Alert("профит ордера = ", OrderProfit()," SL ",OrderStopLoss()," TP ",OrderTakeProfit());
k1--;
break;
}
}
}
for (int k = OrdersTotal() ; k>=0; k--)
  {
   OrderSelect(k, SELECT_BY_POS, MODE_TRADES);
Alert("ОБЩЕЕ КОЛЛИЧЕСТВО ОТКРЫТЫХ И ОТЛОЖЕННЫХ ",OrdersTotal()," вид ордера ",OrderType());
int h1=Time[k];
if (h==h1)
{
Alert("ОРДЕР НАЙДЕН закрываем ",OrderTicket()," SL ",OrderStopLoss()," TP ",OrderTakeProfit()," time ", Time[k]);

//==================================================================================
//здесь не могу вытащить из найденого ордера не чего кроме Time
//данные из журнала
//2011.06.26 12:15:07    2011.06.24 03:00  555 EURUSD,M5: open #2 sell limit 0.30 EURUSD at 1.4290 tp: 1.4275 ok
//2011.06.26 12:15:07    2011.06.24 04:16  555 EURUSD,M5: Alert: ОРДЕР НАЙДЕН закрываем 0 SL 0 TP 0 time 1308888000
//==================================================================================




OrderDelete(OrderTicket());
}
}
orto = OrdersHistoryTotal();
}
 
OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);
Нужно
OrderSelect(OrderTicket(),SELECT_BY_TICKET);

или

for(int i = 0; i <totalHistory; i++)
  {
   OrderSelect(i,SELECT_BY_POS, MODE_HISTORY);
  }
 
vik-777:
ткните где я ошибся, не могу вытащить данные из отложенного ордера


Много ошибок. Сразу же в глаза бросилось:

Строка ошибочна:

OrderSelect(OrderTicket(),SELECT_BY_POS, MODE_HISTORY);

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

OrderSelect(OrderTicket(),SELECT_BY_TICKET);

После данной строчки необходимо делать проверку на OrderCloseTime()>0 Если условие истинно, то ордер выбран из массива закрытых ордеров, если же ложь, то - ордер ещё в рынке

... но ... при более внимательном рассмотрении вашего кода обнаруживается ещё вот это:

вы пытаетесь выбрать ордер по его тикету, используя стандартную ф-цию OrderTicket() ... при том, что эта функция вернёт вам тикет уже выбранного ордера. А где он в вашем коде выбран?

----------------------

Совет: перебирайте историю закрытых ордеров с помощью индекса, а не тикета.

Как только найдёте нужный ордер, проверяйте необходимые вам данные...

А при ещё более детальном рассмотрении вашего кода, создаётся впечатление, что вы вообще не понимаете, чего хотите добиться.

Алерты сообщают (по их смыслу) о текущем положении на рынке... А выбирать пытаетесь из уже отработанных и закрытых ордеров.

Задачу ясно опишите.

 
artmedia70:

Много ошибок. Сразу же в глаза бросилось:

Строка ошибочна:

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

После данной строчки необходимо делать проверку на OrderCloseTime()>0 Если условие истинно, то ордер выбран из массива закрытых ордеров, если же ложь, то - ордер ещё в рынке

... но ... при более внимательном рассмотрении вашего кода обнаруживается ещё вот это:

вы пытаетесь выбрать ордер по его тикету, используя стандартную ф-цию OrderTicket() ... при том, что эта функция вернёт вам тикет уже выбранного ордера. А где он в вашем коде выбран?

----------------------

Совет: перебирайте историю закрытых ордеров с помощью индекса, а не тикета.

Как только найдёте нужный ордер, проверяйте необходимые вам данные...

А при ещё более детальном рассмотрении вашего кода, создаётся впечатление, что вы вообще не понимаете, чего хотите добиться.

Алерты сообщают (по их смыслу) о текущем положении на рынке... А выбирать пытаетесь из уже отработанных и закрытых ордеров.

Задачу ясно опишите.


спасибо за совет, я новичок в этом деле на мой взгляд кажется все правильно, но оказалось нет

смысл такой что при определенных условиях открывается ордер sell к примеру по цене 1.4000 sl 1.4030 tp 1.3985

после успешного открытия ордера sell, открыть ордер selllimit со следующими параметрами цена 1.4030 sl 1.4080 tp 1.4015

так вот задача какая если ордер закрылся по tp 1.3985, то нужно удалить ордер selllimit

скажите Ваше мнение правильный ли ход моих мыслей

поле закрытия ордера sell я ищу в истории последний закрытый ордер, узнаю его время открытия, далее ищу в отложенных ордерах совпадение по времени если найден то удалить ордер

 
Какой, вкратце, принцип работы у советника Auto-profit и где он описан на форуме? Спасибо.
 
yosuf:
Какой, вкратце, принцип работы у советника Auto-profit и где он описан на форуме? Спасибо.

вам предупреждение за выкладывание декомпиля.
 

Доброе время суток!

Часто на форумах встречается упоминание об отлаживании советников с помощью оптимизации. Пару раз запускал советники в тестере с крыжиком оптимизация, но никаких ощутимых результатов не получил.

Подскажите, где можно почитать толковую информацию методах работы с этой оптимизацией.

Заранее благодарен .

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