Похоже баров истории нехватает. Но причем здесь ММ?
Вы - это, афтора потревожте, ему полезно будет.
Вы - это, афтора потревожте, ему полезно будет.
Да нет я точно знаю что дело не в истории.До этого вскакивала ошибка 4062 и 4051
Чему несоответсвие?
Лучше бы конечно код увидеть.
У меня такое возникает если не соответсвия цен на меньшем интервале к большим .Либо есть ошибка в коде относительно лотов .
я тоже склоняюсь к тому что недописал что-то в коде,знающие люди подправте пожалуйста что не так.Вот код
//+------------------------------------------------------------------+//| larsen.mq4 |
//| |
//| |
//+------------------------------------------------------------------+
#property link ""
#import "MM_MartingaleComplex"
extern string text1="Настройки индикатора";
//---------------------------------
extern int NoiseLevel = 30;
extern int SwitchPercent = 30;
extern int Mode = 0;
extern int OncePerCandle = 1;
extern int MaxBars = 1000;
extern int ArrowOffset = 20;
extern int MaxWidth = 200;
//----------------------------------
extern string text2="Параметры для покупки";
extern int SLB=100; // Уровень стоп-лосса для ордеров на покупку
extern int TPB=100;// Уровень тейк-профита для ордеров на покупку
extern string text3="Параметры для продажи";
extern int SLS=100; // Уровень стоп-лосса для ордеров на продажу
extern int TPS=100;// Уровень тейк-профита для ордеров на продажу
extern bool BuyAllow=true; //Разрешить покупку
extern bool SellAllow=true; //Разрешить продажу
extern double Lot = 1;
extern string text4="Закрывать при противоположном сигнале";
extern bool CL=false; //Закрывать при противоположом сигнале
extern string text5="MM";
extern double dCoeff =2;
extern double dBasicLot=1;
extern bool bIf2TradeWithLittleMoney=true;
bool buy=true;
bool sell=true;
int O1=0;//флаг индикатора
int i;
double MM_MartingaleComplex(double dCoeff,double dBasicLot,string sSymbol,bool bIf2TradeWithLittleMoney);
//-------------------------------------------------------------------
void Open1()
{
O1=0;
if (iCustom(0,0,"ZigZag_Larsen_101_8",NoiseLevel,SwitchPercent,Mode,OncePerCandle,MaxBars,ArrowOffset,MaxWidth,2,1)>0) O1=1;
if (iCustom(0,0,"ZigZag_Larsen_101_8",NoiseLevel,SwitchPercent,Mode,OncePerCandle,MaxBars,ArrowOffset,MaxWidth,1,1)>0) O1=-1;
}
//---------------------------------------------------------------------
//-------------------Открытие ордера -------------------------------------------------------------
void OpenOrd()
{
if (GlobalVariableGet("MM_MartingaleComplex")>0)
if (O1==1 && buy==true && BuyAllow==true)
{
OrderSend(Symbol(), OP_BUY,GlobalVariableGet("MM_MartingaleComplex"), Ask,3,Bid-SLB*Point,Ask+TPB*Point,"Покупаем",16384,0,Green);
buy=false;
return;
}
// SELL
if (GlobalVariableGet("MM_MartingaleComplex")>0)
if (O1==-1 && sell==true && SellAllow==true)
{
OrderSend(Symbol(), OP_SELL,GlobalVariableGet("MM_MartingaleComplex"), Bid,3,Bid+SLS*Point,Bid-TPB*Point,"Продаем",16385,0,Red);
sell=false;
return;
}
}
//---------------------------------Закрытие ордера----------------------------------------------------
void CloseOrd()
{
for (i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol()==Symbol() && OrderType()==OP_BUY && O1==-1) OrderClose(OrderTicket(),OrderLots(),Bid,3,Aqua); //Закрытие открытых ордеров на покупку
if (OrderSymbol()==Symbol() && OrderType()==OP_SELL && O1==1) OrderClose(OrderTicket(),OrderLots(),Ask,3,Aqua); //Закрытие открытых ордеров на продажу
}
}
//-----------------------------------------------------------------------------------------------------
int start()
{
static datetime prevtime=0;
if(prevtime == Time[0]) return; // продолжит работу только при новом баре
prevtime = Time[0];
Open1();
if (O1==-1) buy=true;
if (O1==1) sell=true;
OpenOrd();
if (CL==true) CloseOrd();
return(0);
}
//+------------------------------------------------------------------+
Ну что кто скажет неужели никто неподскажет,почему неоткрывает ордера
А причем тут индикатор?Неоткрывает ордера и все дело в функции ММ.Я же говорю без ММ,все работает прекрасно как мне надо,открывая ордера постоянным лотом.
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Значит есть код эксперта.Готовый,у которого все нормально работает,после того как в него я добавил функцию ММ,взятую отсюда http://www.mymmk.com/general/my_mql4/mql4_index.php#martingalecomplex,перестал открывать ордера.
Пишет типа того