Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 582
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте.
Как-то так, пробуйте.
Как-то так, пробуйте.
Нет Вы не поняли задание.
Нужно Способ передавать либо имя переменной либо значение переменной в зависимости от ситуации.
Можно ли одной переменной присвоить несколько значений?
что-то в этом роде
int N=(1;2;5;9;15;19)
Можно ли одной переменной присвоить несколько значений?
что-то в этом роде
int N=(1;2;5;9;15;19)
Или ты имел ввиду массив объявить? Тогда int N[6] = {1, 2, 5, 9, 15, 19};
Я такими массивами не пользуюсь, если в чём-то ошибся знающие поправят...
А как потом разобраться какое значение надо использовать?
Или ты имел ввиду массив объявить? Тогда int N[6] = {1, 2, 5, 9, 15, 19};
Я такими массивами не пользуюсь, если в чём-то ошибся знающие поправят...
Спасибо! Думаю это использовать в тестах как ограничению торговли в определенные дни месяца. if(Day()==N[6]) !trade;
Здравствуйте!Помогите пожалуйста...
Как можно создать окошко на графике,в котором можно будет разместить отрезок этого же графика,зная время начала и конца отрезка.
Спасибо...
Здравствуйте, помогите дополнить советник мартингейлом, что бы при убыточной сделки следующая открывалась с удвоенным лотом относительно предыдущей.
//+------------------------------------------------------------------+
//| Test3.mq4 |
//| Попов Владимир |
//| http://vk.com/id143715412 |
//+------------------------------------------------------------------+
#property copyright "Попов Владимир"
#property link "http://vk.com/id143715412"
extern double Lots = 0.1;
extern int TakeProfit = 130;
extern int StopLoss = 80;
extern int Slippage = 5;
extern string comment = "Tma bot";
extern int Magic = 123;
extern string Indi = "Данные индикатора";
extern string TimeFrame = "current time frame";
extern int HalfLength = 20;
extern int Price = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern int ATRPeriod = 100;
extern bool Interpolate = true;
extern int Indent = 5;
extern int KPeriod =5;
extern int DPeriod =3;
extern int Slowing =3;
double PriceHigh, PriceLow, SL, TP, PriceMiddle, PriceBuy, StochasticHigh, StochasticLow, PriceSell;
double HighesBuffer[];
double LowesBuffer[];
int ticket1, ticket2;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if (Digits == 3 || Digits == 5)
{
TakeProfit *= 10;
StopLoss *= 10;
Slippage *= 10;
}
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
PriceHigh = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0);
PriceLow = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0);
PriceMiddle = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 0, 0);
double lots, Lot;
if (Bid >= PriceHigh && CountSell() == 0)
{
SL = NormalizeDouble(Bid+StopLoss*Point, Digits);
TP = NormalizeDouble(Bid-TakeProfit*Point, Digits);
ticket1 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Red);
if (ticket1 > 0)
{
if(OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket1, OrderOpenPrice(), SL, TP, 0);
PriceBuy = NormalizeDouble(OrderOpenPrice() + Indent*Point, Digits);
}
ticket2 = OrderSend(Symbol(), OP_BUYSTOP, Lots, PriceBuy, Slippage, 0, 0, comment, Magic, 0, Green);
if (ticket2 > 0)
{
if (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==true)
{
SL = NormalizeDouble(PriceBuy - StopLoss * Point, Digits);
TP = NormalizeDouble(PriceBuy + TakeProfit * Point, Digits);
OrderModify(ticket2, OrderOpenPrice(), SL, TP, 0);
}
}
}
if(Ask <= PriceLow && Ask <= StochasticLow && CountBuy() == 0)
{
SL = NormalizeDouble(Ask-StopLoss*Point, Digits);
TP = NormalizeDouble(Ask+TakeProfit*Point, Digits);
ticket1 = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue);
if (ticket1 > 0)
{
if(OrderSelect(ticket1, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket1, OrderOpenPrice(), SL, TP, 0);
PriceSell = NormalizeDouble(OrderOpenPrice() - Indent*Point, Digits);
}
ticket2 = OrderSend(Symbol(), OP_SELLSTOP, Lots, PriceSell, Slippage, 0, 0, comment, Magic, 0, Orange);
if (ticket2 > 0)
{
if (OrderSelect(ticket2, SELECT_BY_TICKET, MODE_TRADES)==true)
{
SL = NormalizeDouble(PriceSell + StopLoss * Point, Digits);
TP = NormalizeDouble(PriceSell - TakeProfit * Point, Digits);
OrderModify(ticket2, OrderOpenPrice(), SL, TP, 0);
}
}
}
if (Ask <= PriceMiddle && CountSell() > 0)
{
for(int i=OrdersTotal()-1; i >=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black);
}
}
}
if (Bid >= PriceMiddle && CountBuy() > 0)
{
for(i=OrdersTotal()-1; i >=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Green);
}
}
}
return(0);
}
//+------------------------------------------------------------------+
int CountBuy()
{
int count = 0;
for (int tr = OrdersTotal()-1; tr >= 0; tr --)
{
OrderSelect(tr, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_BUY)
count++;
}
}
return (count);
}
//+------------------------------------------------------------------+
int CountSell()
{
int count = 0;
for (int tr= OrdersTotal()-1; tr >= 0; tr --)
{
OrderSelect(tr, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_SELL)
count++;
}
}
return (count);
}
А как потом разобраться какое значение надо использовать?
Или ты имел ввиду массив объявить? Тогда int N[6] = {1, 2, 5, 9, 15, 19};
Я такими массивами не пользуюсь, если в чём-то ошибся знающие поправят...
int N[6] = {1, 2, 5, 9, 15, 19};
if(Day()==N[6]) !trade;
Однако такое предложение не сработало - array out of range... Testing pass stopped due to a critical error in the EA.
int N[6] = {1, 2, 5, 9, 15, 19};
if(Day()==N[6]) !trade;
Однако такое предложение не сработало - array out of range... Testing pass stopped due to a critical error in the EA.