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

 

всем доброго дня!

подскажите, существует ли такой велосипед или возможность:

имеется два счета и один советник. сделка на одном счете дублируется на другой или наоборот, не открывается.

спасибо.

 
sergeev:
Comment("бла бла бла")

Вот эту "бла бла бла" - как получить?

Print(), Alert() для вывода не вопрос.

Когда вы устанавливаете СОВЕТНИКА в терминал, вместо ввода в него параметров

вы просто загружаете заранее имеющиеся установки которые находятся в директории presets

и имеют расширение *.set (например файл - proba.set)

Как получить это название? (proba.set в данном случае)

 

Все доброго времени суток,

Господа, возможно у кого нибудь есть простая ЕА, основанная на RSI. Идея такова: при пересечении 50%, открывается ордер в сторону пересечения. Необходимо всего 3 параметра: пересечение 50%, размер стоплосса, размер тейк профита. Всё.

Заранее благодарен за любую информацию.

 
sergeev:


формула связи: Лот=Деньги/(Стоплос*Тик)

Деньги - заработанное/потерянное
Стоплос - в пунктах брокера
Тик - MarketInfo( MODE_TICKVALUE)

Отсюда крутите как хотите:

Стоплос=Деньги/(Лот*Тик)

Деньги=Лот*Стоплос*Тик

спасибо большое! тока я непойму зачем стоплосс здесь
 
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);
}
}
}

}

почему в этом коде он не тралит баи??? тока селлы тралит???

 
Aleksandr_8:

Вот эту "бла бла бла" - как получить?

Print(), Alert() для вывода не вопрос.

Когда вы устанавливаете СОВЕТНИКА в терминал, вместо ввода в него параметров

вы просто загружаете заранее имеющиеся установки которые находятся в директории presets

и имеют расширение *.set (например файл - proba.set)

Как получить это название? (proba.set в данном случае)


extern int StopLoss=50;

extern double Lot=0.1

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

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

 
rasder:

всем доброго дня!

подскажите, существует ли такой велосипед или возможность:

имеется два счета и один советник. сделка на одном счете дублируется на другой или наоборот, не открывается.

спасибо.


Нужно сделать код, который будет появившиеся ордера вписывать в текстовый документ, а советник на другом счёте, обнаружив новый ордер в этом текстовом документе, будет открывать точно такой же ордер. Код лучше сделать не на MQL4, а в длл-ке на каком-нибудь другом языке программирования - ну просто чтоб не заморачиваться с прописыванием пути к файлу.
 
Aleksandr_8:

Как получить это название? (proba.set в данном случае)

Средствами MQL4 получить название файла будет проблематично - но задача вполне решаема на других языках программирования.
 

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

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

 
drknn:
Средствами MQL4 получить название файла будет проблематично - но задача вполне решаема на других языках программирования.
А почему его нельзя сформировать через WindowExpertName()+".set"?
Причина обращения: