Нужен советник для торговли по свечам - страница 2

 
IgorM:


идея уже опробована и забыта, у меня работало на EURUSD в 23 мск против тренда с ТР=10 SL=30 (весь январь так торговал, потом начался кризис и начал гоняться за свечками :) ), не помню где, кто - то для других валют говорил

ЗЫ: идея брать профит на откатах - весьма здравая, главное определять момент когда рынок "выдохся"  от сильного импульса, профита не много - но рисков минимум



    По моей идей таких лосей не может быть,дневных свечей  в 30 пунктов не бывает на основных валютах с маленькими спредами
 
mig34:


По моей идей таких лосей не может быть,дневных свечей в 30 пунктов не бывает

наблюдательный вы наш
 

вот код советника по свечам, на какие свечи вешаем по тем и торгует

.

extern int Magic = 8907;
extern double lot = 0.1;
extern int sl = 700;
extern int tp = 700;
int t;
//+------------------------------------------------------------------+
void Send_buy(){RefreshRates();if(orders_buy()==0)OrderSend(Symbol(),OP_BUY,lot,Ask,10,Bid-sl*Point,Ask+tp*Point,"BUY",Magic,0,Blue);}
//+------------------------------------------------------------------+
void Send_sell(){RefreshRates();if(orders_sell()==0)OrderSend(Symbol(),OP_SELL,lot,Bid,10,Ask+sl*Point,Bid-tp*Point,"SELL",Magic,0,Red);}
//+------------------------------------------------------------------+
int orders_buy(){int j=0;for (int i=0;i<OrdersTotal();i++)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)if((OrderType()==OP_BUY)&&(OrderMagicNumber()==Magic))j++;}return(j);}
//+------------------------------------------------------------------+
int orders_sell(){int j=0;for (int i=0;i<OrdersTotal();i++)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)if((OrderType()==OP_SELL)&&(OrderMagicNumber()==Magic))j++;}return(j);}
//+------------------------------------------------------------------+
int start(){if(Time[0]!=t){if(Close[1]>Open[1])Send_buy();if(Close[1]<Open[1])Send_sell();t=Time[0];}}
//+------------------------------------------------------------------+

 
mig34:

Суть идеи!!!

Существует два вида свечей бычья и медвежья.Так вот нужен советник который быдет открывать ордер,в начале следущей дневной свечи в ту сторону в которую закрылась свеча предыдущего дня(закрылась бычья на бай,медвежья на сел).

Стоп лосс должен стоять на самом верху предыдущей свечи(без тейка для того что если будет мощный тренд получешь большой плюс).Максимум ты получешь одного лося за предыдущей день(играть только на тренде и разных парах).

а это версия со стоплоссом по предыдушей свече


extern int Magic = 8907;
extern double lot = 0.1;
extern int tp = 700;
int t;
//+------------------------------------------------------------------+
void Send_buy(){RefreshRates();if(orders_buy()==0)OrderSend(Symbol(),OP_BUY,lot,Ask,10,Low[1],Ask+tp*Point,"BUY",Magic,0,Blue);}
//+------------------------------------------------------------------+
void Send_sell(){RefreshRates();if(orders_sell()==0)OrderSend(Symbol(),OP_SELL,lot,Bid,10,High[1],Bid-tp*Point,"SELL",Magic,0,Red);}
//+------------------------------------------------------------------+
int orders_buy(){int j=0;for (int i=0;i<OrdersTotal();i++)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)if((OrderType()==OP_BUY)&&(OrderMagicNumber()==Magic))j++;}return(j);}
//+------------------------------------------------------------------+
int orders_sell(){int j=0;for (int i=0;i<OrdersTotal();i++)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)if((OrderType()==OP_SELL)&&(OrderMagicNumber()==Magic))j++;}return(j);}
//+------------------------------------------------------------------+
int ALLClosE(){for(int i=OrdersTotal(); i+1>=0; i--){RefreshRates();if(orders_buy()+orders_sell()>0){
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderType()==OP_BUY)&&(OrderMagicNumber()==Magic))
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(Symbol(),MODE_SPREAD));
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderType()==OP_SELL)&&(OrderMagicNumber()==Magic))
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(Symbol(),MODE_SPREAD));}}}
//+------------------------------------------------------------------+
int start(){if(Time[0]!=t){ALLClosE();if(Close[1]>Open[1])Send_buy();if(Close[1]<Open[1])Send_sell();t=Time[0];}}
//+------------------------------------------------------------------+

 

Извините, а почему слиппаж такой маленький?

OrderSend(Symbol(),OP_BUY,lot,Ask,10*Point,Low[1],Ask+tp*Point,"BUY",Magic,0,Blue); 

 
mig34:

Суть идеи!!!

Существует два вида свечей бычья и медвежья.Так вот нужен советник который быдет открывать ордер,в начале следущей дневной свечи в ту сторону в которую закрылась свеча предыдущего дня(закрылась бычья на бай,медвежья на сел).

Стоп лосс должен стоять на самом верху предыдущей свечи(без тейка для того что если будет мощный тренд получешь большой плюс).Максимум ты получешь одного лося за предыдущей день(играть только на тренде и разных парах).

та же версия + трал

extern int Magic = 8907;
extern double lot = 0.1;
extern int tp = 1000;
extern int TrallSL = 400;
int t;
//+------------------------------------------------------------------+
void Send_buy(){RefreshRates();if(orders_buy()==0)OrderSend(Symbol(),OP_BUY,lot,Ask,10,Low[1],Ask+tp*Point,"buy",Magic,0,Blue);}
//+------------------------------------------------------------------+
void Send_sell(){RefreshRates();if(orders_sell()==0)OrderSend(Symbol(),OP_SELL,lot,Bid,10,High[1],Bid-tp*Point,"sell",Magic,0,Red);}
//+------------------------------------------------------------------+
int orders_buy(){int j=0;for (int i=0;i<OrdersTotal();i++)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)if((OrderType()==OP_BUY)&&(OrderMagicNumber()==Magic))j++;}return(j);}
//+------------------------------------------------------------------+
int orders_sell(){int j=0;for (int i=0;i<OrdersTotal();i++)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)if((OrderType()==OP_SELL)&&(OrderMagicNumber()==Magic))j++;}return(j);}
//+------------------------------------------------------------------+
int ALLClosE(){for(int i=OrdersTotal(); i+1>=0; i--){RefreshRates();if(orders_buy()+orders_sell()>0){
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderType()==OP_BUY)&&(OrderMagicNumber()==Magic))
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),MarketInfo(Symbol(),MODE_SPREAD));
if((OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)&&(OrderType()==OP_SELL)&&(OrderMagicNumber()==Magic))
OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),MarketInfo(Symbol(),MODE_SPREAD));}}}
//+------------------------------------------------------------------+
void modify_sl_buy(string comm){for(int i=0;i<OrdersTotal();i++){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){if((OrderComment()==comm)&&(OrderType()==OP_BUY)&&(OrderMagicNumber()==Magic)&&(OrderSymbol()==Symbol()))
{OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss()+(Bid-OrderStopLoss()-TrallSL*Point),OrderTakeProfit(),0);}}}}
//+------------------------------------------------------------------+
void modify_sl_sell(string comm){for(int i=0;i<OrdersTotal();i++){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){if((OrderComment()==comm)&&(OrderType()==OP_SELL)&&(OrderMagicNumber()==Magic)&&(OrderSymbol()==Symbol()))
{OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss()-(OrderStopLoss()-Ask-TrallSL*Point),OrderTakeProfit(),0);}}}}
//+------------------------------------------------------------------+
double OrderOpenPricE(string comm){double j=0;for (int i=0;i<OrdersTotal();i++){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){if((OrderComment()==comm)&&(OrderType()==OP_BUY||OrderType()==OP_SELL)&&(OrderMagicNumber()==Magic)&&(OrderSymbol()==Symbol()))j=OrderOpenPrice();}}return(j);}
//+------------------------------------------------------------------+
double OrderStopLosS(string comm){double j=0;for (int i=0;i<OrdersTotal();i++){if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){if((OrderComment()==comm)&&(OrderType()==OP_BUY||OrderType()==OP_SELL)&&(OrderMagicNumber()==Magic)&&(OrderSymbol()==Symbol()))j=OrderStopLoss();}}return(j);}
//+------------------------------------------------------------------+
int start()
{
int stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
if(orders_buy()>0)if(Bid-OrderOpenPricE("buy")>TrallSL*Point)if(Bid-OrderStopLosS("buy")>TrallSL*Point){modify_sl_buy("buy");}
if(orders_sell()>0)if(OrderOpenPricE("sell")-Ask>TrallSL*Point)if(OrderStopLosS("sell")-Ask>TrallSL*Point){modify_sl_sell("sell");}
if(Time[0]!=t){ALLClosE();if(Close[1]>Open[1])Send_buy();if(Close[1]<Open[1])Send_sell();t=Time[0];}
}
//+------------------------------------------------------------------+

 
Roger:

Извините, а почему слиппаж такой маленький?

OrderSend(Symbol(),OP_BUY,lot,Ask,10*Point,Low[1],Ask+tp*Point,"BUY",Magic,0,Blue);

можно изменить на любой

обращайтесь могу автоматизировать любые идеи

 
А стралом еще меньше лосей
 

По всем тикам результаты с точностью наоборот=)

 
forex-k:

можно изменить на любой

обращайтесь могу автоматизировать любые идеи


Я хотел спросить, какой чудо-учитель учил Вас ставить в слиппаж дробное число, когда оно должно быть целым. Отсюда и большие сомнения, что сможете автоматизировать любые идеи.
Причина обращения: