Скачать MetaTrader 5

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

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

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

#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
114268
Forex Trader 2005.11.29 12:33  
Замечания навскидку:
1. В OrderSend если нет комментария, пиши NULL
2. В OrderSelect ордера начинаются с 0
3. Равенства а60 и а720 никогда не будет, дай хоть чуть-чуть, пиши MathAbs(a60-a720)<=дельта.
4. Продавать надо по Биду
Forex Trader
114268
Forex Trader 2005.11.29 16:32  
Что-то не работет советник, может кто ткнет пальцем новичку на ошибку.
Советник простой, открытие при пересечении скользящих, закрытие при достижении профита или обратный сигнал.
посмотри на "MQL4: механические торговые системы" - там есть советник на пересечение. CrossMA называется..
Forex Trader
114268
Forex Trader 2005.11.29 17:15  
Замечания навскидку:
1. В OrderSend если нет комментария, пиши NULL
2. В OrderSelect ордера начинаются с 0
3. Равенства а60 и а720 никогда не будет, дай хоть чуть-чуть, пиши MathAbs(a60-a720)<=дельта.
4. Продавать надо по Биду


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