Laser300
Активный участник
Выложите норм рабочую версию пожалуйста.ок, понял.
Выложите норм рабочую версию пожалуйста.ок, понял.
Ребята сделайте пожалуйста этому индикатору id.....а то не хочет второй ставится индикатор....
Посмотреть вложение 368897
Здравствуйте! Сделайте, пожалуйста, чтобы в этом индикаторе был прописан EmptyValue. Индикатор хороший стрелочник, можно попробовать собрать системку из него, для чего и надо этот EmptyValue
Вот советник по немуЗдравствуйте! Сделайте, пожалуйста, чтобы в этом индикаторе был прописан EmptyValue. Индикатор хороший стрелочник, можно попробовать собрать системку из него, для чего и надо этот EmptyValue
Спасибо вам Mobidik огромное за проделанную работу...вы не смогли бы сделать и к этому индикатору такую же функцию как в индикаторе BidRatio ....я пробовал в ставить в код строку (sinput string TXT = "CM_BR"; // ID) у меня к сожалению ничего не получилось.....еще раз спасибо....
Посмотреть вложение 368945
Что значит: "какое-то нулевое значение"? Это чему равно или по проще спрошу - это сколько?mobidik
У EMPTY_VALUE должно быть какое-то нулевое значение.
результат на скрине.Сделайте, пожалуйста, чтобы в этом индикаторе был прописан EmptyValue.
Выложите норм рабочую версию пожалуйста.
Саня, Моби , не кипятись ... чел просто походу не в теме что EMPTY_VALUE это совсем не нулевое значение и не отрицательное значение .... А вполне себе положительное числовое выражение.... 2147483647 (0x7FFFFFFF)Что значит: "какое-то нулевое значение"? Это чему равно или по проще спрошу - это сколько?
Вы просили:
результат на скрине.
PS.
То, что разные не нулевые значения у индюков - следствие заданного отступа стрелок от баров - проверить самостоятельно.
И да, так же по гуглить значения Empty и EmptyValue.
Извиняюсь,но выбор направлению торговли прошу оставить(1-торгуем в СЕЛЛ,0-торгуем талько в БАЙ),думал применять в настройках советника Long only и Short only,но тогда советник будет работать некорректно.Уважаемые программисты!
Доработайте пожалуйста советник.
В оригинале советник открывает сделки,в зависимости от выбранного направления(1-только селл,0-только бай),после сработки тейка или стоп лосса,следующая позиция сразу же открывается лотом,умноженным на KLot от предыдущего.(Если StopTake=0,то после СЛ,если StopTake=1,то после ТП)
Мне необходимо следущее:
1)Советник должен открывать позиции,в соответствии с встроенным в терминал индикатором МА(соответственно нужно добавить настройки МА в бот,а выбор направления сделки убрать)
2)Сделки советник должен открывать(строго на открытии нового бара,а не сразу после закрытия предыдущей позиции),если цена ниже МА,то советник открывает сделку в БАЙ,если выше МА,то в СЕЛЛ!
Если закрылись в профит,то сл сделка открывается предыдущим лотом,если закрылись в лосс,то сл сделка открывается с умножением КLot.Если StopTake=1,то наоборот умножаем лот после профита!
Заранее благодарен!
for(i=OrdersTotal(); i>=0; i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
pos++;
if(OrderType()==OP_SELL)
pos++;
}
}
double wpr21 = iWPR(Symbol(),0,21,0);
double wpr55 = iWPR(Symbol(),0,55,0);
double wpr77 = iWPR(Symbol(),0,77,0);
double wpr277 = iWPR(Symbol(),0,277,0);
if(wpr21>Vverh && wpr55>Vverh && wpr77>Vverh && wpr277>Vverh)
{
RefreshRates();
if(StopLoss>0)
sl=NormalizeDouble(Bid+StopLoss*Point,Digits);
if(TakeProfit>0)
tp=NormalizeDouble(Bid-TakeProfit*Point,Digits);
ticket = OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,sl,tp,"",Magic,0,Red);
Alert("Открылась сделка на Sell");
if(ticket<0)
{
Print("Позиция Sell не открылась, ошибка: ",GetLastError());
return;
}
}
if(wpr21<Vniz && wpr55<Vniz && wpr77<Vniz && wpr277<Vniz)
{
RefreshRates();
if(StopLoss>0)
sl=NormalizeDouble(Ask-StopLoss*Point,Digits);
if(TakeProfit>0)
tp=NormalizeDouble(Ask+TakeProfit*Point,Digits);
ticket = OrderSend(Symbol(),OP_BUY,Lot,Ask,Slippage,sl,tp,"",Magic,0,Blue);
Alert("Открылась сделка на Buy");
if(ticket<0)
{
Print("Позиция Buy не открылась, ошибка: ",GetLastError());
return;
}
}
}
смотрим строки 7-10Здравствуйте. Помогите пожалуйста, уже долго бьюсь над одним вопросом. Есть 4 индикатора WPR с разными параметрами и когда они сходятся в нижней границе они дают сигнал на покупку и их может быть несколько. Нужно чтобы ордер открывался на каждом сигнале . А у меня получается только одна сделка. Что нужно подправить в коде, чтобы это исправить?
На рис показано: В - открытие сделок, 1 - одно закрытие всех сделок.
Код:for(i=OrdersTotal(); i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) pos++; if(OrderType()==OP_SELL) pos++; } } double wpr21 = iWPR(Symbol(),0,21,0); double wpr55 = iWPR(Symbol(),0,55,0); double wpr77 = iWPR(Symbol(),0,77,0); double wpr277 = iWPR(Symbol(),0,277,0); if(wpr21>Vverh && wpr55>Vverh && wpr77>Vverh && wpr277>Vverh) { RefreshRates(); if(StopLoss>0) sl=NormalizeDouble(Bid+StopLoss*Point,Digits); if(TakeProfit>0) tp=NormalizeDouble(Bid-TakeProfit*Point,Digits); ticket = OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,sl,tp,"",Magic,0,Red); Alert("Открылась сделка на Sell"); if(ticket<0) { Print("Позиция Sell не открылась, ошибка: ",GetLastError()); return; } } if(wpr21<Vniz && wpr55<Vniz && wpr77<Vniz && wpr277<Vniz) { RefreshRates(); if(StopLoss>0) sl=NormalizeDouble(Ask-StopLoss*Point,Digits); if(TakeProfit>0) tp=NormalizeDouble(Ask+TakeProfit*Point,Digits); ticket = OrderSend(Symbol(),OP_BUY,Lot,Ask,Slippage,sl,tp,"",Magic,0,Blue); Alert("Открылась сделка на Buy"); if(ticket<0) { Print("Позиция Buy не открылась, ошибка: ",GetLastError()); return; } } }