0
в какой блок. просто я новичок в на этом сайте. но покамест тестирую когда получится тогда и вылаживать буду.
avatar

laban

  • 24 января 2016, 20:02
0
Спасибо большое!!! и успехов ВАМ!!!
avatar

laban

  • 22 января 2016, 23:17
+1
Попробую. Если поиграться с тп и сл ом. к примеру на разных парах разные, надо тестировать. к примеру евродоллар тп/сл 30/60. из 10 сделок подряд одна прибыльная по любому. Я торгую 2 сделки в день по каждой паре. еще торгую через возврат спреда это дополнительный доход. Уже не раз испытано при полном сливе возврат спреда отдает 25%. За 1 — 2 месяца отбиваешь свои деньги. это первый советник. Но хотелось бы граля. Потому что практика показывает что прибыльная сделка получается 3 или 4 подряд. Редко 9 — 10я (при ручной торговле слив был 2 раза в год ).
Но если будут сделки открываться и в бай и шелл одновременно, закрытие их будет одновременно. убыток превращаем в прибыль и с одной стороны увеличим возврат спреда и по моим подсчетам увеличиваем количество сделок с 10 до 16 — 17 в худшем случае, что конечно увеличивает шанс на прибыльную сделку. (ну в общем еще буду тестировать но это очень умеренный мартингейл).
а сл и тп используемые евро доллар 30/60. британец доллар 25/50 (доллар японец, доллар канадец и доллар швейдарец все 20/40)
и использую тайм фрейм 15. на 5 много шума на 30 запаздывает.
Klot умножаю не на 2 а на 1.2 — 1.45 на разных парах разные. так же Kstop умножаю на 1,1
Ну объяснил как смог протестирую и будем видеть

avatar

laban

  • 22 января 2016, 23:11
0
Aндрей если возможно можно еще раз обратиться. по этому же советнику. торгует отлично. и ставлю советник на 8 пар. Выдерживает просадку. Практика показывает что в профит выхожу на 4 — 5 максимум на 10 сделки подряд (так как stoploss ставлю в 2 раза меньше takeprofita), при увеличеном KLot. хотелось бы при сигнале на бай открывались ордер и в бай и в шелл. с заданным take и stop, так же само и при сигнале на шелл чтобы открывались на бай и на шелл. остальное оставить так же как и есть. Закрываться они будут одновременно, при таком раскладе стопы мы превращаем в 25% прибыли от ожидаемой позиции
avatar

laban

  • 24 декабря 2015, 19:16
0
еще более благодарен по этой торговой системе работаю более полугода, но на разных индикаторах MACD. RSI и MA. и в разных брокерах. поэтому и выучил поверхностно МКЛ. из разных советников брал куски кода и получил советник полуавтомат при достигаемой прибыли выключал советник на отдельной паре вручную. на три брокера и на 5 валютных парах каждая трудновато уследить. кстати давал не плохой результат. Сейчас будет на много легче. протестирую проработаю. извиняюсь если еще раз обращусь. но если все пойдет как положено профитом поделимся.
avatar

laban

  • 26 октября 2015, 22:44
0
Спасибо большое будем тестить и оптимизировать.
avatar

laban

  • 26 октября 2015, 15:57
0
я не очень обладаю навыками так поверхностно. и уже 3 часа думаю.
последняя моя думка если я правильно понимаю вот такая
добаляю
void Stop()
{
bool sel=OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderProfit()<0)
{
Lots=OrderLots() *1.5;
StopMode();
mode++;
}
if(OrderProfit()>0)
{
Lots= Lots;
}
}
return;
}
и еще что то надо обнулить m но как не понимаю. что бы переменная m не срабатывала. но где ее всунуть тоже не понимаю
avatar

laban

  • 26 октября 2015, 15:15
0
Спасибо большое но еще одна просьба увеличить как стоп лосс так же и тэйк профит. и если ордер сработал по тэйку то не важно этот ордер в покупку или в продажу чтобы значение StoppLoss и TakeProfit возвращались в первоначальные.Так же хотелось бы всунуть обратно функцию мартингейла на лот но чтобы он умножал не на 2 а на 1.5. пробовал вставить эту же функцию но при срабатывании профита. лот модифицируется и ставит лот последнего сработанного ордера. и потом опять увеличивается. извиняюсь за назойливость. но заранее благодарен.
avatar

laban

  • 26 октября 2015, 14:27
0
В конце добалвена функция мартингейла. но хотелось бы что бы мартингейл работал не на лоте а увеличивался в 2 раза Стоп лосс и Таке профит.
Алгоритм 1)если по истории профит меньше 0 то увеличиваем СЛ и ТП в два разе.
avatar

laban

  • 26 октября 2015, 09:22
0
extern double StopLoss = 20;
extern double TakeProfit = 20;
extern int Hour_Start =8;
extern int Hour_Stop =17;
extern double Ma1 = 9;
extern double Ma2 = 22;
extern double Lots = 0.01;

bool b=true, s=true;

//+------------------------------------------------------------------+
int start()
{
//---- go trading only for first tiks of new bar
if(Volume[0]<1 && Volume[0]>10 ) return;
//----
int p=0;
//---- get Indicatorrs
double ma1=iMA(NULL,0,Ma1,0,MODE_EMA,PRICE_CLOSE,1);
double ma2=iMA(NULL,0,Ma2,0,MODE_EMA,PRICE_CLOSE,1);
//----

for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS)==true)
{
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=MAGIC) continue;
if (OrderType()==OP_BUY || OrderType()==OP_SELL) p++;
}
}
//---- buy
if(ma1>ma2 && b && p<1)
{
if( Hour()>=Hour_Start && Hour()<Hour_Stop )
{
OrderSend(Symbol(),OP_BUY,Lots(),Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",MAGIC,0,Blue);
b=false;
s=true;
}
}
//---- sell
if(ma1<ma2 && s && p<1)
{
if( Hour()>=Hour_Start && Hour()<Hour_Stop )
{
OrderSend(Symbol(),OP_SELL,Lots(),Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",MAGIC,0,Red );
b=true;
s=false;
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
double Lots()
{
double Lot = Lots;
int total = OrdersHistoryTotal();
for (int i = 0; i < total; i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if (OrderSymbol()== Symbol() && OrderMagicNumber() == MAGIC)
{
if (OrderProfit() > 0)
{
Lot=Lots;
}
else
{
Lot=OrderLots() *2;
}
}
}
return(Lot);
}
//+------------------------------------------------------------------+StopLoss
avatar

laban

  • 26 октября 2015, 09:17
0
нашел временый интервал проверял на 15. Ма1 и Ма2 это меняешь машки. Если не понятно пиши разберемся.

#define MAGIC 200000207

extern double StopLoss = 20;
extern double TakeProfit = 20;
extern int Hour_Start=8;
extern int Hour_Stop=17;
extern double Ma1 = 9;
extern double Ma2 = 22;
extern double Lots = 0.01;

bool b=true, s=true;

//+------------------------------------------------------------------+
int start()
{
//---- go trading only for first tiks of new bar
if(Volume[0]<1 && Volume[0]>10 ) return;
//----
int p=0;
//---- get Indicatorrs
double ma1=iMA(NULL,0,Ma1,0,MODE_EMA,PRICE_CLOSE,1);
double ma2=iMA(NULL,0,Ma2,0,MODE_EMA,PRICE_CLOSE,1);
//----

for (int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS)==true)
{
if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=MAGIC) continue;
if (OrderType()==OP_BUY || OrderType()==OP_SELL) p++;
}
}
//---- buy
if(ma1>ma2 && b && p<1)
{
if( Hour()>=Hour_Start && Hour()<Hour_Stop )
{
OrderSend(Symbol(),OP_BUY,Lots(),Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"",MAGIC,0,Blue);
b=false;
s=true;
}
}
//---- sell
if(ma1<ma2 && s && p<1)
{
if( Hour()>=Hour_Start && Hour()<Hour_Stop )
{
OrderSend(Symbol(),OP_SELL,Lots(),Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"",MAGIC,0,Red );
b=true;
s=false;
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
double Lots()
{
double Lot = Lots;
int total = OrdersHistoryTotal();
for (int i = 0; i < total; i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);
if (OrderSymbol()== Symbol() && OrderMagicNumber() == MAGIC)
{
if (OrderProfit() > 0)
{
Lot=Lots;
}
else
{
Lot=OrderLots() *2;
}
}
}
return(Lot);
}
//+------------------------------------------------------------------+
avatar

laban

  • 19 октября 2015, 10:27
0
нашел временый интервал проверял на 15. Ма1 и Ма2 это меняешь машки. Если не понятно пиши разберемся.
avatar

laban

  • 19 октября 2015, 10:25
0
этот советник метод пурия, и не очень хорош. там просто 3 мувинга и MACD и то же самое. пробовал прикрутить мартина. эксперементировал на разных периодах мувинга. в конце получил на 6 валютных парах минимум 10 пройгрышей подряд. поковыряюсь и выложу.
avatar

laban

  • 18 октября 2015, 20:48
0
прикольная тема. извиняюсь может я не по теме но создал советник засунул в него эту функцию. на одной паре работает без проблем. но на мультивалютке глючит. берет на lotsAray {} 0.1,0.2,0.3,0.4,0.5,0.6. первый лот 0.1 второй. 0.2 идет а третий уже вкладывает 0.5 по порядку. Извиняюсь если вопрос глупый но хотелось бы разобраться.
avatar

laban

  • 13 сентября 2015, 00:40