Скачать MetaTrader 5

Пересечение средних

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114280
Forex Trader  
Что-то не работет советник, может кто ткнет пальцем новичку на ошибку.
Советник простой, открытие при пересечении скользящих, закрытие при достижении профита или обратный сигнал.

Заранее спасибо, Дмитрий.

#property copyright "Copyright © 2005, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
extern int slow=720;
extern int fast=60;
extern double lot=0.1;
int a60,a720,b60,b720;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
void init()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void start()
{
a60= iMA(NULL,0,60,0,MODE_LWMA,PRICE_CLOSE,1);
a720=iMA(NULL,0,720,0,MODE_LWMA,PRICE_CLOSE,1);
b60= iMA(NULL,0,60,0,MODE_LWMA,PRICE_CLOSE,2);
b720=iMA(NULL,0,720,0,MODE_LWMA,PRICE_CLOSE,2);
if ( OrdersTotal()==0 )
{
if (a60>a720 && b60<b720) {OrderSend (Symbol(),OP_BUY,lot,Ask,3,Ask-0.0030,Ask+0.0034,"",16384,0,MediumPurple);return (0); }
if (a60==a720 && b60<b720) {OrderSend (Symbol(),OP_BUY,lot,Ask,3,Ask-0.0030,Ask+0.0034,"",16384,0,MediumPurple);return (0); }
if (a60<a720 && b60>b720) {OrderSend (Symbol(),OP_SELL,lot,Bid,3,Ask+0.0030,Ask-0.0034,"",16384,0,MediumPurple);return (0); }
if (a60==a720 && b60>b720) {OrderSend (Symbol(),OP_SELL,lot,Bid,3,Ask+0.0030,Ask-0.0034,"",16384,0,MediumPurple);return (0); }
}
int x=0;
x=OrderSelect (1,SELECT_BY_TICKET);
if (OrdersTotal()>0 && a60>a720 && b60<b720 && OrderType( ) == OP_SELL) {OrderClose (x,lot,Ask,3,Blue);return (0);}
if (OrdersTotal()>0 && a60<a720 && b60>b720 && OrderType( ) == OP_BUY) {OrderClose (x,lot,Bid,3,Blue);return (0);}
return ; }
//+------------------------------------------------------------------+
Forex Trader
114280
Forex Trader  
Замечания навскидку:
1. В OrderSend если нет комментария, пиши NULL
2. В OrderSelect ордера начинаются с 0
3. Равенства а60 и а720 никогда не будет, дай хоть чуть-чуть, пиши MathAbs(a60-a720)<=дельта.
4. Продавать надо по Биду
Forex Trader
114280
Forex Trader  
Что-то не работет советник, может кто ткнет пальцем новичку на ошибку.
Советник простой, открытие при пересечении скользящих, закрытие при достижении профита или обратный сигнал.
посмотри на "MQL4: механические торговые системы" - там есть советник на пересечение. CrossMA называется..
Forex Trader
114280
Forex Trader  
Замечания навскидку:
1. В OrderSend если нет комментария, пиши NULL
2. В OrderSelect ордера начинаются с 0
3. Равенства а60 и а720 никогда не будет, дай хоть чуть-чуть, пиши MathAbs(a60-a720)<=дельта.
4. Продавать надо по Биду


Учту все, кроме пункта 3.
Вероятность хоть маленькая, но есть.
Forex Trader
114280
Forex Trader  
Учту все, кроме пункта 3.
Вероятность хоть маленькая, но есть.
будьте реалистом =)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий