Воспользуйтесь кнопкой "SRC" при публикации кода.
Может, больше желающих будет помочь Вам.
К счастью, проверка чисто клиентская- сервер пропускает
//+------------------------------------------------------------------+ //| tri_tyme.mq4 | //| Copyright © 2009, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2009, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" //---- input parameters extern int muv_trend_per=55; extern double hag_parab=0.02; extern double max_parab=0.2; bool BuyOp=false, SellOp=false, h4_byk=false, h1_byk=false, m5_byk=false, h4_sell=false, h1_sell=false, m5_sell=false, tral=false; int tik, spred; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- spred=MarketInfo(Symbol(),MODE_SPREAD); //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- if(OrdersTotal()==0) { //******* double muv_h4=norm(iMA(Symbol(),PERIOD_H4,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0)); double sar_h4=norm(iSAR(Symbol(),PERIOD_H4,hag_parab,max_parab,0)); int vol_0_h4=iVolume(Symbol(),PERIOD_H4,0); int vol_1_h4=iVolume(Symbol(),PERIOD_H4,1); double procent_h4=norm((vol_0_h4-vol_1_h4)/vol_0_h4); if(muv_h4<iOpen(Symbol(),PERIOD_H4,0) && sar_h4<iOpen(Symbol(),PERIOD_H4,0) && procent_h4>0.30) h4_byk=true; //******* double muv_h1=norm(iMA(Symbol(),PERIOD_H1,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0)); double sar_h1=norm(iSAR(Symbol(),PERIOD_H1,hag_parab,max_parab,0)); int vol_0_h1=iVolume(Symbol(),PERIOD_H1,0); int vol_1_h1=iVolume(Symbol(),PERIOD_H1,1); double procent_h1=norm((vol_0_h1-vol_1_h1)/vol_0_h1); if(muv_h1<iOpen(Symbol(),PERIOD_H1,0) && sar_h1<iOpen(Symbol(),PERIOD_H1,0) && procent_h1>0.30) h1_byk=true; //******* double muv_m5=norm(iMA(Symbol(),PERIOD_M5,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0)); double sar_m5=norm(iSAR(Symbol(),PERIOD_M5,hag_parab,max_parab,0)); if(muv_m5<iOpen(Symbol(),PERIOD_M5,0) && sar_m5<iOpen(Symbol(),PERIOD_M5,0)) m5_byk=true; //******* if(h4_byk==true && h1_byk==true && m5_byk==true) { tik=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,NULL,NULL,"Открыт ордер на покупку по цене "+Open[0],111111,0,Green); h4_byk=false; h1_byk=false; m5_byk=false; tral=true; } //******* //--------------------------------------------------------------------------------------------------------- //******* double muv_h4_s=norm(iMA(Symbol(),PERIOD_H4,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0)); double sar_h4_s=norm(iSAR(Symbol(),PERIOD_H4,hag_parab,max_parab,0)); int vol_0_h4_s=iVolume(Symbol(),PERIOD_H4,0); int vol_1_h4_s=iVolume(Symbol(),PERIOD_H4,1); double procent_h4_s=norm((vol_0_h4_s-vol_1_h4_s)/vol_0_h4_s); if(muv_h4_s>iOpen(Symbol(),PERIOD_H4,0) && sar_h4_s>iOpen(Symbol(),PERIOD_H4,0) && procent_h4_s>0.30) h4_sell=true; //******* double muv_h1_s=norm(iMA(Symbol(),PERIOD_H1,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0)); double sar_h1_s=norm(iSAR(Symbol(),PERIOD_H1,hag_parab,max_parab,0)); int vol_0_h1_s=iVolume(Symbol(),PERIOD_H1,0); int vol_1_h1_s=iVolume(Symbol(),PERIOD_H1,1); double procent_h1_s=norm((vol_0_h1_s-vol_1_h1_s)/vol_0_h1_s); if(muv_h1_s>iOpen(Symbol(),PERIOD_H1,0) && sar_h1_s>iOpen(Symbol(),PERIOD_H1,0) && procent_h1_s>0.30) h1_sell=true; //******* double muv_m5_s=norm(iMA(Symbol(),PERIOD_M5,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0)); double sar_m5_s=norm(iSAR(Symbol(),PERIOD_M5,hag_parab,max_parab,0)); if(muv_m5_s>iOpen(Symbol(),PERIOD_M5,0) && sar_m5_s>iOpen(Symbol(),PERIOD_M5,0)) m5_sell=true; //******* if(h4_byk==true && h1_byk==true && m5_byk==true) { tik=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,NULL,NULL,"Открыт ордер на продажу по цене "+Open[0],222222,0,Blue); h4_sell=false; h1_sell=false; m5_sell=false; tral=true; } //******* } //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if(OrdersTotal()!=0) { OrderSelect(tik,SELECT_BY_TICKET,MODE_TRADES); if(OrderType()==OP_SELL) { if(tral==true) { RefreshRates(); if(OrderOpenPrice()-Ask>Point*150) { if(OrderStopLoss()>Ask+Point*150) { OrderModify(tik,OrderOpenPrice(),OrderOpenPrice()-spred*Point,OrderTakeProfit(),0,Yellow); tral=false; } } } } //******* if(OrderType()==OP_BUY) { if(tral==true) { RefreshRates(); if(Bid-OrderOpenPrice()>Point*150) { if(OrderStopLoss()<Bid-Point*150) { OrderModify(tik,OrderOpenPrice(),OrderOpenPrice()+spred*Point,OrderTakeProfit(),0,Yellow); tral=false; } } } } } //---- return(0); } //+------------------------------------------------------------------+ //******* double norm (double x) { return (NormalizeDouble(x,Digits)); }
Мой совет: напишите индикатор, который будет в случае возникновения сигнала по H4, H1, M5 рисовать стрелочку.
Например, H4 рисует стрелочку на уровне 0.2, H1 на уровне 0.4, М5 на уровне 0.6 и т.д.
Тогда увидите расположение сигналов на графике.
Мой совет: напишите индикатор, который будет в случае возникновения сигнала по H4, H1, M5 рисовать стрелочку.
Например, H4 рисует стрелочку на уровне 0.2, H1 на уровне 0.4, М5 на уровне 0.6 и т.д.
Тогда увидите расположение сигналов на графике.
об этом уже думал, но так хочется сразу советник ))
а как вообще идея стоит или нет дальше копать в эту сторону ??
об этом уже думал, но так хочется сразу советник ))
а как вообще идея стоит или нет дальше копать в эту сторону ??
Ну вот... Ваш советник у меня уже есть- я думал, Вы сами скажете, ошиблись Вы или нет :-).
Копать ИМХО везде стоит. Вы учите и программирование Mql- и работаете с даными-
любой такой опыт, я думаю, лучше, чем просмотр TV.
.
А куда копать- если Вам поможет- можно- как вариант- посмотреть в обсуждениях
победителей чемпионата https://championship.mql5.com/2012/en,
они часто пишут на чём основывается советник.
Ну вот... Ваш советник у меня уже есть- я думал, Вы сами скажете, ошиблись Вы или нет :-).
Копать ИМХО везде стоит. Вы учите и программирование Mql- и работаете с даными-
любой такой опыт, я думаю, лучше, чем просмотр TV.
спасибо за поддержку в нашем трудном деле это тоже важно :-)
будем копать дальше
//******* double muv_h4=norm(iMA(Symbol(),PERIOD_H4,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0)); double sar_h4=norm(iSAR(Symbol(),PERIOD_H4,hag_parab,max_parab,0)); int vol_0_h4=iVolume(Symbol(),PERIOD_H4,0); int vol_1_h4=iVolume(Symbol(),PERIOD_H4,1); double procent_h4=norm((vol_0_h4-vol_1_h4)/vol_0_h4); if(muv_h4<iOpen(Symbol(),PERIOD_H4,0) && sar_h4<iOpen(Symbol(),PERIOD_H4,0) && procent_h4>0.30) { ObjectCreate("arrow"+Time[0],OBJ_ARROW,0,Time[0],sar_h4); h4_byk=true; }
почему-то не рисует стрелку, вроде все правильно ?
а есть ли разница на каком фрейме я запускаю тестирование на Н4 или М5, вроде не должно быть разницы ??
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
//+------------------------------------------------------------------+
//| tri_tyme.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
//---- input parameters
extern int muv_trend_per=55;
extern double hag_parab=0.02;
extern double max_parab=0.2;
bool BuyOp=false, SellOp=false,
h4_byk=false, h1_byk=false, m5_byk=false,
h4_sell=false, h1_sell=false, m5_sell=false,
tral=false;
int tik, spred;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
spred=MarketInfo(Symbol(),MODE_SPREAD);
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
if(OrdersTotal()==0)
{
//*******
double muv_h4=norm(iMA(Symbol(),PERIOD_H4,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0));
double sar_h4=norm(iSAR(Symbol(),PERIOD_H4,hag_parab,max_parab,0));
int vol_0_h4=iVolume(Symbol(),PERIOD_H4,0);
int vol_1_h4=iVolume(Symbol(),PERIOD_H4,1);
double procent_h4=norm((vol_0_h4-vol_1_h4)/vol_0_h4);
if(muv_h4<iOpen(Symbol(),PERIOD_H4,0) && sar_h4<iOpen(Symbol(),PERIOD_H4,0) && procent_h4>0.30) h4_byk=true;
//*******
double muv_h1=norm(iMA(Symbol(),PERIOD_H1,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0));
double sar_h1=norm(iSAR(Symbol(),PERIOD_H1,hag_parab,max_parab,0));
int vol_0_h1=iVolume(Symbol(),PERIOD_H1,0);
int vol_1_h1=iVolume(Symbol(),PERIOD_H1,1);
double procent_h1=norm((vol_0_h1-vol_1_h1)/vol_0_h1);
if(muv_h1<iOpen(Symbol(),PERIOD_H1,0) && sar_h1<iOpen(Symbol(),PERIOD_H1,0) && procent_h1>0.30) h1_byk=true;
//*******
double muv_m5=norm(iMA(Symbol(),PERIOD_M5,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0));
double sar_m5=norm(iSAR(Symbol(),PERIOD_M5,hag_parab,max_parab,0));
if(muv_m5<iOpen(Symbol(),PERIOD_M5,0) && sar_m5<iOpen(Symbol(),PERIOD_M5,0)) m5_byk=true;
//*******
if(h4_byk==true && h1_byk==true && m5_byk==true)
{
tik=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,NULL,NULL,"Открыт ордер на покупку по цене "+Open[0],111111,0,Green);
h4_byk=false; h1_byk=false; m5_byk=false; tral=true;
}
//*******
//---------------------------------------------------------------------------------------------------------
//*******
double muv_h4_s=norm(iMA(Symbol(),PERIOD_H4,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0));
double sar_h4_s=norm(iSAR(Symbol(),PERIOD_H4,hag_parab,max_parab,0));
int vol_0_h4_s=iVolume(Symbol(),PERIOD_H4,0);
int vol_1_h4_s=iVolume(Symbol(),PERIOD_H4,1);
double procent_h4_s=norm((vol_0_h4_s-vol_1_h4_s)/vol_0_h4_s);
if(muv_h4_s>iOpen(Symbol(),PERIOD_H4,0) && sar_h4_s>iOpen(Symbol(),PERIOD_H4,0) && procent_h4_s>0.30) h4_sell=true;
//*******
double muv_h1_s=norm(iMA(Symbol(),PERIOD_H1,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0));
double sar_h1_s=norm(iSAR(Symbol(),PERIOD_H1,hag_parab,max_parab,0));
int vol_0_h1_s=iVolume(Symbol(),PERIOD_H1,0);
int vol_1_h1_s=iVolume(Symbol(),PERIOD_H1,1);
double procent_h1_s=norm((vol_0_h1_s-vol_1_h1_s)/vol_0_h1_s);
if(muv_h1_s>iOpen(Symbol(),PERIOD_H1,0) && sar_h1_s>iOpen(Symbol(),PERIOD_H1,0) && procent_h1_s>0.30) h1_sell=true;
//*******
double muv_m5_s=norm(iMA(Symbol(),PERIOD_M5,muv_trend_per,0,MODE_EMA,PRICE_CLOSE,0));
double sar_m5_s=norm(iSAR(Symbol(),PERIOD_M5,hag_parab,max_parab,0));
if(muv_m5_s>iOpen(Symbol(),PERIOD_M5,0) && sar_m5_s>iOpen(Symbol(),PERIOD_M5,0)) m5_sell=true;
//*******
if(h4_byk==true && h1_byk==true && m5_byk==true)
{
tik=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,NULL,NULL,"Открыт ордер на продажу по цене "+Open[0],222222,0,Blue);
h4_sell=false; h1_sell=false; m5_sell=false; tral=true;
}
//*******
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
if(OrdersTotal()!=0)
{
OrderSelect(tik,SELECT_BY_TICKET,MODE_TRADES);
if(OrderType()==OP_SELL)
{
if(tral==true)
{
RefreshRates();
if(OrderOpenPrice()-Ask>Point*150)
{
if(OrderStopLoss()>Ask+Point*150)
{
OrderModify(tik,OrderOpenPrice(),OrderOpenPrice()-spred*Point,OrderTakeProfit(),0,Yellow);
tral=false;
}
}
}
}
//*******
if(OrderType()==OP_BUY)
{
if(tral==true)
{
RefreshRates();
if(Bid-OrderOpenPrice()>Point*150)
{
if(OrderStopLoss()<Bid-Point*150)
{
OrderModify(tik,OrderOpenPrice(),OrderOpenPrice()+spred*Point,OrderTakeProfit(),0,Yellow);
tral=false;
}
}
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//*******
double norm (double x)
{
return (NormalizeDouble(x,Digits));
}
Почему то не открывает ни одной сделки ?
С уважением.