Кто может помочь в программировании ?

 

Привет Мальчики !


Помогите девушке слабо разбирающейся в программировании :)
У меня возникла идея и встал вопрос за кусочком кода(циклом)
В чём суть
Этот цикл будет отвечать за открытие доп.ордеров он будет добавлен в эксперт или же это будет отдельный эксперт я ещё пока не определилась.
Каждый тик эксперт\цикл просматривает есть ли открытые ордера с указанным магиком если видит открытый ордер с указанным магиком скажем бай то он открывает ещё один бай (для села всё так же) только с другим лотом и указывает ТП и СЛ на этом его работа не заканчивается он каждый тик проверяет ведущий ордер если он закрывается то закрывается и открытый по рынку не дожидаясь ТП или СЛ.
Параметры для цикла\эксперта:
Кнопка вкл\выкл 
MagicOP магик который ищет эксперт для открытия позиции
Magic обычный магик для открытых ордеров 
Lot эти параметры в объяснении не нуждаются я так думаю :)
SL 
TP
Ещё кнопка для управления закрывать позиции только по СЛ или ТП или закрывать по рыку когда закрывается ведомый ордер.
Эммм вроде ничего не упустила :) Заранее спасибо.


 
Вы так говорите, как-будто эксперт откуда-то приходит раз в час и проверяет ордера. Он сразу же, как только откроется ордер с искомым магиком, тут же откроет и второй.
 
Roger >>:
Вы так говорите, как-будто эксперт откуда-то приходит раз в час и проверяет ордера. Он сразу же, как только откроется ордер с искомым магиком, тут же откроет и второй.

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

 
Мальчики, неужели никто не поможет ?
 
Miliandra >>:
Мальчики, неужели никто не поможет ?

чем больше меня интересуют деньги тем меньше интересуют девочки

кажется саблюк здесь специалист по кошкам, но его лучше не звать

 

что-то в таком духе, кусок кода для открытия второго ордера

int OrderTicketBuy1=0;
int OrderTicketSell1=0;

int OrderTicketBuy2=0;
int OrderTicketSell2=0;


for ( i = 0; i < OrdersTotal(); i++) //' позиций
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES); //' 
if (OrderSymbol() == Symbol())
{
if (OrderType() == OP_BUY   && OrderMagicNumber() == 362 &&  OrderTicketBuy2==0)
{
OrderTicketBuy1=OrderTicket(); // признак того, что 1 ордер открыт
// здесь код открытия 2 ордера на покупку - двойным лотом
OrderTicketBuy2=OrderSend(......);

}
if (OrderType() == OP_SELL && OrderMagicNumber() == 362 &&  OrderTicketSell2==0)  
{
OrderTicketSell1=OrderTicket(); // признак того, что 1 ордер открыт

// здесь код открытия 2 ордера на продажу - двойным лотом
OrderTicketSell2=OrderSend(......);

}
}
}
// проверяем закрыт ли 1 ордер и если закрыт - закрываем и 2
if (OrderTicketBuy1==0 && OrderTicketBuy2 !=0)
{
// закрываем 2 ордер buy
}

// проверяем закрыт ли 1 ордер и если закрыт - закрываем и 2
if (OrderTicketSell1==0 && OrderTicketSell2 !=0)
{
// закрываем 2 ордер Sell
}
 

Да,вот эти переменные надо определять вне функции start

int OrderTicketBuy1=0;
int OrderTicketSell1=0;

int OrderTicketBuy2=0;
int OrderTicketSell2=0;

 
Miliandra, оставь координаты для связи...
 
alexpaul1934 >>:
Miliandra, оставь координаты для связи...

и мне, я тож познакомится хочу :-)

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