Termos de Referência
В этот код надо вставить функцию закрытия сделки. На следующем пересечении основной и сигнальной линией.
#property description "Советник открывает позиции по сигналам стохастика"
//--------------------------------------------------------------------*/
extern int KPeriod = 5;
extern int DPeriod = 3;
extern int Slowing = 3;
extern int LevelSell = 75;
extern int LevelBuy = 25;
extern int Stoploss = 50; //стоплосс
extern int Takeprofit = 50; //тейкпрофит
extern int TrailingStop = 10; //трейлингстоп, если 0, то нет трейлинга
extern double Lot = 0.05; //лот
extern int slippage = 5; // проскальзывание
extern int Magic = 0;
//--------------------------------------------------------------------
//--------------------------------------------------------------------
double STOPLEVEL;
//-------------------------------------------------------------------
void OnTick()
{
if (!IsTradeAllowed())
{
return;
}
STOPLEVEL=MarketInfo(Symbol(),MODE_STOPLEVEL);
double OSL,OTP,OOP,StLo=0,SL=0,TP=0;
int i,b=0,s=0,tip;
for (i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if (OrderSymbol()==Symbol() && Magic==OrderMagicNumber())
{
tip = OrderType();
OSL = NormalizeDouble(OrderStopLoss(),Digits);
OTP = NormalizeDouble(OrderTakeProfit(),Digits);
OOP = NormalizeDouble(OrderOpenPrice(),Digits);
SL=OSL;TP=OTP;
if (tip==OP_BUY)
{
b++;
if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0)
{
SL = NormalizeDouble(OOP - Stoploss * Point,Digits);
}
if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0)
{
TP = NormalizeDouble(OOP + Takeprofit * Point,Digits);
}
if (TrailingStop>=STOPLEVEL && TrailingStop!=0)
{
StLo = NormalizeDouble(Bid - TrailingStop*Point,Digits);
if (StLo >= OOP && StLo > OSL) SL = StLo;
}
if (SL != OSL || TP != OTP)
{
if (!OrderModify(OrderTicket(),OOP,SL,TP,0,clrNONE)) Print("Error OrderModify <<",(GetLastError()),">> ");
}
}
if (tip==OP_SELL)
{
s++;
if (OSL==0 && Stoploss>=STOPLEVEL && Stoploss!=0)
{
SL = NormalizeDouble(OOP + Stoploss * Point,Digits);
}
if (OTP==0 && Takeprofit>=STOPLEVEL && Takeprofit!=0)
{
TP = NormalizeDouble(OOP - Takeprofit * Point,Digits);
}
if (TrailingStop>=STOPLEVEL && TrailingStop!=0)
{
StLo = NormalizeDouble(Ask + TrailingStop*Point,Digits);
if (StLo <= OOP && (StLo < OSL || OSL==0)) SL = StLo;
}
if (SL != OSL || TP != OTP)
{
if (!OrderModify(OrderTicket(),OOP,SL,TP,0,clrNONE)) Print("Error OrderModify <<",(GetLastError()),">> ");
}
}
}
}
}
//----------------------------------------------------------------
double Stoch0 = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,0);
double Signl0 = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,0);
double Stoch1 = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_MAIN,1);
double Signl1 = iStochastic(NULL,0,KPeriod,DPeriod,Slowing,MODE_SMA,0,MODE_SIGNAL,1);
//-----------------------------------------------------------------------
if (Stoch0>Signl0 && Stoch1<Signl1 && Stoch0<LevelBuy)
{
if (b==0)
{
if (OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,0,0,NULL,Magic,0,clrNONE)==-1) Print("Ошибка открытия ордера <<",(GetLastError()),">> ");
}
}
if (Stoch0<Signl0 && Stoch1>Signl1 && Stoch0>LevelSell)
{
if (s==0)
{
if (OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,0,0,NULL,Magic,0,clrNONE)==-1) Print("Ошибка открытия ордера <<",(GetLastError()),">> ");
}
}
return;
}
//--------------------------------------------------------------------
Respondido
1
Classificação
Projetos
2
50%
Arbitragem
0
Expirado
0
Livre
2
Classificação
Projetos
220
50%
Arbitragem
2
50%
/
0%
Expirado
15
7%
Livre
3
Classificação
Projetos
702
49%
Arbitragem
57
16%
/
49%
Expirado
128
18%
Livre
4
Classificação
Projetos
117
67%
Arbitragem
16
25%
/
13%
Expirado
12
10%
Livre
5
Classificação
Projetos
922
48%
Arbitragem
300
59%
/
25%
Expirado
123
13%
Livre
6
Classificação
Projetos
143
34%
Arbitragem
10
10%
/
60%
Expirado
26
18%
Trabalhando
7
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
8
Classificação
Projetos
7
14%
Arbitragem
2
0%
/
100%
Expirado
0
Livre
Pedidos semelhantes
Приветствую . Необходим бот, который передаёт сигнал от буферного стрелочного индикатора МТ4 или МТ5 на Web-платформу брокера бинарных опционов. Передача сигналов возможна с помощью имеющегося у брокера API. Рассмотрю возможность передачи сигналов с помощью Автокликера
Советник на основе индикаторов скользящей средней
50 - 100 USD
Приветствую. Нужен советник открывающий сел и бай на основе показаний индикаторов использующих скользящую среднюю. Будет три индикатора - первая скользящая средняя в виде свечей хайкен аши, два других - скользящие средние в привычном виде. Бай и сел привязаны к соответствующему цвету индикаторов, ордер открывается при совпадении всех цветов всех скользящих средних в зависимости от направления движения (зеленый для
Куплю ваш прибыльный готовый советник МТ4/5
30 - 200 USD
Куплю ваш прибыльный готовый советник МТ4/5. Жду демо советника на тест. Также нужно краткое описание стратегии вашего советника, сет настроек (если есть), на какой инструмент ставить. Цену советника предлагайте. Рассмотрю все варианты. Все обсуждаемо
1. Необходимо сделать скрипт на основе сетки фибоначи. При достижении уровней, выставление отложенных ордеров со стопами и профитами по уровням. В этот же скрипт добавить нужно пятиволновку Элиота. Нужно чтоб появилась точка 0. и при установке точек 0,1,2 появлялись прогнозные точки волн 3,4,5 исходя из определённых пропорций. 2. Нужно объединить два индикатора: RSI и Elliot WAVE (есть не компилированный)
Нужен советник, который отправит на кнопочный телефон СМС с уведомлением об открытии и закрытии позиции(й). В таком СМС должно быть 4-е сведения: номер торгового счета (по возможности), информация о времени закрытия позиции, объема закрытой позиции и размера прибыли или убытка для закрытых позиций. У советника должна быть настройка о выборе отправки - СМС информирование об открытии позиций и закрытии позиций или
Модификация TEMA
30+ USD
Нужно добавить в Triple Exponential Moving Average: 1. Возможность расчёта по значениям подвальных индикаторов (любых, прописывается текстом) 2. Разметить отдельными буферами рост и падение линии 3. Сделать индикатор пригодным для работы в советнике в тестере стратегий
Советник по сигналам с сервера МТ4
30 - 500 USD
Зд равствуйте! Имеется источник сигналов на запущенном сервере – требуется создать советник, который будет обмениваться данными с сервером, получать сигналы и работать по ним. Есть прототип советника для МТ5 с реализацией самого взаимодействия с сервером – его можно использовать ТОЛЬКО для примера, он подтверждает только принципиальную работоспособность торговой системы, хотелось бы увидеть новые решения
Советник по сигналам с сервера МТ5
30 - 500 USD
Здравствуйте! Имеется источник сигналов на запущенном сервере – требуется создать советник, который будет обмениваться данными с сервером, получать сигналы и работать по ним. Есть прототип советника для МТ5 с реализацией самого взаимодействия с сервером – его можно использовать ТОЛЬКО для примера, он подтверждает только принципиальную работоспособность торговой системы, хотелось бы увидеть новые решения. В приложении
мод реконнект скрипта для виндоуз 11 мулти десктоп 6+ экранов + мулти терминалы 30 МТ4 терминалов раскиданы рандомно по десктопам работает ок на виндоус 10 с мулти юзер но на виндоус 11 с мульти десктоп мулти мт4 виснет на фаворит логин поп ап и не делает реконнект
Торговый робот (стратегия) разработан для терминала Quantower. Бот скачивает историю трейдов API ключа через терминал. Язык C# Сейчас бот работает с Binance Spot и Huobi Global. Необходимо 1) отдебажить робота под новую версию терминала 2) добавить (прописать) новые коннекторы (VendorName) для работы с новыми биржами Байбит Гейт Битфайнекс Койнбейз Кракен Окх Кукойн Тоесть необходимо найти в коде
Informações sobre o projeto
Orçamento