TDSGlobal-4hr
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tdsglobal.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
TDSGlobal-4hr — торговый советник для платформы MetaTrader 4, основанный на системе Triple Screen Александра Элдера. Советник анализирует ценовые данные на часовом таймфрейме, используя технические индикаторы для определения направления рынка и формирования торговых сигналов.
Продукт поддерживает размещение отложенных ордеров (Buy Limit, Sell Limit) с последующим управлением позициями, включая трейлинг-стоп и фиксацию прибыли. Встроена система управления рисками с автоматическим расчётом размера лота на основе баланса счёта.
Советник работает на таймфрейме H4 и использует данные дневного графика для дополнительных проверок. Перед открытием позиции проверяется наличие свободной маржи, а при недостаточном уровне торговля приостанавливается.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Лот — Размер лота для торговых операций. |
| TakeProfit | Тейкпрофит — Величина тейк-профита в пунктах. |
| Stoploss | Стоплосс — Величина стоп-лосса в пунктах. |
| TrailingStop | Трейлингстоп — Величина трейлинг-стопа в пунктах для управления защитным ордером. |
| Slippage (Slippage) | Проскальзывание — Допустимое проскальзывание при исполнении ордеров. |
Поиск по коду файла
extern int Lots=1;
extern int TakeProfit=150;
extern int Stoploss=35;
extern int TrailingStop=30;
extern int Slippage=5; // Slippage
int BuyEntryOrderTicket=0,SellEntryOrderTicket=0,cnt=0,total=0,h,m,risk=20,mm=1;
double MacdCurrent=0, MacdPrevious=0, MacdPrevious2=0, Direction=0, OsMAPrevious=0, OsMAPrevious2=0, OsMADirection=0;
double O1,H1,L1,H2,L2,newbar=0;
double PriceOpen=0,lotMM;
double ForcePos=0, ForceNeg=0, Force=0,NewPrice=0;
bool First=True;
bool hasatrade=false;
datetime prevtime=0;
int start()
{
// код доступен только после оплаты
}
h=TimeHour(CurTime());
m=TimeMinute(CurTime());
H1=iHigh(NULL,1440,1);
L1=iLow(NULL,1440,1);
H2=iHigh(NULL,1440,2);
L2=iLow(NULL,1440,2);
MacdPrevious =iMACD(NULL,240,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
MacdPrevious2=iMACD(NULL,240,12,26,9,PRICE_CLOSE,MODE_MAIN,2);
OsMAPrevious =iOsMA(NULL,240,12,26,9,PRICE_CLOSE,1);
OsMAPrevious2=iOsMA(NULL,240,12,26,9,PRICE_CLOSE,2);
Force=iForce(NULL,240,24,MODE_EMA,PRICE_CLOSE,1);
ForcePos=iForce(NULL,240,24,MODE_EMA,PRICE_CLOSE,1) > 0;
ForceNeg=iForce(NULL,240,24,MODE_EMA,PRICE_CLOSE,1) < 0;
/* Comment("TSD_1hr for MT4 ver beta 0.2 - DO NOT USE WITH REAL MONEY YET",
"\n",
"MT4 time (hr:mm): ",h,":",m,
"\n",
"\n","MacdPrevious = ",MacdPrevious," OsMAPrevious = ",OsMAPrevious,
"\n","MacdPrevious2 = ",MacdPrevious2," OsMAPrevious2 = ",OsMAPrevious2,
"\n",
"\n","Direction = ",Direction," OsMADirection = ",OsMADirection,
"\n",
"\n","Daily Force = ",Force,
"\n","Is Daily Force Bullish = ",ForcePos,
"\n","Is Daily Force Bearish = ",ForceNeg,
"\n",
"\n","Total Orders = ",total,
"\n",
"\n","Daily High[1] = ",H1,
"\n","Daily High[2] = ",H2,
"\n","Daily Low[1] = ",L1,
"\n","Daily Low[2] = ",L2,
"\n",
"\n","Current Ask Price + 16 pips = ",Ask+(16*Point),
"\n","Current Bid Price - 16 pips = ",Bid-(16*Point));
*/
if(Bars<50)
{
Print("bars less than 50");
return(0);
}
if(prevtime==Time[0]) return(0); // Always start at the new bar
prevtime=Time[0];
if (mm!=0)
{
lotMM=(MathCeil(AccountBalance() * risk/12000)/10);
if (lotMM < 0.1) lotMM=Lots;
if (lotMM > 1.0) lotMM=MathCeil(lotMM);
}
else lotMM=Lots;
total=OrdersTotal();
hasatrade=false;
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol()) // we have open orders
hasatrade=true;
if(OrderSymbol()==Symbol() && OrderType()==OP_BUYLIMIT)
{
if(OsMADirection==-1)
{
OrderDelete(OrderTicket());
return(0);
} // close for if(Direction == -1)
} // close for if(OrderSymbol()==Symbol() && OrderType()==OP_BUYSTOP)
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLLIMIT)
{
if(OsMADirection==1)
{
OrderDelete(OrderTicket());
return(0);
} //close for if(Direction == 1)
} //close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP)
if(OrderSymbol()==Symbol() && OrderType()==OP_BUYLIMIT)
{
if(Low[1] > Low[2])
{
if(Low[1] < (Bid - 16 * Point))
{
OrderModify(OrderTicket(),Low[1] - 1 * Point,High[1] + 1 * Point,OrderTakeProfit(),0,Cyan);
return(0);
} // close for if(Low[1] < (Bid - 16 * Point))
else
{
OrderModify(OrderTicket(),Bid - 16 * Point,High[1] + 1 * Point,OrderTakeProfit(),0,Cyan);
return(0);
} //close for else statement
} //close for if(Low[1] > Low[2])
} //close for if(OrderSymbol()==Symbol() && OrderType()==OP_SELLSTOP
if(OrderSymbol()==Symbol() && OrderType()==OP_SELLLIMIT)
{
if(High[1] < High[2])
{
if(High[1] > (Ask + 16 * Point))
{
OrderModify(OrderTicket(),High[1] + 1 * Point,Low[1] -Показано первые 50% кода (символов: 6045)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.