Что то типа такого.Подскажите пожалуйста!!! как сделать так чтобы каждая последующая сделка откравалась с увеличением лота?
///////////////////////////////////////////////////////////////////////////////////
void martini_f()
{
int nor_lot;
if(MarketInfo(Symbol(),MODE_LOTSTEP)==0.1) nor_lot=1;
if(MarketInfo(Symbol(),MODE_LOTSTEP)==0.01) nor_lot=2;
CountOpenPositions();
double Mar_Lot_b=Lot*buy*Lot_koef;
double Mar_Lot_s=Lot*sell*Lot_koef;
for(int i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS);
{
if(OrderMagicNumber()==magic)
{
if(OrderSymbol()==Symbol())
{
break;
}
}
}
}
while(IsTradeContextBusy()) Sleep(1000);
if(OrderType()==OP_BUY)
{
//
if(Bid<=OrderOpenPrice()-step*Point)
int ticket_op_m=-1;
for (int j_op_b = 0; j_op_b < MaxAttempts; j_op_b++)
{
while(IsTradeContextBusy()) Sleep(1000);
if(Sig_p>0 && buy==0) ticket_op_m=OrderSend(Symbol(),OP_BUY,NormalizeDouble(Mar_Lot_b,nor_lot),Ask,slippage,0,0,comment,magic,0,Green);
if(ticket_op_m>-1)break;
}
}
if(OrderType()==OP_SELL)
{
//
if(Ask>=OrderOpenPrice()+step*Point)
ticket_op_m=-1;
for (int j_op_s = 0; j_op_s < MaxAttempts; j_op_s++)
{
while(IsTradeContextBusy()) Sleep(1000);
if(Sig_p<0 && sell==0) ticket_op_m=OrderSend(Symbol(),OP_SELL,NormalizeDouble(Mar_Lot_s,nor_lot),Bid,slippage,0,0,comment,magic,0,OrangeRed);
if(ticket_op_m>-1)break;
}
}
}
////////////////////////////////////////////////////////////////////////////////////
void CountOpenPositions()
{
buy=0;
sell=0;
for (int i=OrdersTotal()-1; i>=0; i--)
{
OrderSelect(i,SELECT_BY_POS);
{
if(OrderMagicNumber()==magic)
{
if(OrderType()==OP_BUY) buy++;
if(OrderType()==OP_SELL) sell++;
}
}
}
}
Попробуй перенести то что в Инит в Старт.Прошу подсказки, как в исправить код,чтобы открывался не один ордер по сигналу индикатора, а при каждом сигнале индюка на каждой валютной паре ( даже возможно открытие встречных ордеров по паре, а закрытие же по сигналу индикатора только при достижение положительного профита)....
Попробуй перенести то что в Инит в Старт.
Самый простой способ,чтобы не лезть в дебри.SOS! Вдруг перестал работать тестер стратегий! Когда включаю на цене появляется надпись "ждите обновления" и больше ничего не происходит!!! Может я случайно снёс что-то из терминала? Кто-нибудь подскажет?
Самый простой способ,чтобы не лезть в дебри.
Старый в корзину и загрузить новый.
Спасибо! Если не предложит кто более короткого способа, придётся так и сделать...
Ну можешь сделать откат системы, проанализироавть реестр программ. Найти по коду ошибки отладочную инфу.... много есть вариантов. Но лучше сделай по старому способу и надежному
ДЦ какой:question:Снёс терминал, установил по новой... не работает тестер!:question:
Может что не доложил?Снёс терминал, установил по новой... не работает тестер!:question:
Может что не доложил?
Ну, так правильно. Он библиотеки снёс, а сейчас может, что не положил. Бываетне терминал надо сносить а тестер....
Я понимаю что задумал сложный советник, но ради этой мечты я и изучаю программирование...
Вообще то я просил на форуме создать советника по сигналам подобных индюков- если бы были варианты такого решения, то мне было бы легче найти приемлемый вариант, но в данный момент я ищу вариант открытия ордеров...( ДАЖЕ ПРИ ТЕСТИРОВАНИЕ И РУЧНОМ ЗАКРЫТТИИ У МЕНЯ СЕЙЧАС НА СЧЁТЕ ПОЛОЖИТЕЛЬНЫЙ ПРОФИТ). так что идея я уверен верная...