[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 334
gisip: Talvez você tenha esquecido de usar OrderSend assim citação: "Pergunta: Por que não há abertura de pedidos, onde está o erro? Por favor, me diga!"?
Não existe tal função no código fonte "Expert Advisor simples". Não sei onde escrevê-la em minha versão:
//--------------------------------------------------------------- 4 --// Учёт ордеров
Symb=Symbol(); // Название фин.инстр.
Total=0; // Количество ордеровfor(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:if (OrderSymbol()!=Symb)continue; // Не наш фин. инструмif (OrderType()>1) // Попался отложенный
{
Alert("Обнаружен отложенный ордер. Эксперт не работает.");
return; // Выход из start()
}
Total++; // Счётчик рыночн. ордif (Total>1) // Не более одного орд
{
Alert("Несколько рыночных ордеров. Эксперт не работает.");
return; // Выход из start()
}
Ticket=OrderTicket(); // Номер выбранн. орд.
Tip =OrderType(); // Тип выбранного орд.
Price =OrderOpenPrice(); // Цена выбранн. орд.
SL =OrderStopLoss(); // SL выбранного орд.
TP =OrderTakeProfit(); // TP выбранного орд.
Lot =OrderLots(); // Количество лотов
}
}
//--------------------------------------------------------------- 5 --// Торговые критерииint A= ADXbars;
int B= CountBars;
//-------------------------------------------------------------- 5a --double b4plusdi=iCustom(NULL,0,"ADX Crossing",A,B);
double nowplusdi=iCustom(NULL,0,"ADX Crossing",A,B);
double b4minusdi=iCustom(NULL,0,"ADX Crossing",A,B);
double nowminusdi=iCustom(NULL,0,"ADX Crossing",A,B);
//-------------------------------------------------------------- 5b --if (b4plusdi>b4minusdi && nowplusdi<nowminusdi)
{
Opn_B=true; // Критерий откр. Buy
Cls_S=true; // Критерий закр. Sell
}
if (b4plusdi<b4minusdi && nowplusdi>nowminusdi)
{
Opn_S=true; // Критерий откр. Sell
Cls_B=true; // Критерий закр. Buy
}
//--------------------------------------------------------------- 6 --// Закрытие ордеровwhile(true) // Цикл закрытия орд.
{
if (Tip==0 && Cls_B==true) // Открыт ордер Buy..
{ //и есть критерий закрAlert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
RefreshRates(); // Обновление данных
Ans=OrderClose(Ticket,Lot,Bid,2); // Закрытие Buyif (Ans==true) // Получилось :)
{
Alert ("Закрыт ордер Buy ",Ticket);
break; // Выход из цикла закр
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
if (Tip==1 && Cls_S==true) // Открыт ордер Sell..
{ // и есть критерий закрAlert("Попытка закрыть Sell ",Ticket,". Ожидание ответа..");
RefreshRates(); // Обновление данных
Ans=OrderClose(Ticket,Lot,Ask,2); // Закрытие Sellif (Ans==true) // Получилось :)
{
Alert ("Закрыт ордер Sell ",Ticket);
break; // Выход из цикла закр
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
break; // Выход из while
}
//--------------------------------------------------------------- 7 --// Стоимость ордеров
RefreshRates(); // Обновление данных
Min_Lot=MarketInfo(Symb,MODE_MINLOT); // Миним. колич. лотов
Free =AccountFreeMargin(); // Свободн средства
One_Lot=MarketInfo(Symb,MODE_MARGINREQUIRED);// Стоимость 1 лота
Step =MarketInfo(Symb,MODE_LOTSTEP); // Шаг изменен размераif (Lots > 0) // Если заданы лоты,то
Lts =Lots; // с ними и работаем else// % свободных средств
Lts=MathFloor(Free*Prots/One_Lot/Step)*Step;// Для открытияif(Lts < Min_Lot) Lts=Min_Lot; // Не меньше минимальнif (Lts*One_Lot > Free) // Лот дороже свободн.
{
Alert(" Не хватает денег на ", Lts," лотов");
return; // Выход из start()
}
//--------------------------------------------------------------- 8 --// Открытие ордеровwhile(true) // Цикл закрытия орд.
{
if (Total==0 && Opn_B==true) // Открытых орд. нет +
{ // критерий откр. Buy
RefreshRates(); // Обновление данных
SL=Bid - New_Stop(StopLoss)*Point; // Вычисление SL откр.
TP=Bid + New_Stop(TakeProfit)*Point; // Вычисление TP откр.Alert("Попытка открыть Buy. Ожидание ответа..");
Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP);//Открытие Buyif (Ticket > 0) // Получилось :)
{
Alert ("Открыт ордер Buy ",Ticket);
return; // Выход из start()
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
if (Total==0 && Opn_S==true) // Открытых орд. нет +
{ // критерий откр. Sell
RefreshRates(); // Обновление данных
SL=Ask + New_Stop(StopLoss)*Point; // Вычисление SL откр.
TP=Ask - New_Stop(TakeProfit)*Point; // Вычисление TP откр.Alert("Попытка открыть Sell. Ожидание ответа..");
Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,2,SL,TP);//Открытие Selif (Ticket > 0) // Получилось :)
{
Alert ("Открыт ордер Sell ",Ticket);
return; // Выход из start()
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
break; // Выход из while
}
//--------------------------------------------------------------- 9 --return; // Выход из start()
}
//-------------------------------------------------------------- 10 --
P.S. Há apenas no bloco de abertura do pedido (8).
Este é um fórum para ajudar as pessoas, não para vender um elefante) nenhuma idéia além do iHighest ?
https://docs.mql4.com/ru/series/iHigh
https://docs.mql4.com/ru/series/iBarShift
https://docs.mql4.com/ru/series/iHigh
https://docs.mql4.com/ru/series/iBarShift
Há silêncio em resposta...
Quaisquer dicas sobre onde cavar: https: //www.mql5.com/ru/forum/131277/page328
Há silêncio em resposta...
Qualquer dica sobre onde cavar: https: //www.mql5.com/ru/forum/131277/page328
Talvez você tenha esquecido de usar OrderSend assim citação: "Pergunta: Por que não há abertura de pedidos, onde está o erro? Por favor, me diga!"?
Não existe tal função no código fonte "Expert Advisor simples". Não sei onde escrevê-la em minha versão:
P.S. Há apenas no bloco de abertura do pedido (8).
Isto é algum tipo de bobagem. Não posso anexar o Zig-Zag ao gráfico. Alguém pode me dizer qual é o problema?
Isto é algum tipo de bobagem. Não posso anexar o Zig-Zag ao gráfico. Alguém pode me dizer qual é o problema?
Bom dia queridos usuários do fórum, há muito tempo que não venho aqui.
Procurei este ano haverá outro campeonato da EA, decidi participar dele. Alguém pode sugerir um tutorial sobre o MT5 como exemplo?
Eu mesmo tentei apanhar o jeito, mas não consigo ver mais nenhum MT4 (.
Bom dia queridos usuários do fórum, há muito tempo que não venho aqui.
Procurei este ano haverá outro campeonato da EA, decidi participar dele. Alguém pode sugerir um tutorial sobre o MT5 como exemplo?
Eu mesmo tentei apanhar o jeito, mas não consigo ver mais nenhum MT4 (.