[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 552

 
Zamut >>:

if(OrderSelect(OrderMagicNumber()==13,SELECT_BY_TICKET)

OrderModify....

Так можно? Если что, поправьте.

Значит я так понимаю головой мы думать не хотим, ладно дам подсказку

если желаите просто вот так использовать то пишеться функция поиска тикета по магику, вот так

int поиск_тикета_по_Магику(int Магик){
 int тикет=-1;
 for(int i=0;i<OrdersTotal();i++){
  if(OrderSelect(i,SELECT_BY_POS))
    if(OrderMagicNumber()==Магик)тикет=OrderTicket(); 
 }
return(тикет);
}
после чего можете спокойно вставлять данную конструкцию в нужную вам форму,

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

if(OrderSelect(поиск_тикета_по_Магику(13),SELECT_BY_TICKET){
 OrderModify....
}

Так что я же говорю учите матчасть.

 
Фигасебе =) Спасибо за подсказку, Urain. Видимо прийдется отказаца от этой идеи про магик, уж больно крутовато для меня, пока что. Я далеко не программер. Освновываясь на своих невеликих знаниях языка уже написал где-то половину своего советника =) . Вроде как прошарил как выбирать ордер по тикету, буду с ним работать.
 
Уважаемые гуру! Подскажите пжлст как снять в советнике данные пользовательского индикатора с наложенной на него МАшкой...
Т.е. МАшка должна сглаживать шумы пользовательского индюка и именно МАшкины данные уже используются для определения торговых критериев, наряду с другими сигналами.

Отдельно с МАшки я умею, отдельно с польз. индикатора - умею, а как их в коде "наложить" друг на дружку, как это делается в терминале при выборе Previous Indicator`s Data для МА - не пойму.

ЗЫ. Самое смешное, что где-то на форуме мне это описание уже встречалось... Но уже день потратил на поиски, из сил выбился...
ЗЗЫ. Только не говорите - учись пользоваться поиском... Сам знаю, что плохо с ним дружу... :)

 
artmedia70 >>:
Уважаемые гуру! Подскажите пжлст как снять в советнике данные пользовательского индикатора с наложенной на него МАшкой...
Т.е. МАшка должна сглаживать шумы пользовательского индюка и именно МАшкины данные уже используются для определения торговых критериев, наряду с другими сигналами.

Отдельно с МАшки я умею, отдельно с польз. индикатора - умею, а как их в коде "наложить" друг на дружку, как это делается в терминале при выборе Previous Indicator`s Data для МА - не пойму.

ЗЫ. Самое смешное, что где-то на форуме мне это описание уже встречалось... Но уже день потратил на поиски, из сил выбился...
ЗЗЫ. Только не говорите - учись пользоваться поиском... Сам знаю, что плохо с ним дружу... :)

iMaOnArray вам в помощь ;)
 
Necron >>:
iMaOnArray вам в помощь ;)
Спасибо! Пошел голову ломать... :)
 
artmedia70 >>:
Спасибо! Пошел голову ломать... :)
Вам удобней это будет отдельным индикатором сделать. Сначала, в цикле пересчета заполняете инд. буфер значениями индикатора, а затем по этим значениям считаете сигнальную МА.

Вот пример расчета МА по RSI (ф-я старт):

void start() {
   // граница пересчета
   int limit=Bars-IndicatorCounted()-1;  
   if(limit>1) limit=Bars-1; 
  // расчет главной линии индикатора
   for(i=limit; i>=0; i--) Main[i]=iRSI(NULL,0,RSIperiod,0, i);
   // расчет сигнальной по массиву Main[]
   for(i=limit; i>=0; i--) Signal[i]=iMAOnArray(Main,0,Speriod,0,Smethod,i);
  }
 
Друзья! А может быть есть уже готовая функция (дабы не мудрить лукаво...), которая сравнивает позицию, которая находится в убытке (на заданное кол-во пунктов) с несколькими позициями, находящимися в профите, и закрывает их все, тем самым покрывая одного большого лося несколькими профитными, принося тем самым небольшое, опять же, заданное кол-во пунктов профита.
????????????????????????????????????????????????????????????????
 
artmedia70 >>:
Друзья! А может быть есть уже готовая функция (дабы не мудрить лукаво...), которая сравнивает позицию, которая находится в убытке (на заданное кол-во пунктов) с несколькими позициями, находящимися в профите, и закрывает их все, тем самым покрывая одного большого лося несколькими профитными, принося тем самым небольшое, опять же, заданное кол-во пунктов профита.
????????????????????????????????????????????????????????????????

Довольно мудрённо ставите вопрос, мне лично чтоб разобрать что вы хотите нужны пояснения,

единственное чем могу помочь так это записать формулу определения сколько пунктов прошёл ордер

int количество_пунктов=OrderProfit()/OrderLots();

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

 
Urain писал(а) >>

единственное чем могу помочь так это записать формулу определения сколько пунктов прошёл ордер

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


Забыл на 0.1 умножить.
 
Urain >>:

Довольно мудрённо ставите вопрос, мне лично чтоб разобрать что вы хотите нужны пояснения,

единственное чем могу помочь так это записать формулу определения сколько пунктов прошёл ордер

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

:)
Поясняю:
1. Есть позиция, которая находится в глубокой... в глубоком минусе. Она соответственно кушает эквити. При её закрытии мы теряем свои средства.

2. Есть одна или несколько позиций, находящихся в плюсе. Они тоже едят маржу, но при их закрытии средства возвращаются нам.

3. Нужна функция, которая найдёт эту лосевую позицию и найдёт профитные позиции, суммарный профит которых (в пунктах) превышает убыток в пунктах лосевой позиции.
4. Закрываем все эти позиции и вытаскиваем эквити из глубокой просадки, плюс денежку на баланс небольшую получаем.

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