Я вообще только начал курить mql набросал простенького советника, воткнул в тестер стратегий - а он ничего не выдает вобщем-то... Ыот код который сваял
Это у Вас не простенький советник - это определение торговых критериев.
Вписывайте эти торговые критерии в этого или этого советника и пробуйте.
Это у Вас не простенький советник - это определение торговых критериев.
Вписывайте эти торговые критерии в этого или этого советника и пробуйте.
неет, если вы имеете, я вас в заблужденье ввел малость. это не весь код, это часть кода а именно текст модуля старт.
весь - вот
//+------------------------------------------------------------------+
//| svech.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
//--- input parameters
extern int SL=10;
extern int TP=10;
extern double lot=0.1;
double level_close1;
double level_close2;
double level_close3;
double level_open1;
double level_open2;
double level_open3;
bool Work=true; // Эксперт будет работать.
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
// Предварит.обработка
if(Bars < Period_MA_2) // Недостаточно баров
{
Alert("Недостаточно баров в окне. Эксперт не работает.");
return; // Выход из start()
}
if(Work==false) // Критическая ошибка
{
Alert("Критическая ошибка. Эксперт не работает.");
return; // Выход из start()
}//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//определение цен закрытия предыдущих трех свечей
level_close1 = iClose(NULL, PERIOD_D1, 3); //цена третьей свечи
level_close2 = iClose(NULL, PERIOD_D1, 2); //цена второй свечи
level_close3 = iClose(NULL, PERIOD_D1, 1); //цена первой свечи
//определение цен открытия предыдущих трех свечей
level_open1 = iOpen(NULL, PERIOD_D1, 3); //цена третьей свечи
level_open2 = iOpen(NULL, PERIOD_D1, 2); //цена второй свечи
level_open3 = iOpen(NULL, PERIOD_D1, 1); //цена первой свечи
Print(level_open1);
Print(level_open2);
Print(level_open3);
Print(level_close1);
Print(level_close2);
Print(level_close3);
//----
if (level_open1 > level_close1 && level_open2 > level_close2 && level_open2 > level_close3) // все три свечи белые
{
OrderSend(Symbol(), OP_BUY, lot, Ask, 2, Bid+SL,Bid+TP);
}
if (level_open1 < level_close1 && level_open2 < level_close2 && level_open2 < level_close3) // все три свечи белые
{
OrderSend(Symbol(), OP_SELL, lot, Ask, 2, Bid+SL,Bid+TP);
}
//----
return(0);
}
//+------------------------------------------------------------------+
неет, если вы имеете, я вас в заблужденье ввел малость. это не весь код, это часть кода а именно текст модуля старт.
весь - вот
//+------------------------------------------------------------------+
//| svech.mq4 |
//| Copyright © 2011, MetaQuotes Software Corp. |
//| https://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net"
//--- input parameters
extern int SL=10;
extern int TP=10;
extern double lot=0.1;
double level_close1;
double level_close2;
double level_close3;
double level_open1;
double level_open2;
double level_open3;
bool Work=true; // Эксперт будет работать.
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
// Предварит.обработка
if(Bars < Period_MA_2) // Недостаточно баров
{
Alert("Недостаточно баров в окне. Эксперт не работает.");
return; // Выход из start()
}
if(Work==false) // Критическая ошибка
{
Alert("Критическая ошибка. Эксперт не работает.");
return; // Выход из start()
}//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//определение цен закрытия предыдущих трех свечей
level_close1 = iClose(NULL, PERIOD_D1, 3); //цена третьей свечи
level_close2 = iClose(NULL, PERIOD_D1, 2); //цена второй свечи
level_close3 = iClose(NULL, PERIOD_D1, 1); //цена первой свечи
//определение цен открытия предыдущих трех свечей
level_open1 = iOpen(NULL, PERIOD_D1, 3); //цена третьей свечи
level_open2 = iOpen(NULL, PERIOD_D1, 2); //цена второй свечи
level_open3 = iOpen(NULL, PERIOD_D1, 1); //цена первой свечи
Print(level_open1);
Print(level_open2);
Print(level_open3);
Print(level_close1);
Print(level_close2);
Print(level_close3);
//----
if (level_open1 > level_close1 && level_open2 > level_close2 && level_open2 > level_close3) // все три свечи белые
{
OrderSend(Symbol(), OP_BUY, lot, Ask, 2, Bid+SL,Bid+TP);
}
if (level_open1 < level_close1 && level_open2 < level_close2 && level_open2 < level_close3) // все три свечи белые
{
OrderSend(Symbol(), OP_SELL, lot, Ask, 2, Bid+SL,Bid+TP);
}
//----
return(0);
}
//+------------------------------------------------------------------+
Вы не парьтесь - вставьте в работающего сова свои торговые критерии и расчет индикаторов и все. Пробуйте.
я кодить научиться хочу, поэтому и парюсь. Не пойму чего в нем нехватает.
Что во вкладке "Журнал"?
я кодить научиться хочу, поэтому и парюсь. Не пойму чего в нем нехватает.
Читайте описание сов в учебнике, по тем ссылкам, что Вам дал. У Вас в коде - куча ошибок, в частности в выставлении (открытии) ордеров.
Сравните Ваш код с правильным открытием:
{ //.. не достигнут успех if (StopLoss<Level_new) // Если меньше допустимого.. StopLoss=Level_new; // .. то допустимый if (TakeProfit<Level_new) // Если меньше допустимого.. TakeProfit=Level_new; // ..то допустимый MN=TimeCurrent(); // Простой MagicNumber Inform(13,Tip); // Сообщение о попытке откр if (Tip==0) // Будем открывать Buy { SL=Bid - StopLoss* Point; // StopLoss (цена) TP=Bid + TakeProfit*Point; // TakeProfit (цена) Ticket=OrderSend(Symbol(),0,Lots_New,Ask,2,SL,TP,"",MN); } if (Tip==1) // Будем открывать Sell { SL=Ask + StopLoss* Point; // StopLoss (цена) TP=Ask - TakeProfit*Point; // TakeProfit (цена) Ticket=OrderSend(Symbol(),1,Lots_New,Bid,2,SL,TP,"",MN); } //--------------------------------------------------------- 4 -- if (Ticket<0) // Не получилось :( { // Поинтересуемся ошибками: if(Errors(GetLastError())==false)// Если ошибка непреодолимая return; // .. то уходим. }
Читайте сначала учебник и не парьтесь попусту (у Вас элементарные ошибки из-за не знания основ), а уже потом - пускайтесь во все тяжкие...
Этот блок меняйте на этот:
//---- if (level_open1 > level_close1 && level_open2 > level_close2 && level_open2 > level_close3) // все три свечи белые { OrderSend(Symbol(), OP_BUY, lot, Ask, 2, Bid - SL*Point, Bid+TP*Point); } if (level_open1 < level_close1 && level_open2 < level_close2 && level_open2 < level_close3) // все три свечи белые { OrderSend(Symbol(), OP_SELL, lot, Bid, 2, Ask+SL*Point,Ask-TP*Point); }
А зачем Вам переменная level_open3? :))
я кодить научиться хочу, поэтому и парюсь. Не пойму чего в нем нехватает.
Очевидно три дневных свечи в одну сторону на истории у Вас не встречалось.Попробуйде сократить до двух.
я кодить научиться хочу, поэтому и парюсь. Не пойму чего в нем нехватает.
И еще вот сдесь && level_open2 > level_close3 .наверное Вы хотели использоать открытие и закрытие одной свечи, а получается с разных.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Я вообще только начал курить mql набросал простенького советника, воткнул в тестер стратегий - а он ничего не выдает вобщем-то... Ыот код который сваял