Доработка ботов (советников, индикаторов) vol. 2

guardian4

Интересующийся
Всем привет
Помогите, пожалуйста, с очень простеньким совом. Открытие ордеров — по направлению свечи (если цена закрытия выше, чем цена открытия — buy, иначе sell) Закрывает ордер если на момент открытия новой свечи профит>0. Нужно вынести в настройки возможность отключить такое закрытие (тогда ордера закроются по СЛ или ТП)
 

Вложения

  • UpDn2.mq4
    6,7 КБ · Просмотры: 37
Последнее редактирование:

ko0la

Новичок форума
extern string In_=" Настройки входа";
extern bool ReverseSignal=false; // true - Переворачивать сигнал стратегии.
extern string trade_="Настройки торговли";
extern int Magic=777; // Магический номер
extern int StopLoss=0; // Стоплосс, 0 - не используется
extern int TakeProfit=0; // Тейкпрофит , 0 - не используется
extern int Slippage=0; // Проскальзывание
extern bool MarketWatch=false; // Режим торговли по MarketWatch true = сначала выставляются позиции/ордера без стопов, потом происходит модификация - для некоторых брокеров
extern bool ClosePosifChange=true; // Закрывать позиции при обратном сигнале
extern bool ONlyOnePosbySignal=true; // Играть только или бай и / или селл 1 позицией
extern string autolot_="Настройки автолота";
extern double Lots=0.1; // Фиксирвоанный лот
extern bool DynamicLot=false; // Динамический лот
extern double LotBalancePcnt=20; // % от депозита
extern double MinLot = 0.1; // Минимальный лот при расчете
extern double MaxLot = 5; // Максимальный лот при расчете
extern double Martin=1; // Если 1 то не используется, Коэффициент мартина на следующую сделку после убытончой

extern string timetrade_="Настройки времени торговли";
extern int OpenHour=0; // Час открытия торгов
extern int OpenMinute=0; // Минута открытия торгов
extern int CloseHour=23; // Час закрытия торгов
extern int CloseMinute=59; // Минута закрытия торгов
extern string Trailing_="Настройки трейлингстопа";
extern bool TrailingStopUSE=false; // Использовать трейлингстоп
extern bool IfProfTrail=false; // Использовать только дял профитных позиций - режим безубытка
extern int TrailingStop=0; // Дистанция трейлинга = 0 - минимально допустимый
extern int TrailingStep=1; // Шаг дистанции
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----

//----
return(0);
}

bool isCloseLastPosByStop(string sy="",int op=-1,int mn=-1)
{
datetime t;
double ocp,osl;
int dg,i,j=-1,k=OrdersHistoryTotal();

if(sy=="0") sy=Symbol();
for(i=0; i<k; i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
{
if(OrderSymbol()==sy || sy=="")
{
if(OrderType()==OP_BUY || OrderType()==OP_SELL)
{
if(op<0 || OrderType()==op)
{
if(mn<0 || OrderMagicNumber()==mn)
{
if(t<OrderCloseTime())
{
t=OrderCloseTime();
j=i;
}
}
}
}
}
}
}
if(OrderSelect(j,SELECT_BY_POS,MODE_HISTORY))
{
dg=MarketInfo(OrderSymbol(),MODE_DIGITS);
if(dg==0) if(StringFind(OrderSymbol(),"JPY")<0) dg=4; else dg=2;
ocp=NormalizeDouble(OrderClosePrice(), dg);
osl=NormalizeDouble(OrderStopLoss(), dg);
if(OrderProfit()<0) return(True);
}
return(False);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int IndicatorSignal()
{
int Sig=0;
int current_trend = -1;
for(int i=1;i<Bars;i++) {
double ExampleCustom_buy = iCustom(NULL,0,"DJX6 V7.2.8 LOCK",0,i);
double ExampleCustom_sell = iCustom(NULL,0,"DJX6 V7.2.8 LOCK",1,i);
if( ExampleCustom_buy!=EMPTY_VALUE) {
current_trend = 0;
break;
}
if( ExampleCustom_sell!=EMPTY_VALUE) {
current_trend = 1;
break;
}
}
//Указываем Сигналы:
{
if( ExampleCustom_buy <Ask)Sig=1; // Если МА ниже цены БИД - открываемся в бай
if( ExampleCustom_sell>Bid)Sig=2; // Если МА выше цены БИД - открываемся в селл

//1 - бай 2 - селл
return(Sig);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+


double Prof,Loss;

int timeCheckSignal; // Время открытия позиции
double sl,tp; // Для вычисления стопов
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{

int Signal; // Сигнал к открытию
//+------------------------------------------------------------------+
//Проверяем наличие торгового времени(разрешения на торговлю)
//+------------------------------------------------------------------+
bool Traiding=TDt(DoubleToStr(CloseHour,0),DoubleToStr(CloseMinute,0),DoubleToStr(OpenHour,0),DoubleToStr(OpenMinute,0));
//+------------------------------------------------------------------+
// Включение трейлингстопа:
//+------------------------------------------------------------------+
if(TrailingStopUSE)SimpleTrailing(Symbol(),-1,Magic);
// ==========================================================================================================================================================================================================
Signal=IndicatorSignal();

if(ReverseSignal)
{
if(Signal==1)Signal=2;
else if(Signal==2)Signal=1;
}

//+------------------------------------------------------------------+
// Если время торговли не истекло и мы не открывали позицию на этом баре:
//+------------------------------------------------------------------+

if(Traiding && timeCheckSignal!=Time[0])

{
{
//+------------------------------------------------------------------+
// Если сигнал на бай:
//+------------------------------------------------------------------+
if(Signal==1)// buy
{
//Вычисляем стоплосс
if(StopLoss!=0)sl=Bid-StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
if(TakeProfit!=0)tp=Ask+TakeProfit*Point; else tp=0;
//+------------------------------------------------------------------+
//Закрываем противоположную позицию
//+------------------------------------------------------------------+
if(ClosePosifChange)CPD(Symbol(),OP_SELL,Magic);
//+------------------------------------------------------------------+
//Открываем позицию
//+------------------------------------------------------------------+
if((ONlyOnePosbySignal && !EPs(Symbol(),OP_BUY,Magic)) || !ONlyOnePosbySignal)
{
OPs(Symbol(),OP_BUY,GetSizeLot(),sl,tp,Magic);
timeCheckSignal=Time[0];
}

}

//+------------------------------------------------------------------+
// Если сигнал на селл:
//+------------------------------------------------------------------+
if(Signal==2)// селл
{
//Вычисляем стоплосс
if(StopLoss!=0)sl=Ask+StopLoss*Point; else sl=0;
// ВЫчисляем тейкпрофит
if(TakeProfit!=0)tp=Bid-TakeProfit*Point; else tp=0;
//Закрываем противоположную позицию
if(ClosePosifChange)CPD(Symbol(),OP_BUY,Magic);
//+------------------------------------------------------------------+
//Открываем позицию
//+------------------------------------------------------------------+
if((ONlyOnePosbySignal && !EPs(Symbol(),OP_SELL,Magic)) || !ONlyOnePosbySignal)
{
OPs(Symbol(),OP_SELL,GetSizeLot(),sl,tp,Magic);
timeCheckSignal=Time[0];
}

}

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+

}

return(0);
}

Не торгует по сигналу индикатора( по стрелке) кто исправит этот советник
 
Последнее редактирование модератором:

saw

Элитный участник
Требуется помощь в доработке индикатора. Нужно поставить стрелки, когда появляется столбик либо красный, либо зеленый, главное отличный от синего. Стрелы на графике цены. Подробно на скриншоте. Если гисто сверху, значит стрелки вниз, а если снизу- то вверх. И поставить звуковое оповещение об появлении.EURUSDM15.png
 

Вложения

  • HaosVisual_mod.mq4
    5,4 КБ · Просмотры: 27

5avlyha

Интересующийся
Добрый день. Может у кого-то есть сова или робот, в котором можно выставить 3 тейк-профита.
Суть.
есть сигнал - 1 стоп и 3 тейка. Ставка 0.03.
1 ставка 0.03, дошла до 1 тейка - закриваеться 0.01 и переводиться в безубыток.
дошло до 2 тейка - закрылась ещё часть сделки 0.01, стоп перешол на позицию 1 тейка.
И так дальше.
И что-б можно было самому выставлять тейки и стопы
Извените за ошибки - плохо пишу по Русски.
 
Последнее редактирование:

MrGreen86

Гуру форума
Мне нужно чтобы он как можно быстрее выставлял ордера по индикатору : с повтором сигнала!!!пример закрылся по тейку бай цвет индикатора зелёный сразу открывает ордер на бай!
 

Вложения

  • cm AOoM martingel 2.mq4
    18,5 КБ · Просмотры: 31

MrGreen86

Гуру форума
Требуется помощь в доработке индикатора. Нужно поставить стрелки, когда появляется столбик либо красный, либо зеленый, главное отличный от синего. Стрелы на графике цены. Подробно на скриншоте. Если гисто сверху, значит стрелки вниз, а если снизу- то вверх. И поставить звуковое оповещение об появлении.Посмотреть вложение 418544
т.е. любой столбик после синего, красный или зеленый, верно? следующая стрелка возможна только если были синие столбики, так?
 

MrGreen86

Гуру форума
Всем привет
Помогите, пожалуйста, с очень простеньким совом. Открытие ордеров — по направлению свечи (если цена закрытия выше, чем цена открытия — buy, иначе sell) Закрывает ордер если на момент открытия новой свечи профит>0. Нужно вынести в настройки возможность отключить такое закрытие (тогда ордера закроются по СЛ или ТП)
у него там и нет такого закрытия.
 

saw

Элитный участник
т.е. любой столбик после синего, красный или зеленый, верно? следующая стрелка возможна только если были синие столбики, так?
Можномне понаглеть? Может еще звуковое появление стрелок добавить? И возможность изменения их цвета?
 

MrGreen86

Гуру форума
Благодарю! У меня нет почему-то может из-за альповской платформы.
Нет разницы в платформах. Только картиночка + некоторые докидывают торговую панель.
Есть версии платформ и компилятора. Обновите и будет компилироваться.
Актуальная версия компилятора МТ4:
SNAG-0039.png
узнать свою версию: справка - о программе.
 

juror

Гуру форума
Здравствуйте! Нужна помощь, значение из строки 115(pp=10*Point) добавить в настройки, чтоб была возможность регулировать ширину зоны на разных парах. Пробовал сам, но при загрузки индикатора появлялись и тут же исчезали. Нет знаний:(.
 

Вложения

  • zones_of_interest_rates_mangold_custom_date2.mq4
    11,7 КБ · Просмотры: 23
  • уровниEURUSD.set
    213 байт · Просмотры: 15

AlexeNP

Гуру форума
Здравствуйте! Нужна помощь, значение из строки 115(pp=10*Point) добавить в настройки, чтоб была возможность регулировать ширину зоны на разных парах. Пробовал сам, но при загрузки индикатора появлялись и тут же исчезали. Нет знаний:(.
 

Вложения

  • zones_of_interest_rates_mangold_custom_date2.mq4
    11,8 КБ · Просмотры: 54

MERFY

Местный житель
Добрый день! Прошу добавить параметр GMT, чтобы АTR дневной хода рассчитывался с учетом смещения в часах +1+2 и тд... Спасибо!
 

Вложения

  • ATR_MY.mq4
    15,1 КБ · Просмотры: 28
Верх