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

 
MQL414:

Может так «если ТР. и Ask< iClose("USDCHF",PERIOD_H1,i) то Lot=0.0.


Спасибо но не подходит.Условие выполняется в начале каждого часа если Open ниже( на селл ) трендовой линии, а свечки могут быть любые.Такое ограничение может привести к тому что и первая сделка не откроется.

У меня есть вариант.. Например если сегодня после сделки селл баланс повысился на ТП то запретить на сегодня сделки селл, если бай то запретить сделки бай. Но я не знаю как это закодировать.

 
deyron:
Спасибо Вам сударь, это и не только- проделывал много раз в разных вариациях. extern-ы советник принимает(параметры меняются в советнике при тесте), а вот изменение в коде: для примера через iCustom добавляю индикатор, тот при тесте изумительно прорисовывается, за тем в коде его в "комент"-и он все равно при тесте рисуется, меняю ТФ- так же рисуется... удаляю его из папки индикаторов Ура не рисует при тесте, вкидываю обратно без вызова в коде он опять рисуется(все это сопровождается закр/откр терминала и эдитора. Вот такая блин петрушка, есть еще какие-нить советы буду рад выслушать.))

Вариант)))... Сохраненный шаблон одноименный советнику с этим индикатором.. то, нет?

.... Лечение))) Удалите шаблон .

 

Спасибо! Немного прояснилось. С буфером.

А вот

IndicatorCounted( )
Функция возвращает количество баров, не измененных после последнего вызова индикатора. Єто уж как?? Я раз пацепил его на график, и сколько біло баров, столько и будет? Не может біть, наверно таки после каждого тика считает число. Баров где? Наверно, на видимой в окне части графика? Написано реально так, что только догадіваться!!! Прашу простить за украинскую раскладку, брат минял винду, не могу паминять!!
 if(counted_bars>0) counted_bars--;
     limit=Bars-counted_bars;
А что можно так сложно пирисчитівать?? И вообще, баром больше, баром меньше? Ладно, буду код дальше читать, мож уясню.

 

А что можно так сложно пирисчитівать?? И вообще, баром больше, баром меньше? Ладно, буду код дальше читать, мож уясню.

Если расчёт довольно сложный, то ненужный перерасчёт тысяч неизменившихся баров - большая трата времени впустую. Успеть надо до следующего тика, а он может поступить через 250 миллисекунд (на моём сервере)
 
Heroix:
Korinf, про OrderCloseBy() почитай.

На сколько я понял она закрывает два ордера. Тоесть по первому у меня +1 по второму -2 оно закроет обе с общим профитом в -1. а мне надо так чтобы он закрыл +1 и -1 и остолсь то количесвто лотов которое дает -1. Тоесть весь первый + часть второго чтобы остался остаток.

Подскажите..
Целый день не могу найти функцию тралла по пунктам. Тоесть нашел кучу тралла но они ппц то по свечам то по фракталам то еще по чемуто.
Мне надо если профит стал +1 то начинаю тралить по несколько пунктов. К примеру по 10 пунктов. Цена прошла 10 пунктов в мо сторону СЛ передвинулся ближе на n пукнтов ближе. Прошла еще 10 пунктов еще подтянулся СЛ.
Думаю такое уже должно быть реализованно до меня давно!
 
Есть ли функция которая считает где будет безубыток у кучи ордеров?

У меня есть к примеру два ордера sell и один buy(пусть одинаковые). Хочу чтобы рисовалась линия где будет уровень безубытка по этим позициям если цена идет вниз.
 

korinf:
Есть ли функция которая считает где будет безубыток у кучи ордеров?

У меня есть к примеру два ордера sell и один buy(пусть одинаковые). Хочу чтобы рисовалась линия где будет уровень безубытка по этим позициям если цена идет вниз.

https://www.mql5.com/ru/code/9703

https://www.mql5.com/ru/code/9375

https://www.mql5.com/ru/code/10007

 
korinf:

На сколько я понял она закрывает два ордера. Тоесть по первому у меня +1 по второму -2 оно закроет обе с общим профитом в -1. а мне надо так чтобы он закрыл +1 и -1 и остолсь то количесвто лотов которое дает -1. Тоесть весь первый + часть второго чтобы остался остаток.



так и будет. Закроется только перекрытая чась ордеров, но остаток получит свой Ticket. Т.е. будет выглядеть как новый ордер, но открытый по цене того ордера, объём которого был больше.
 

ок!) Все перекрытием разобрался!

Подскажите..
Целый день не могу найти функцию тралла по пунктам. Тоесть нашел кучу тралла но они ппц то по свечам то по фракталам то еще по чемуто.
Мне надо если профит стал +1 то начинаю тралить по несколько пунктов. К примеру по 10 пунктов. Цена прошла 10 пунктов в мо сторону СЛ передвинулся ближе на n пукнтов ближе. Прошла еще 10 пунктов еще подтянулся СЛ.
Думаю такое уже должно быть реализованно до меня давно!

 

Помогите) в чем ошибка кода) на тестере все отлично показывает) а на демке вообще все глухо)не сколько суток так уже)вот сам код)

extern int Tenkan=5;
extern int dd=9;
extern int slowing=3;
extern int kk=9;
extern int UrovenUp=56;
extern double TakeProfit=100;
extern double Lots=3;
extern double StopLoss=100;

int start()
{double MY,priceBuy,priceBuy2,Ich,D,K,K1;
double Cc1,C2,C3,C4;
int ticket;


MY=(Open[0] + Close[0] )/2;
Ich=((Open[iHighest(NULL, 0, MODE_OPEN, Tenkan)]) +
(Close[iLowest(NULL, 0, MODE_CLOSE, Tenkan)]))/2;

D=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_SIGNAL,0));
K=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,0));
K1=(iStochastic(NULL,0,kk,dd,slowing,MODE_SMA,0,MODE_MAIN,1));
Cc1=Close[2] < Close[1];
C2=Close[0] > Close[1];
C3=K>K1;
C4=D<UrovenUp;


//Условие цены покупки и продажи//
priceBuy=MarketInfo(Symbol(),MODE_ASK);
priceBuy2=MarketInfo(Symbol(),MODE_BID);


//условие на покупку//


{if (MY > Ich && Cc1 && C2 && C3 && C4)

//сама покупка и там же продажа//
{ticket=OrderSend(Symbol(),OP_BUY,Lots,priceBuy,3,priceBuy2-StopLoss*Point,priceBuy2+TakeProfit*Point,
"My bablo",123453,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}

}

}