[WARNING CLOSED!] Any newbie question, so as not to clutter up the forum. Professionals, don't go by. Can't go anywhere without you. - page 552

 
Zamut >>:

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

OrderModify....

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

So I guess we don't want to think with our heads, okay, I'll give you a hint.

If you want to use it this way, you should just write a function to search for a ticket by magician, like this

int поиск_тикета_по_Магику(int Магик){
 int тикет=-1;
 for(int i=0;i<OrdersTotal();i++){
  if(OrderSelect(i,SELECT_BY_POS))
    if(OrderMagicNumber()==Магик)тикет=OrderTicket(); 
 }
return(тикет);
}
You can then easily insert this construction into the form you need,

Although your request looks silly in this case, and indeed why select the order of the ticket if it is already selected.

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

So I say learn the math.

 
Wow =) Thanks for the tip, Urain. I guess I'll have to give up this idea of magik, it's too cool for me, yet. I'm not much of a programmer. Relying on my tiny knowledge of the language I already wrote about half of my EA =) . I've sort of figured out how to select order by ticket, I will work with it.
 
Dear guru! Please tell me how to remove the data of a custom indicator with MAA applied to it...
I.e. MAK should smooth noises of custom indicator and exactly MAK data is used to define trading criteria, along with other signals.

The funny thing is that I have encountered this description somewhere on the forum, and I've seen this description somewhere on the forum.

SZS. The funny thing is, that somewhere on a forum this description has already occurred to me... I've already spent a day looking for it, I'm exhausted...
ZZZY. Do not tell me - learn to use the search ... I know myself a bad friend of it... :)

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

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

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

iMaOnArray to help ;)
 
Necron >>:
iMaOnArray вам в помощь ;)
Thank you! Off to puzzle... :)
 
artmedia70 >>:
Спасибо! Пошел голову ломать... :)
It would be more convenient for you to do it with a separate indicator. First, in the recalculation cycle, you fill in the indicator values in the indicator buffer, and then use these values to calculate the signal MA.

Here is an example of how to calculate MA by RSI (the starting point):

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);
  }
 
Maybe there is a function ready (so as not to be too sly...), which compares a position that is losing (by a given number of points) with several positions that are profitable, and closes them all, thus covering one big loss with several profitable ones, thereby bringing a small, again, a given number of points of profit.
????????????????????????????????????????????????????????????????
 
artmedia70 >>:
Друзья! А может быть есть уже готовая функция (дабы не мудрить лукаво...), которая сравнивает позицию, которая находится в убытке (на заданное кол-во пунктов) с несколькими позициями, находящимися в профите, и закрывает их все, тем самым покрывая одного большого лося несколькими профитными, принося тем самым небольшое, опять же, заданное кол-во пунктов профита.
????????????????????????????????????????????????????????????????

It's quite a tricky question, I personally need clarification to understand what you want,

The only thing I can do is write down the formula to determine how many pips an order has passed

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

but it is clear that the order has to be selected through a selection.

 
Urain писал(а) >>

The only thing I can help with is to write down a formula for determining how many pips an order has passed.

But first of all it is necessary to select the order via selection.


Forgot to multiply by 0.1.
 
Urain >>:

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

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

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

:)
To clarify:
1. We have a position that is in deep... in deep drawdown. It accordingly eats equity. When we close it, we lose our equity.

2. There are one or more positions that are on the plus side. They also eat margin, but when they are closed, the funds are returned to us.

3. we need a function that finds this losing position and finds profitable positions whose total profit (in pips) exceeds the loss in pips of the losing position.
4. We close all these positions and obtain the equity out of the deep drawdown.