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

 
todem:
спасибо большое! тока я непойму зачем стоплосс здесь

вы вопрошали "может пройти цена в минус?"

вот это расстояние я назвал "стоплос". Можете переименовать как вам удобно.

 
sergeev:

вы вопрошали "может пройти цена в минус?"

вот это расстояние я назвал "стоплос". Можете переименовать как вам удобно.


ааааа большое спасибо

 

drknn:

в функции start() советника пишем:

Comment("\n","StopLoss = ",StopLoss,"\n","Lot = ",Lot);

Это не то.

загрузить можно про помощи этой функции: ExpertParameters=proba.set
Но как решить обратную задачу, получить это название proba.set ?
может подскажите хоть направление в котором копать!
 

на счет этогоо никто не знает? я добавил OrderSelect и с этим он не выставляет

void TrailingOrders() {

double di, pa, pb, pp, sl, tp, sp;
int cnt2;
for(cnt2=OrdersTotal();cnt2>0;cnt2--)
{
pp=MarketInfo(OrderSymbol(), MODE_POINT);
if (OrderType()==OP_BUY) {
pa=MarketInfo(OrderSymbol(), MODE_ASK);
sp=MarketInfo(OrderSymbol(), MODE_ASK)-MarketInfo(OrderSymbol(), MODE_BID);
if (OrderOpenPrice()-pa>(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0 || pa-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) {
di=OrderOpenPrice()-pa-TrailingStop*pp;
if (OrderStopLoss()==0) sl=OrderOpenPrice()+(TrailingStop-sp+TrailingStep-1)*pp; else sl=0;
if (OrderStopLoss() >0) sl=OrderStopLoss() -di;
if (pa-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp) sl=pa-(TrailingStop+TrailingStep-1)*pp;
if (OrderTakeProfit()>0) tp=OrderTakeProfit()-di; else tp=0;
ModifyOrder(pa+TrailingStop*pp, sl, tp);
}
}
if (OrderType()==OP_SELL) {
pb=MarketInfo(OrderSymbol(), MODE_BID);
if (pb-OrderOpenPrice()>(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0 || OrderOpenPrice()-pb>(TrailingStop+TrailingStep-1)*pp) {
di=pb-OrderOpenPrice()-TrailingStop*pp;
if (OrderStopLoss()==0) sl=OrderOpenPrice()-(TrailingStop+TrailingStep-1)*pp; else sl=0;
if (OrderStopLoss() >0) sl=OrderStopLoss() +di;
if (OrderOpenPrice()-pb>(TrailingStop+TrailingStep-1)*pp) sl=pb+(TrailingStop+TrailingStep-1)*pp;
if (OrderTakeProfit()>0) tp=OrderTakeProfit()+di; else tp=0;
ModifyOrder(pb-TrailingStop*pp, sl, tp);
}
}
}

}

 
granit77:
А почему его нельзя сформировать через WindowExpertName()+".set"?

это как? можно поподробнее

какую строчку нужно вставить в СОВЕТНИКА?

 
vitali_yv:

Ребята, посоветуйте плз как закодить наождение всех уникальных комбинаций из 5 цифр от 1 до 7, учитывая, что положение цифры значения не имеет, т.е. 12345 = 54321 = 21345 =... но каждая цифра в комбинации может встречаться только 1 раз, т.е. - 12345 - ок, а 12341 - не подходит.

Благодарствую.

по тупому в лоб пятью циклами

for (a=1; a<7; a++)

for (b=1; b<7; b++)

for (c=1; c<7; c++)

....

if (a==b || a==c || a== d || a==e || b==c || b==d || ....) continue;

else print;


В другом более цивильном варианте - используйте два массива. То есть массив A[b[]],

где b[] - индексы массива A.

 
granit77:
А почему его нельзя сформировать через WindowExpertName()+".set"?
Имя СОВЕТНИКА мы получим, но как насчет имени ИМЯ???.set установок,
 
string _comment=WindowExpertName();//получаем имя советника, в котором прописана эта строка, допустим, Ilan77
string SetFileName=_comment+".set";//получаем в строковую переменную название set-файла этого советника,"Ilan77.set"  
 
granit77:

зачем геморроится, если можно сразу во внешках объявить имя файла настроек...
 
granit77:

Таким образом вы задаете (устанавливаете) имя .set файлу.

А как его получить, чтобы советник высветил на экране с каким набором .set он сейчас работает.

Допустим у вас 10 наборов .set с разными именами и вы хотите видеть какой .set включен сейчас

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