SMC MaxMin at 1200
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «smc hilo v1.1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой советник (Expert Advisor) для платформы MetaTrader 4, написанный на языке MQL4. Основное назначение — автоматическая постановка отложенных ордеров BUYSTOP и SELLSTOP на графике в заданный час торговой сессии.
Советник проверяет количество баров на графике (не менее 100) и корректность входных параметров перед началом работы. Также осуществляется проверка свободного маржа на счёте для защиты от недостаточных средств.
В коде реализован механизм трейлинг-стопа для управления открытыми позициями как по направлению LONG, так и SHORT. При достижении определённой прибыли позиции стоп-лосс перемещается вверх по ходу цены.
В исходном коде присутствуют заблокированные условные блоки (неактивные ветви), предназначенные для модификации и закрытия ордеров по техническим правилам, однако в текущей версии они не выполняются.
Поиск по коду файла
double TakeProfit = 500;
double Lots = 0.1;
double InitialStop = 10;
double TrailingStop = 30;
int SetHour = 15;
int cnt,total,ticket,MinDist;
int SigPos;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int Flag;
double Spread;
double ATR;
double StopMA;
int cnt, tmp;
double SetupHigh, SetupLow;
Spread=(Ask-Bid);
if(Bars<100){
Print("bars less than 100");
return(0);
}
if(TakeProfit<10){
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
StopMA=iMA(NULL,0,24,0,MODE_SMA,PRICE_CLOSE,0);
if (TimeHour(CurTime()) == SetHour+1)
{
if (total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol())
{OrderDelete ( OrderTicket() );
} } }}
if(0==1)
{
total=OrdersTotal();
if (total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{
if(OrderStopLoss() < OrderOpenPrice())
{
if (OrderStopLoss() < Bid -(Point*(MinDist*2)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid -(Point*(2*MinDist)),OrderTakeProfit(),0,Lime);
}}}
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
{
if(OrderStopLoss() > OrderOpenPrice())
{
if (OrderStopLoss() > Ask + (Point*(MinDist*2)))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(Point*(MinDist*2)),OrderTakeProfit(),0,Lime);
}}}
}}}
total=OrdersTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{
if(0==1)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // close LONG position
return(0);
}}
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL && OrderSymbol()==Symbol()) // check for symbol
{
if(0==1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // close SHORT position
return(0);
}}
} // for loop return
} // close 1st if
total=OrdersTotal();
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,White);
Print("Long S/L Should be modified here ",OrderStopLoss()," ",Bid-Point*TrailingStop," ",Bid);
}}}}}}
total=OrderПоказано первые 50% кода (символов: 4538)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.