#1176
vrank пробуй.

Engulfing_mod1.mq427 скач.

#1177


vrank пробуй.


Спасибо огромное, сейчас работает как надо!

Можете ли добавить параллельно с алертом отправку push уведомлений (достатоно наименовании пары в сообщении)?
#1178

Можете ли добавить параллельно с алертом отправку push уведомлений

Пробуй.

Engulfing_mod1.mq414 скач.

#1179


Можете ли добавить параллельно с алертом отправку push уведомлений

Пробуй.


Привет, все работает как надо, очень благодарен

Добавлено: 25-02-2019 06:12:59


Можете ли добавить параллельно с алертом отправку push уведомлений

Пробуй.


В ходе тестов понял что Push - уведомления, не то пальто... если 3 сигнала подряд, индюк уведомления не отправляет (вернее 1 из 3х, остальное блокирует).
Пробобовал тупо в коде поменять Sendnotification на Sendmail , чтобы отправка шла на почту, но при компилировании дает ошибку...
В программировании нуб, хотелось бы заменить Отправку PUSH на отправку MAIL(в тексте сообщения так же достаточно только название инструмента)
Прошу еще раз прощения за беспокойство) это крайний раз)

Изменено 25 февраля, 2019 пользователем vrank

#1180

Пробуй с мылом

Engulfing_mod1.mq420 скач.

#1181


Пробуй с мылом



работает, как часы ;)
#1182

Я создал индикатор, который рисует прямоугольники.
EA перехватывает последние 2 прямоугольники.
После закрытия 1 или 2 позиций, советник перестает корректно захватывать прямоугольники. Индикатор также начинает работать неправильно...

Ошибок нет в журнале...

Если я не открываю позиции, советник и индикатор работает правильно !!!

Я программирую в течение 5 лет и это в первый раз происходит.

Я понятия не имею, где возникает проблем.

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

Спасибо !!! :(

Это код советника:

void F4ZZR_Check()
{
for(int i_F4Z_1=ObjectsTotal(0,0,OBJ_RECTANGLE); i_F4Z_1>=0 && !IsStopped(); i_F4Z_1--)
{
string ObjName_F4Z_1=ObjectName(i_F4Z_1);
if(StringSubstr(ObjName_F4Z_1,0,L_3_F4Z_EA)==Id_Name_F4Z_EA_B || StringSubstr(ObjName_F4Z_1,0,L_4_F4Z_EA)==Id_Name_F4Z_EA_S)
{
datetime ObjTime2_F4Z_1=(datetime)ObjectGet(ObjName_F4Z_1,OBJPROP_TIME2); //EndTime
int Obj_N_bars_F4Z_1=iBarShift(Symb,F4ZZ_Show_TF,ObjTime2_F4Z_1); //MTF candles from EndTime
if(Obj_N_bars_F4Z_1==4) //If EndTime of Rectangle 1 = 4 bar
{
if(F4ZZR_1_ObjName!=ObjName_F4Z_1) //If New Object
{
F4ZZR_1_ObjName=ObjName_F4Z_1; //Name for Object 1 (Actual)
for(int r=Bars-7; r>=5 && !IsStopped(); r--) //Find new Object 2 - start from bar 5
{
for(int i_F4Z_2=ObjectsTotal(0,0,OBJ_RECTANGLE); i_F4Z_2>=0 && !IsStopped(); i_F4Z_2--)
{
string ObjName_F4Z_2=ObjectName(i_F4Z_2);
if(StringSubstr(ObjName_F4Z_2,0,L_3_F4Z_EA)==Id_Name_F4Z_EA_B || StringSubstr(ObjName_F4Z_2,0,L_4_F4Z_EA)==Id_Name_F4Z_EA_S)
{
datetime ObjTime2_F4Z_2=(datetime)ObjectGet(ObjName_F4Z_2,OBJPROP_TIME2); //EndTime
int Obj_N_bars_F4Z_2=iBarShift(Symb,F4ZZ_Show_TF,ObjTime2_F4Z_2); //MTF candles from EndTime
if(Obj_N_bars_F4Z_2==r) //If EndTime of Rectangle 2 = "r" bar
{
F4ZZR_2_ObjName=ObjName_F4Z_2; //Name for Object 2 (Previw)
break;
}
}
else continue;
}
}
break;
}
else break;
}
}
else continue;
}

Obj_Line_Stile_1_Act=(int)ObjectGet(F4ZZR_1_ObjName,OBJPROP_STYLE); // Dashed line is closed Object 1 (Actual)
Obj_Line_Stile_2_Pre=(int)ObjectGet(F4ZZR_2_ObjName,OBJPROP_STYLE); // Dashed line is closed Object 2 (Preview)

if(StringSubstr(F4ZZR_1_ObjName,0,L_4_F4Z_EA)==Id_Name_F4Z_EA_S) //For Object 1 (Actual) if "Sell"
{
if(Obj_Line_Stile_1_Act!=0) //If Object 1 (Actual) is Dashed line
{
F4ZZR_1_Sig_Act="Buy"; // Signal "Buy" for Object 1 (Actual)
}
else F4ZZR_1_Sig_Act="Sell"; // Signal "Sell" for Object 1 (Actual)
}
if(StringSubstr(F4ZZR_1_ObjName,0,L_3_F4Z_EA)==Id_Name_F4Z_EA_B) //For Object 1 (Actual) if "Buy"
{
if(Obj_Line_Stile_1_Act!=0) //If Object 1 (Actual) is Dashed line
{
F4ZZR_1_Sig_Act="Sell"; // Signal "Sell" for Object 1 (Actual)
}
else F4ZZR_1_Sig_Act="Buy"; // Signal "Buy" for Object 1 (Actual)
}

if(StringSubstr(F4ZZR_2_ObjName,0,L_4_F4Z_EA)==Id_Name_F4Z_EA_S) //For Object 2 (Preview) if "Sell"
{
if(Obj_Line_Stile_2_Pre!=0) //If Object 2 (Preview) is Dashed line
{
F4ZZR_2_Sig_Pre="Buy"; // Signal "Buy" for Object 2 (Preview)
}
else F4ZZR_2_Sig_Pre="Sell"; // Signal "Sell" for Object 2 (Preview)
}
if(StringSubstr(F4ZZR_2_ObjName,0,L_3_F4Z_EA)==Id_Name_F4Z_EA_B) ////For Object 2 (Preview) if "Buy"
{
if(Obj_Line_Stile_2_Pre!=0) //If Object 2 (Preview) is Dashed line
{
F4ZZR_2_Sig_Pre="Sell"; // Signal "Sell" for Object 2 (Preview)
}
else F4ZZR_2_Sig_Pre="Buy"; // Signal "Buy" for Object 2 (Preview)
}

if((F4ZZR_1_Sig_Act=="Sell" && F4ZZR_2_Sig_Pre=="Sell") || (F4ZZR_1_Sig_Act=="Buy" && F4ZZR_2_Sig_Pre=="Buy"))
{
if(F4ZZR_1_Sig_Act=="Sell" && F4ZZR_2_Sig_Pre=="Sell")
{
F4ZZR_Pr_1_Act=ObjectGet(F4ZZR_1_ObjName,OBJPROP_PRICE1);
F4ZZR_Pr_2_Act=ObjectGet(F4ZZR_1_ObjName,OBJPROP_PRICE2);
if(Obj_Line_Stile_1_Act==0) F4ZZR_SL_Pr_1_Act=NormalizeDouble(F4ZZR_Pr_1_Act+(F4ZZR_SL*Point),Digits); //For Sell 1
else F4ZZR_SL_Pr_1_Act=NormalizeDouble(F4ZZR_Pr_2_Act+(F4ZZR_SL*Point),Digits); //For Sell 1

F4ZZR_Pr_1_Pre=ObjectGet(F4ZZR_2_ObjName,OBJPROP_PRICE1);
F4ZZR_Pr_2_Pre=ObjectGet(F4ZZR_2_ObjName,OBJPROP_PRICE2);
if(Obj_Line_Stile_2_Pre==0) F4ZZR_SL_Pr_1_Pre=NormalizeDouble(F4ZZR_Pr_1_Pre+(F4ZZR_SL*Point),Digits); //For Sell 2
else F4ZZR_SL_Pr_1_Pre=NormalizeDouble(F4ZZR_Pr_2_Pre+(F4ZZR_SL*Point),Digits); //For Sell 2
}
if(F4ZZR_1_Sig_Act=="Buy" && F4ZZR_2_Sig_Pre=="Buy")
{
F4ZZR_Pr_1_Act=ObjectGet(F4ZZR_1_ObjName,OBJPROP_PRICE1);
F4ZZR_Pr_2_Act=ObjectGet(F4ZZR_1_ObjName,OBJPROP_PRICE2);
if(Obj_Line_Stile_1_Act==0) F4ZZR_SL_Pr_1_Act=NormalizeDouble(F4ZZR_Pr_1_Act-(F4ZZR_SL*Point),Digits); //For Buy 1
else F4ZZR_SL_Pr_1_Act=NormalizeDouble(F4ZZR_Pr_2_Act-(F4ZZR_SL*Point),Digits); //For Buy 1

F4ZZR_Pr_1_Pre=ObjectGet(F4ZZR_2_ObjName,OBJPROP_PRICE1);
F4ZZR_Pr_2_Pre=ObjectGet(F4ZZR_2_ObjName,OBJPROP_PRICE2);
if(Obj_Line_Stile_2_Pre==0) F4ZZR_SL_Pr_1_Pre=NormalizeDouble(F4ZZR_Pr_1_Pre-(F4ZZR_SL*Point),Digits); //For Buy 2
else F4ZZR_SL_Pr_1_Pre=NormalizeDouble(F4ZZR_Pr_2_Pre-(F4ZZR_SL*Point),Digits); //For Buy 2
}
}
else
{
F4ZZR_Pr_1_Act=0.0;
F4ZZR_Pr_2_Act=0.0;
F4ZZR_SL_Pr_1_Act=0.0;

F4ZZR_Pr_1_Pre=0.0;
F4ZZR_Pr_2_Pre=0.0;
F4ZZR_SL_Pr_1_Pre=0.0;
}

}


И экраны:

Screenshot.png
Screenshot_1.png
Screenshot_2.png

Изменено 8 марта, 2019 пользователем SStanly

#1183
SStanly очень мало информации.
советник вызывает индикатор или только ищет объекты на графике?
прямоугольники рассчитываются независимо или между ними есть связь?
ордера открываются на каждом объекте или есть ещё условия и ордер может не открыться?
#1184

ObjectName(0,i_F4Z1_1,0,OBJ_RECTANGLE), а не то, что у Вас в 5-ой строке, должно быть.
Дальше не стал смотреть.

#1185

Здравствуйте,

1. Советник только ищет объекты на графике.

2. Прямоугольники рассчитываются независимо.

3. Нет проблем с открытия ордера.

Проблема возникает после открытия / закрытия 2-3 ордера. Не на первой сделке!!!

При запуске все нормально - я установливаю индикатор и советник. Советник открывает и закрывает несколько позиций и затем начинает регистрировать только прямоугольники для покупки ("Buy" - синие прямоугольники).
Я это показал на последние два экрана.
Сначала думал, что какой-то цикл в советнике не заканчивается, но я их все проверил...
Я переписал код индикатора несколько раз... проблем остается...
Переписал код советнике для поиска прямоугольники под разными логики... проблем остается...

Я просто не могу увидеть связь между открытие и закрытие ордеров и нарушение функции подсчета последние два прямоугольника (код функции, который я дал).


Добавлено: 08-03-2019 22:57:38

StringSubstr



StringSubstr(ObjName_F4Z_1, 0, L_3_F4Z_EA)

StringSubstr - Извлекает подстроку из текстовой строки, начинающейся c указанной позиции.

L_3_F4Z_EA - указавает позиции.



Добавлено: 08-03-2019 23:29:43

Это часть кода советнике для открытия ордера:

               if(F4ZZR_Pr_2_Pre>F4ZZR_Pr_2_Act) 
{

if(F4ZZR_Pr_1_Act>=F4ZZR_Pr_2_Pre)
{

Lots=Lots_Next; //0.02 lots
SL_for_Mod_New=NormalizeDouble(F4ZZR_SL_Pr_1_Pre,Digits);

if(Ask>=F4ZZR_Pr_2_Act)
{
CountOrders();
if(CountOrdersSell==0 && CountOrdersSellLimit==0)
{
if(CountOrdersBuy!=0) Close_Orders(OP_BUY);
Open_Orders(OP_SELL,0,SL_for_Mod_New,EmExit_for_Mod);
}

if(NormalizeDouble((F4ZZR_Pr_2_Pre-PenDirection_for_Mod)-Bid,Digits)>=NormalizeDouble(F4ZZR_SL*Point,Digits))
{
CountOrders();
if(CountOrdersSell==1 && CountOrdersSellLimit==0)
{
PenDirection_for_Mod_New=NormalizeDouble((F4ZZR_Pr_2_Pre-PenDirection_for_Mod)-Bid,Digits);
Open_Orders(OP_SELLLIMIT,PenDirection_for_Mod_New,SL_for_Mod_New,EmExit_for_Mod);
}
}
}
else if(F4ZZR_Pr_2_Act>Ask)
{
if(NormalizeDouble((F4ZZR_Pr_2_Act-PenDirection_for_Mod)-Bid,Digits)>NormalizeDouble(F4ZZR_SL*Point,Digits))
{
CountOrders();
if(CountOrdersSell==0 && CountOrdersSellLimit==0)
{
PenDirection_for_Mod_New=NormalizeDouble((F4ZZR_Pr_2_Act-PenDirection_for_Mod)-Bid,Digits);
Open_Orders(OP_SELLLIMIT,PenDirection_for_Mod_New,SL_for_Mod_New,EmExit_for_Mod);
}
}

if(NormalizeDouble((F4ZZR_Pr_2_Pre-PenDirection_for_Mod)-Bid,Digits)>NormalizeDouble(F4ZZR_SL*Point,Digits))
{
CountOrders();
if(CountOrdersSell==0 && CountOrdersSellLimit==1)
{
PenDirection_for_Mod_New=NormalizeDouble((F4ZZR_Pr_2_Pre-PenDirection_for_Mod)-Bid,Digits);
Open_Orders(OP_SELLLIMIT,PenDirection_for_Mod_New,SL_for_Mod_New,EmExit_for_Mod);
}
}
}

}


и код функции для открытия ордеров:

void Open_Orders(int TypeOrder,double PenDirection=0.0,double SL=0.0,double EmExit=0.0)
{
OpenPrice=0; PenEx=0;
double New_PenDir=0.0,Ask_Open=0.0,Bid_Open=0.0;

double New_SL=SL,New_EmExit=EmExit;
ModSL=0.0;

string Text;
while(true && !IsStopped())
{
bool OpOdrers=false;

New_PenDir=PenDirection;

Minimal_Distance();

if(!IsTesting() && !IsOptimization())
{
int CountErrServer=0,CountMaxErrServer=10;
while(IsTradeContextBusy()==true && CountErrServer {
CountErrServer+=1;
Print("Send_Orders : IsTradeContextBusy() Errors = ",CountErrServer);
Sleep(50);
}
RefreshRates();
}

Ask_Open=Ask;
Bid_Open=Bid;

switch(TypeOrder)
{
case 0: //для ордер Buy.
{
OpenPrice=Ask_Open;
PenEx=0;

if(New_SL!=0.0)
{
if((OpenPrice-New_SL)>Min_Dist && (Bid_Open-Min_Dist)>New_SL) ModSL=New_SL;
else
{
ModSL=Bid_Open-Min_Dist-New_EmExit;
Print("BuyOrder emergency exit StopLoss at : ",DoubleToStr(ModSL,Digits));
}
}

Text="Buy";
OpOdrers=true;
break;
}
case 1: //для ордер Sell.
{
OpenPrice=Bid_Open;
PenEx=0;

if(New_SL!=0.0)
{
if((New_SL-OpenPrice)>Min_Dist && (Ask_Open+Min_Dist) else
{
ModSL=Ask_Open+Min_Dist+New_EmExit;
Print("SellOrder emergency exit StopLoss at : ",DoubleToStr(ModSL,Digits));
}
}

Text="Sell";
OpOdrers=true;
break;
}
case 2: //для ордер BuyLimit.
{
OpenPrice=Ask_Open-New_PenDir;
if(Ask_Open-OpenPrice {
OpenPrice-=EmExit_for_Mod;
Alert(Symb+", The price for opening BuyLimit is corrected with Emergency Exit.");
if(Ask_Open-OpenPrice {
Alert(Symb+", The price for opening BuyLimit does not meet the requirements of MQL4.");
break;
}
}

if(New_SL!=0.0)
{
if((OpenPrice-New_SL)>Min_Dist) ModSL=New_SL;
else
{
ModSL=Bid_Open-Min_Dist-New_EmExit;
Print("BuyOrder emergency exit StopLoss at : ",DoubleToStr(ModSL,Digits));
}
}

PenEx=(Pending_Expiration==0) ? 0 :(TimeCurrent()+60*Pending_Expiration);
Text="BuyLimit";
OpOdrers=true;
break;
}
case 3: //для ордер SellLimit.
{
OpenPrice=Bid_Open+New_PenDir;
if(OpenPrice-Bid_Open {
OpenPrice+=EmExit_for_Mod;
Alert(Symb+", The price for opening SellLimit is corrected with Emergency Exit.");
if(OpenPrice-Bid_Open {
Alert(Symb+", The price for opening SellLimit does not meet the requirements of MQL4.");
break; //Изход от цикъла "switch".
}
}

if(New_SL!=0.0)
{
if((New_SL-OpenPrice)>Min_Dist) ModSL=New_SL;
else
{
ModSL=Ask_Open+Min_Dist+New_EmExit;
Print("SellOrder emergency exit StopLoss at : ",DoubleToStr(ModSL,Digits));
}
}

PenEx=(Pending_Expiration==0) ? 0 :(TimeCurrent()+60*Pending_Expiration);
Text="SellLimit";
OpOdrers=true;
break;
}
case 4: //для ордерр BuyStop.
{
OpenPrice=Ask_Open+New_PenDir;
if(OpenPrice-Ask_Open {
OpenPrice+=EmExit_for_Mod;
Alert(Symb+", The price for opening BuyStop is corrected with Emergency Exit.");
if(OpenPrice-Ask_Open {
Alert(Symb+", The price for opening BuyStop does not meet the requirements of MQL4.");
break; //Изход от цикъла "switch".
}
}

if(New_SL!=0.0)
{
if((OpenPrice-New_SL)>Min_Dist) ModSL=New_SL;
else
{
ModSL=Bid_Open-Min_Dist-New_EmExit;
Print("BuyOrder emergency exit StopLoss at : ",DoubleToStr(ModSL,Digits));
}
}

PenEx=(Pending_Expiration==0) ? 0 :(TimeCurrent()+60*Pending_Expiration);
Text="BuyStop";
OpOdrers=true;
break;
}
case 5: //для ордер SellStop.
{
OpenPrice=Bid_Open-New_PenDir;
if(Bid_Open-OpenPrice {
OpenPrice-=EmExit_for_Mod;
Alert(Symb+", The price for opening SellStop is corrected with Emergency Exit.");
if(Bid_Open-OpenPrice {
Alert(Symb+", The price for opening SellStop does not meet the requirements of MQL4.");
break; //Изход от цикъла "switch".
}
}

if(New_SL!=0.0)
{
if((New_SL-OpenPrice)>Min_Dist) ModSL=New_SL;
else
{
ModSL=Ask_Open+Min_Dist+New_EmExit;
Print("SellOrder emergency exit StopLoss at : ",DoubleToStr(ModSL,Digits));
}
}

PenEx=(Pending_Expiration==0) ? 0 :(TimeCurrent()+60*Pending_Expiration);
Text="SellStop";
OpOdrers=true;
break;
}
}

if(OpOdrers==false) break;
//---------------------------------------------------
if(TypeOrder==OP_BUY || TypeOrder==OP_SELL)
{
Print("The Order ",Text," request was sent to the server. Waiting for reply...");
int Ticket=OrderSend(Symb,TypeOrder,Lots,NormalizeDouble(OpenPrice,Digits),Slippage_for_Open,NormalizeDouble(ModSL,Digits),0,"My order",MagicNumber,PenEx,clrGreen);
if(Ticket>-1)
{
if(Alerts==true)
{
Alert(Symb,", Order ",Text," # ",Ticket,". Trade is Opening...");
if(Alert_Sound_for_Open!="")
{
PlaySound(Alert_Sound_for_Open);
}
}
if(ScreenShots==true)
{
string Info=Symb+"_"+(string)Ticket+"_"+"Open_"+Text+".gif";
ChartScreenShot(0,Info,1920,1080,ALIGN_RIGHT);
}
break;
}
else
{
int CheckError;
CheckError=GetLastError();
if(CheckError!=ERR_NO_ERROR)
{
if(Fun_Order_Error(GetLastError())==1) continue;
else if(Fun_Order_Error(GetLastError())==0) break;
}
}
}
else
{
Print("The Order ",Text," request was sent to the server. Waiting for reply...");
int Ticket=OrderSend(Symb,TypeOrder,Lots,NormalizeDouble(OpenPrice,Digits),Slippage_for_Open,NormalizeDouble(ModSL,Digits),0,"My order",MagicNumber,PenEx,clrGreen);
if(Ticket>-1)
{
if(Alerts==true)
{
Alert(Symb,", Order ",Text," # ",Ticket,". Trade is Opening...");
if(Alert_Sound_for_Open!="")
{
PlaySound(Alert_Sound_for_Open);
}
}
if(ScreenShots==true)
{
string Info=Symb+"_"+(string)Ticket+"_"+"Open_"+Text+".gif";
ChartScreenShot(0,Info,1920,1080,ALIGN_RIGHT);
}
break;
}
else
{
int CheckError;
CheckError=GetLastError();
if(CheckError!=ERR_NO_ERROR)
{
if(Fun_Order_Error(GetLastError())==1) continue;
else if(Fun_Order_Error(GetLastError())==0) break;
}
}
}
}
}


:)

Изменено 9 марта, 2019 пользователем SStanly

#1186

string ObjName_F4Z_1=ObjectName(i_F4Z_1); - Вы получаете имя i-го графического объекта на графике, а там, после открытия/закрытия ордеров, последними уже стрелки идут, а Вам нужен перебор только по прямоугольникам.


Добавлено: 09-03-2019 05:04:54

У Вас получается следующее. Количество итераций в цикле перебора графических объектов у Вас равно количеству прямоугольников. Запрос же имени объекта у Вас из списка всех объектов. После открыти и закрытия ордеров в списке объектов находятся стрелки, поэтому последние прямоугольники уже никогдс алгоритмом не обрабатываются. Без обид, но для 5-ти летнего опыта, странно такие баги самому не найти.

Изменено 9 марта, 2019 пользователем ZloyZam

#1187


string ObjName_F4Z_1=ObjectName(i_F4Z_1); - Вы получаете имя i-го графического объекта на графике, а там, после открытия/закрытия ордеров, последними уже стрелки идут, а Вам нужен перебор только по прямоугольникам.


Добавлено: 09-03-2019 05:04:54

У Вас получается следующее. Количество итераций в цикле перебора графических объектов у Вас равно количеству прямоугольников. Запрос же имени объекта у Вас из списка всех объектов. После открыти и закрытия ордеров в списке объектов находятся стрелки, поэтому последние прямоугольники уже никогдс алгоритмом не обрабатываются. Без обид, но для 5-ти летнего опыта, странно такие баги самому не найти.


Спасибо !!!
Никогда не поздно делать глупые ошибки ...
:d
#1188

Всем привет!
Попрошу умеющих модернизировать стандартный индикатор Volumes для мт5.
Мне нужно чтобы столбик объема окрашивался в отличный от основного цвет при условии, что он больше каждого из четырех, указанных мной в настройках.
Заранее благодарю)

Изменено 20 марта, 2019 пользователем ashpi

#1189

Доброго времени суток. Помогите пож. прикрутить алерт к индикатору

NSNDHistory_arrows.mq412 скач.

#1190

Доброго времени суток. Помогите пож. прикрутить алерт к индикатору


Приветствую.

NSNDHistory_arrows.mq419 скач.

#1191

Всем бобра! Усть один очень симпатичный индикатор, Professional Trend Indicator.ex4, его даже продают за приемлемые деньги на wereallytrade, но так и не получилось договориться его подправить для применения в автоматической торговле.
Есть сломанная версия, но опять же в формате ex4.
Так вот, насколько актуальна сейчас декомпиляция сломанной версии, абы вырезать все навороты для ручной торговли и поменять константы?
Есть ли у кого приблуда для декомпиляции, может даже за приемлемую цену?

#1192

Есть ли у кого приблуда для декомпиляции, может даже за приемлемую цену?

приблуд нет, последняя умерла года 2 назад. Вырезать навороты не получится, поменять константы в принципе возможно, но нужно искать хакера и платить деньги. Подсказать не смогу.
#1193


Всем бобра! Усть один очень симпатичный индикатор, Professional Trend Indicator.ex4, его даже продают за приемлемые деньги на wereallytrade, но так и не получилось договориться его подправить для применения в автоматической торговле.
Есть сломанная версия, но опять же в формате ex4.
Так вот, насколько актуальна сейчас декомпиляция сломанной версии, абы вырезать все навороты для ручной торговли и поменять константы?
Есть ли у кого приблуда для декомпиляции, может даже за приемлемую цену?


А связаться с разработчиками, заказать им изменения, заплатить копеечку и пользоваться в свое удовольствие не пробовали? Или по "русски" халяву, дайте халяву? Хак дороже по любому выйдет.
#1194

Ув. прогеры помогите с алертом. так то он сигналит но не пишет на какой паре ... в оповещении пишет start long/Short.

Индикатор_WPRSI_signal6SoundAlarmf.mq413 скач.

#1195


Ув. прогеры помогите с алертом. так то он сигналит но не пишет на какой паре ... в оповещении пишет start long/Short.


Готово. Всего то нужно подставить валютную пару до кавычек _Symbol, чтоб получилось так Alert(_Symbol+" WPRSI: Start Long"). И добавил название индикатора.
Да команду PlaySound() совместно с Alert() бессмысленно ставить.
PlaySound() Воспроизводит звуковой файл.
Alert() Воспроизводит звуковой файл и отображает диалоговое окно, содержащее пользовательские данные.

Индикатор_WPRSI_signal6SoundAlarmf.mq424 скач.

#1196

Здравствуйте! Помогите, пожалуйста с алертом! Индикатор BetterVolume 1.4 нужен алерт на E-mail о появлении свечи раскрашенной в белый или красный цвет (завершенной свечи) и возможностью запрещать или разрешать в меню отправку по одному и другому сигналу. Тестил из подборки с сайта индикаторы. Одни трезвонят на каждую свечу о смене цвета или направления (BetterVolume 1.5 Alerts nmc), другие сигналят там где свечи не окрашивались (BetterVolume 1.4_Alert).

BetterVolume_1.4.mq44 скач.

#1197


Здравствуйте! Помогите, пожалуйста с алертом! Индикатор BetterVolume 1.4 нужен алерт на E-mail о появлении свечи раскрашенной в белый или красный цвет (завершенной свечи) и возможностью запрещать или разрешать в меню отправку по одному и другому сигналу.


Приветствую. Готово.

BetterVolume_1.4.mq418 скач.

#1198

Всем привет. уважаемые программисты, переделайте пожалуйста индикатор под MT5

ZZ_NRP_AA_LB_TT_x3.mq413 скач.

#1199

Добрый день, уважаемые программисты сделайте пожалуйста, чтобы звуковой и визуальный сигнал в индикаторе появлялся сразу после появления сигнальной стрелки, сейчас сигнал появляется после закрытия свечи. Спасибо!!!

DeltaForce_Indicator.mq419 скач.

#1200

Привет всем!
Хочу получить сигнал в момент проставления стрелки в индикаторе BAMSBUNG-NO REPAINT, но почему-то у меня все время одно и тоже число, а стрелки проставляются.

Подскажите как мне получить данный сигнал?

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025