ПОИСК СОВЕТНИКОВ [кто ищет, пишем здесь]

Статус
Закрыто для дальнейших ответов.

Yury48

Почетный гражданин
Pipsdey

На каком тайм-фрейме работает лучше всего советник Pipsdey?
А, в принципе, его торговлю можно копировать с демо на реал через копировщик.
 
Последнее редактирование:

Сервик

Активный участник
Ищу сова - усреднителя, который открывал бы сделки с заданным шагом, заданным лотом и с отдельным тейком на каждый ордер.
Может быть попадался кому-нибудь подобный, просьба поделиться.
 

22abcdf

Заблокирован
Советник MA MACD turbo у кого нибудь бесплатный есть. На буржуйском сайте 300$ стоит. На одном из ихних форумах читал - у всех кто приобрел отзывы просто супер. Плиз если у кого есть бесплатный сбросьте.
 

Yury48

Почетный гражданин
Советник MA MACD turbo у кого нибудь бесплатный есть. На буржуйском сайте 300$ стоит. На одном из ихних форумах читал - у всех кто приобрел отзывы просто супер. Плиз если у кого есть бесплатный сбросьте.
Скиньте сюда адрес сайта с этим советником.
 

22abcdf

Заблокирован
Забанят - у меня уже на этом сайте проблемы были. По гуглите и найдете. Если бесплатный у кого есть скиньте.
 

nik8181

Почетный гражданин
Советник MA MACD turbo у кого нибудь бесплатный есть. На буржуйском сайте 300$ стоит. На одном из ихних форумах читал - у всех кто приобрел отзывы просто супер. Плиз если у кого есть бесплатный сбросьте.

Вот код последней версии, справишься?:rolf:
//+------------------------------------------------------------------+
//| MACD Turbo v1.2.mq4 |
//| for GBP/USD H1 optimized 2012 |
//| FREE EA based on |
//| |
//| MACD Sample.mq4 |
//| Copyright � 2005, MetaQuotes Software Corp. |
//| _http://www.metaquotes.net/ |
//| |
//| MACD Sample - Turbo v1.0 |
//| MACD Sample - Turbo v1.1a |
//| MACD Sample - Turbo v1.1b |
//| re-coded by XeroFX - _http://www.xerofx.com/_ |
//| |
//| MACD Sample - Turbo v1.1 |
//| re-coded by Tjipke de Vries |
//| |
//| We disclaim all copyright interest. Thank you. |
//+------------------------------------------------------------------+

extern string s1 = "== Basic Settings ==";
extern double StopLoss = 310;
extern double TakeProfit = 90;
extern double TrailingStop = 50;
extern double TrailingStep = 5;
extern double ReverseTP = 10;
extern string s2 = "== Money Management ==";
extern double Lots = 0.1;
extern bool UseMM = FALSE;
extern double PercentageMM = 1.5;
extern string s3 = "== Signal Logic ==";
extern double MACDOpenLevel = 3;
extern double MACDCloseLevel = 2;
extern double MATrendPeriod = 24;
extern string s4 = "== Time Filters == ";
extern string UseTradingHours = "Time Control ( 1 = True, 0 = False )";
extern int TimeControl = 1;
extern string TimeZone = "Adjust ServerTimeZone if Required";
extern int ServerTimeZone = 0;
extern string TradingTimes = "HourStopGMT > HourStartGMT";
extern int HourStartGMT = 8;
extern int HourStopGMT = 20;
extern string DontTradeFriday = "Dont Trade After FridayFinalHourGMT";
extern bool UseFridayFinalTradeTime = TRUE;
extern int FridayFinalHourGMT = 6;
extern string s5 = "== Extra Settings ==";
extern int SlipPage = 3;
extern int MagicNumber = 10042;
extern string TradeComment = "MACD Turbo v1.2";

int checkorder=1;
double Points,SL,TP;

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+

// 4 or 5 Digit Broker Account Recognition
void HandleDigits()
{
// Automatically Adjusts to Full-Pip and Sub-Pip Accounts
if (Digits == 4 || Digits == 2)
{
SlipPage = SlipPage;
Points = Point;
}

if (Digits == 5 || Digits == 3)
{
SlipPage = SlipPage*10;
Points = Point*10;
}
}

// Lots Sizes and Automatic Money Management
double GetLots()
{
if (UseMM)
{
double a, maxLot, minLot;
a = (PercentageMM * AccountFreeMargin() / 100000);
double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
maxLot = MarketInfo(Symbol(), MODE_MAXLOT );
minLot = MarketInfo(Symbol(), MODE_MINLOT );
a = MathFloor(a / LotStep) * LotStep;
if (a > maxLot) return(maxLot);
else if (a < minLot) return(minLot);
else return(a);
}
else return(Lots);
}

//----------------------- PRINT COMMENT FUNCTION
void subPrintDetails()
{
string sComment = "";
string SP = " ----------------------------------------\n";
string NL = "\n";
string sDirection = "";
double OrderSize = GetLots();
string gs_376;

TradeSession();

if (TradeSession())gs_376 = "Trading...";
else gs_376 = "Non-Trading Time";

sComment = "MACD Turbo v1.2" + NL;
sComment = sComment + NL;
sComment = sComment + "Magic Number " + DoubleToStr(MagicNumber,0)+ NL;
sComment = sComment + "StopLoss " + DoubleToStr(StopLoss,0) + " | ";
sComment = sComment + "TakeProfit " + DoubleToStr(TakeProfit,0) + " | ";
sComment = sComment + "TrailingStop " + DoubleToStr(TrailingStop,0) + NL;
sComment = sComment + "Date: " + Month() +"-"+Day()+"-"+Year()+" Server Time: " + TimeToStr(TimeCurrent(), TIME_SECONDS) + NL;
sComment = sComment + "GMT Time: " + TimeToStr((TimeCurrent()+ (( 0 - ServerTimeZone) * 3600)), TIME_SECONDS) + NL;
sComment = sComment + "ServerTimeZone: " + ServerTimeZone + " (TimeZone)" + NL;
sComment = sComment + SP;
sComment = sComment + gs_376 + NL;
sComment = sComment + "Lot Size " + DoubleToStr(OrderSize,2) + NL;
Comment(sComment);
}

//+------------------------------------------------------------------+
bool TradeSession() {
int Hour_Start_Trade;
int Hour_Stop_Trade;

Hour_Start_Trade = HourStartGMT + ServerTimeZone;
Hour_Stop_Trade = HourStopGMT + ServerTimeZone;
if (Hour_Start_Trade < 0)Hour_Start_Trade = Hour_Start_Trade + 24;
if (Hour_Start_Trade >= 24)Hour_Start_Trade = Hour_Start_Trade - 24;
if (Hour_Stop_Trade > 24)Hour_Stop_Trade = Hour_Stop_Trade - 24;
if (Hour_Stop_Trade <= 0)Hour_Stop_Trade = Hour_Stop_Trade + 24;
if ((UseFridayFinalTradeTime && (Hour()>=FridayFinalHourGMT + ServerTimeZone) && DayOfWeek()==5)||DayOfWeek()==0)return (FALSE); // Friday Control
if((TimeControl(Hour_Start_Trade,Hour_Stop_Trade)!=1 && TimeControl==1 && Hour_Start_Trade<Hour_Stop_Trade)
|| (TimeControl(Hour_Stop_Trade,Hour_Start_Trade)!=0 && TimeControl==1 && Hour_Start_Trade>Hour_Stop_Trade)
||TimeControl==0)return (TRUE); // "Trading Time";
return (FALSE); // "Non-Trading Time";
}
//+------------------------------------------------------------------+

int TimeControl(int StartHour, int EndHour)
{
if (Hour()>=StartHour && Hour()< EndHour)
{
return(0);
}
return(1);
}

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious, MaCurrent, MaPrevious;
int cnt, ticket, total;
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external
// variables (Lots, StopLoss, TakeProfit,
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars

if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
// to simplify the coding and speed up access
// data are put into internal variables
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);

HandleDigits();
subPrintDetails();
total=OrdersTotal();

if(checkorder<1)
{
// if no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("You dont have enough money. Free Margin = ", AccountFreeMargin());
return(0);
}
// check for long position (BUY) possibility
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Points) && MaCurrent>MaPrevious && TradeSession())
{
ticket=OrderSend(Symbol(),OP_BUY,GetLots(),Ask,SlipPage,0,0,TradeComment,MagicNumber,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("BUY order opened : ",OrderOpenPrice());
checkorder=checkorder+1;
}
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
// check for short position (SELL) possibility
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDOpenLevel*Points) && MaCurrent<MaPrevious && TradeSession())
{
ticket=OrderSend(Symbol(),OP_SELL,GetLots(),Bid,SlipPage,0,0,TradeComment,MagicNumber,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("SELL order opened : ",OrderOpenPrice());
checkorder=checkorder+1;
}
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
if(checkorder>0)
{
checkorder=0;
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol()&& // check for symbol
OrderMagicNumber()==MagicNumber) // check the Magic Number
{
if(OrderType()==OP_BUY) // go to long position
{
checkorder=checkorder+1;
// should it be closed?
if(Bid-OrderOpenPrice()>ReverseTP*Points && MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDCloseLevel*Points))
{
OrderClose(OrderTicket(),OrderLots(),Bid,SlipPage,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Points*TrailingStop)
{
if(OrderStopLoss()<Bid-Points*(TrailingStop+TrailingStep))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Points*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
// modify OrderStopLoss and OrderTakeProfit for Buy
if(OrderStopLoss()==0 && OrderTakeProfit()==0 && (StopLoss>0||TakeProfit>0))
{
SL = OrderStopLoss();
if (StopLoss>0) {SL =(OrderOpenPrice() - (StopLoss*Points));}
TP = OrderTakeProfit();
if (TakeProfit>0) {TP =(OrderOpenPrice() + (TakeProfit*Points));}

OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,Green);
return(0);
}
}
if(OrderType()==OP_SELL) // go to short position
{
checkorder=checkorder+1;
// should it be closed?
if((OrderOpenPrice()-Ask)>(ReverseTP*Points) && MacdCurrent<0 && MacdCurrent>SignalCurrent &&
MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*Points))
{
OrderClose(OrderTicket(),OrderLots(),Ask,SlipPage,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Points*TrailingStop))
{
if((OrderStopLoss()>(Ask+Points*(TrailingStop+TrailingStep))) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Points*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
// modify OrderStopLoss and OrderTakeProfit for Sell
if(OrderStopLoss()==0 && OrderTakeProfit()==0 && (StopLoss>0||TakeProfit>0))
{
SL = OrderStopLoss();
if (StopLoss>0) {SL =(OrderOpenPrice() + (StopLoss*Points));}
TP = OrderTakeProfit();
if (TakeProfit>0) {TP =(OrderOpenPrice() - (TakeProfit*Points));}

OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,Red);
return(0);
}
}
}
}
}
return(0);
}
// the end.
 
Последнее редактирование модератором:

Alex7730

Почетный гражданин
Вот код последней версии, справишься?:rolf:
//+------------------------------------------------------------------+
//| MACD Turbo v1.2.mq4 |
//| for GBP/USD H1 optimized 2012 |
//| FREE EA based on |
//| |
//| MACD Sample.mq4 |
//| Copyright � 2005, MetaQuotes Software Corp. |
//| _http://www.metaquotes.net/ |
//| |
//| MACD Sample - Turbo v1.0 |
//| MACD Sample - Turbo v1.1a |
//| MACD Sample - Turbo v1.1b |
//| re-coded by XeroFX - _http://www.xerofx.com/_ |
//| |
//| MACD Sample - Turbo v1.1 |
//| re-coded by Tjipke de Vries |
//| |
//| We disclaim all copyright interest. Thank you. |
//+------------------------------------------------------------------+

extern string s1 = "== Basic Settings ==";
extern double StopLoss = 310;
extern double TakeProfit = 90;
extern double TrailingStop = 50;
extern double TrailingStep = 5;
extern double ReverseTP = 10;
extern string s2 = "== Money Management ==";
extern double Lots = 0.1;
extern bool UseMM = FALSE;
extern double PercentageMM = 1.5;
extern string s3 = "== Signal Logic ==";
extern double MACDOpenLevel = 3;
extern double MACDCloseLevel = 2;
extern double MATrendPeriod = 24;
extern string s4 = "== Time Filters == ";
extern string UseTradingHours = "Time Control ( 1 = True, 0 = False )";
extern int TimeControl = 1;
extern string TimeZone = "Adjust ServerTimeZone if Required";
extern int ServerTimeZone = 0;
extern string TradingTimes = "HourStopGMT > HourStartGMT";
extern int HourStartGMT = 8;
extern int HourStopGMT = 20;
extern string DontTradeFriday = "Dont Trade After FridayFinalHourGMT";
extern bool UseFridayFinalTradeTime = TRUE;
extern int FridayFinalHourGMT = 6;
extern string s5 = "== Extra Settings ==";
extern int SlipPage = 3;
extern int MagicNumber = 10042;
extern string TradeComment = "MACD Turbo v1.2";

int checkorder=1;
double Points,SL,TP;

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+

// 4 or 5 Digit Broker Account Recognition
void HandleDigits()
{
// Automatically Adjusts to Full-Pip and Sub-Pip Accounts
if (Digits == 4 || Digits == 2)
{
SlipPage = SlipPage;
Points = Point;
}

if (Digits == 5 || Digits == 3)
{
SlipPage = SlipPage*10;
Points = Point*10;
}
}

// Lots Sizes and Automatic Money Management
double GetLots()
{
if (UseMM)
{
double a, maxLot, minLot;
a = (PercentageMM * AccountFreeMargin() / 100000);
double LotStep = MarketInfo(Symbol(), MODE_LOTSTEP);
maxLot = MarketInfo(Symbol(), MODE_MAXLOT );
minLot = MarketInfo(Symbol(), MODE_MINLOT );
a = MathFloor(a / LotStep) * LotStep;
if (a > maxLot) return(maxLot);
else if (a < minLot) return(minLot);
else return(a);
}
else return(Lots);
}

//----------------------- PRINT COMMENT FUNCTION
void subPrintDetails()
{
string sComment = "";
string SP = " ----------------------------------------\n";
string NL = "\n";
string sDirection = "";
double OrderSize = GetLots();
string gs_376;

TradeSession();

if (TradeSession())gs_376 = "Trading...";
else gs_376 = "Non-Trading Time";

sComment = "MACD Turbo v1.2" + NL;
sComment = sComment + NL;
sComment = sComment + "Magic Number " + DoubleToStr(MagicNumber,0)+ NL;
sComment = sComment + "StopLoss " + DoubleToStr(StopLoss,0) + " | ";
sComment = sComment + "TakeProfit " + DoubleToStr(TakeProfit,0) + " | ";
sComment = sComment + "TrailingStop " + DoubleToStr(TrailingStop,0) + NL;
sComment = sComment + "Date: " + Month() +"-"+Day()+"-"+Year()+" Server Time: " + TimeToStr(TimeCurrent(), TIME_SECONDS) + NL;
sComment = sComment + "GMT Time: " + TimeToStr((TimeCurrent()+ (( 0 - ServerTimeZone) * 3600)), TIME_SECONDS) + NL;
sComment = sComment + "ServerTimeZone: " + ServerTimeZone + " (TimeZone)" + NL;
sComment = sComment + SP;
sComment = sComment + gs_376 + NL;
sComment = sComment + "Lot Size " + DoubleToStr(OrderSize,2) + NL;
Comment(sComment);
}

//+------------------------------------------------------------------+
bool TradeSession() {
int Hour_Start_Trade;
int Hour_Stop_Trade;

Hour_Start_Trade = HourStartGMT + ServerTimeZone;
Hour_Stop_Trade = HourStopGMT + ServerTimeZone;
if (Hour_Start_Trade < 0)Hour_Start_Trade = Hour_Start_Trade + 24;
if (Hour_Start_Trade >= 24)Hour_Start_Trade = Hour_Start_Trade - 24;
if (Hour_Stop_Trade > 24)Hour_Stop_Trade = Hour_Stop_Trade - 24;
if (Hour_Stop_Trade <= 0)Hour_Stop_Trade = Hour_Stop_Trade + 24;
if ((UseFridayFinalTradeTime && (Hour()>=FridayFinalHourGMT + ServerTimeZone) && DayOfWeek()==5)||DayOfWeek()==0)return (FALSE); // Friday Control
if((TimeControl(Hour_Start_Trade,Hour_Stop_Trade)!=1 && TimeControl==1 && Hour_Start_Trade<Hour_Stop_Trade)
|| (TimeControl(Hour_Stop_Trade,Hour_Start_Trade)!=0 && TimeControl==1 && Hour_Start_Trade>Hour_Stop_Trade)
||TimeControl==0)return (TRUE); // "Trading Time";
return (FALSE); // "Non-Trading Time";
}
//+------------------------------------------------------------------+

int TimeControl(int StartHour, int EndHour)
{
if (Hour()>=StartHour && Hour()< EndHour)
{
return(0);
}
return(1);
}

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious, MaCurrent, MaPrevious;
int cnt, ticket, total;
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external
// variables (Lots, StopLoss, TakeProfit,
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars

if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
// to simplify the coding and speed up access
// data are put into internal variables
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);

HandleDigits();
subPrintDetails();
total=OrdersTotal();

if(checkorder<1)
{
// if no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("You dont have enough money. Free Margin = ", AccountFreeMargin());
return(0);
}
// check for long position (BUY) possibility
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Points) && MaCurrent>MaPrevious && TradeSession())
{
ticket=OrderSend(Symbol(),OP_BUY,GetLots(),Ask,SlipPage,0,0,TradeComment,MagicNumber,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("BUY order opened : ",OrderOpenPrice());
checkorder=checkorder+1;
}
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
// check for short position (SELL) possibility
if(MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDOpenLevel*Points) && MaCurrent<MaPrevious && TradeSession())
{
ticket=OrderSend(Symbol(),OP_SELL,GetLots(),Bid,SlipPage,0,0,TradeComment,MagicNumber,0,Red);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
{
Print("SELL order opened : ",OrderOpenPrice());
checkorder=checkorder+1;
}
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
if(checkorder>0)
{
checkorder=0;
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol()&& // check for symbol
OrderMagicNumber()==MagicNumber) // check the Magic Number
{
if(OrderType()==OP_BUY) // go to long position
{
checkorder=checkorder+1;
// should it be closed?
if(Bid-OrderOpenPrice()>ReverseTP*Points && MacdCurrent>0 && MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious &&
MacdCurrent>(MACDCloseLevel*Points))
{
OrderClose(OrderTicket(),OrderLots(),Bid,SlipPage,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Points*TrailingStop)
{
if(OrderStopLoss()<Bid-Points*(TrailingStop+TrailingStep))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Points*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
// modify OrderStopLoss and OrderTakeProfit for Buy
if(OrderStopLoss()==0 && OrderTakeProfit()==0 && (StopLoss>0||TakeProfit>0))
{
SL = OrderStopLoss();
if (StopLoss>0) {SL =(OrderOpenPrice() - (StopLoss*Points));}
TP = OrderTakeProfit();
if (TakeProfit>0) {TP =(OrderOpenPrice() + (TakeProfit*Points));}

OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,Green);
return(0);
}
}
if(OrderType()==OP_SELL) // go to short position
{
checkorder=checkorder+1;
// should it be closed?
if((OrderOpenPrice()-Ask)>(ReverseTP*Points) && MacdCurrent<0 && MacdCurrent>SignalCurrent &&
MacdPrevious<SignalPrevious && MathAbs(MacdCurrent)>(MACDCloseLevel*Points))
{
OrderClose(OrderTicket(),OrderLots(),Ask,SlipPage,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Points*TrailingStop))
{
if((OrderStopLoss()>(Ask+Points*(TrailingStop+TrailingStep))) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Points*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
// modify OrderStopLoss and OrderTakeProfit for Sell
if(OrderStopLoss()==0 && OrderTakeProfit()==0 && (StopLoss>0||TakeProfit>0))
{
SL = OrderStopLoss();
if (StopLoss>0) {SL =(OrderOpenPrice() + (StopLoss*Points));}
TP = OrderTakeProfit();
if (TakeProfit>0) {TP =(OrderOpenPrice() - (TakeProfit*Points));}

OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,Red);
return(0);
}
}
}
}
}
return(0);
}
// the end.
 
Последнее редактирование:

nik8181

Почетный гражданин
Молодчина, сам бы сделал да нет возможности, чем смог тем и помог!!!
 

lovebrain

Интересующийся
Добрый день!
Помогите найти советника-копира, который бы копировал обратные сделки с одного торгового счета на другой. И, следовательно, если на первом счете бай с определенным ТП и СЛ, то на копируемом счете это селл по той же цене, где ТП стал СЛ, а СЛ стал ТП
 

22abcdf

Заблокирован
Спасибо но это не тот, там был MA MACD turbo - он не только macd но и машку использует. Дословное название именно MA MACD turbo.
 

Alex7730

Почетный гражданин
_http://www.forexexclusive.ru/en/advisors/profitable-expert-advisors/450-sovetnik-forex-ma-macd-turbo.html только не за 300 здесь,а всего за полтинник зеленых.
 

utu

Интересующийся
ищу... Exp - UTS v 2.0 (Эксперт)
_http://www.mqlsoft.net/shop/3/desc/exp-uts-v-1-2
 
Последнее редактирование модератором:
Статус
Закрыто для дальнейших ответов.
Верх