Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 306

 
Integer:

Да неужели?
Дмитрий! Извините, ужинал! Вам уже за меня ответил Артём, и я не предполагал, что у Андрея просадка до 400 долл. на одной позиции! И другая сторона выступает на Реале при движухе, когда стоплосс может закрыться на более ста пипс хуже на пятизнаке, и "шпиляет" почём зря. Потому предпочитаю спокойно закрыться с малой "кровью" и открыться в обратную сторону.
 
artmedia70:
А где идея?


В таком случае не ИДЕЮ, а ПОДХОД.
 
borilunad:

А зачем ждать? Проверять код нужно в тестере! В условия модофикаций нужно добавить зту переменную Spread c зазором!

if (zeroprice>Ask+(Spread+зазор)*Point)
//-------------------------------------------//Е сли умножены предварительно, убрать *Point!
if (zeroprice<Bid-(Spread+зазор)*Point)


попробовал, и так OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice+Spread,0,Blue); //установка тейка в б/у для бая, если позиция в минусе тоже, но все равно TP=SL, правда с зазором не понял, он тоже нужен как переменная?
 
MaximuS60:
попробовал, и так OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),zeroprice+Spread,0,Blue); //установка тейка в б/у для бая, если позиция в минусе тоже, но все равно TP=SL, правда с зазором не понял, он тоже нужен как переменная?
ТП у Бая наверху, а СЛ внизу. Причём тут, что они равны? А зазор нужен для запаса, чтобы сервер принял по заявленной цене и не отказал. Да, пусть будет одна переменная для этих случаев, когда цена может быть непозволительно близка к месту модификаций.
 
borilunad:
ТП у Бая наверху, а СЛ внизу. Причём тут, что они равны? А зазор нужен для запаса, чтобы сервер принял по заявленной цене и не отказал. Да, пусть будет одна переменная для этих случаев, когда цена может быть непозволительно близка к месту модификаций.
спасибо за зазор.

я уже говорил что это изъян скрипта (TP=SL), так как стоп могут а забрать а TP нет, если цена не дойдет. Получится и SL в -, да и еще и не дай Бог цена развернется и по вторым тоже в минус.


короче пока не знаю что менять, утром на трезвую голову попробую.

 
MaximuS60:с.


короче пока не знаю что менять, утром на трезвую голову попробую.

Не разрешайте своей голове пить. А то распустится :)
 

Подскажите пожалуйста.

Все 43 позиции на продажу объемом 0.1 лот(1 доллар) у каждой из которой был стоп 231 п. закрылись по профиту

В рынке одновременно присутствовал только 1 рыночный ордер.

Это значит,что цена не могла уйти в минус более чем на 230 п. по любой из позиций.

Почему же тестер показывает просадку по эквити 244 п.

Ведь если бы цена уходила по какой -то позиции в минус на 244 п. то сработал бы стоп.


http://clip2net.com/s/6im1rj

 
solnce600:

Подскажите пожалуйста.

Все 43 позиции на продажу объемом 0.1 лот(1 доллар) у каждой из которой был стоп 231 п. закрылись по профиту

В рынке одновременно присутствовал только 1 рыночный ордер.

Это значит,что цена не могла уйти в минус более чем на 230 п. по любой из позиций.

Почему же тестер показывает просадку по эквити 244 п.

Ведь если бы цена уходила по какой -то позиции в минус на 244 п. то сработал бы стоп.


http://clip2net.com/s/6im1rj



Может тестирование было не по евре и стоимость пункта не 10$. Может убыточный ордер пришлось долго держать и был отрицательный своп.
 
Integer:


Может тестирование было не по евре и стоимость пункта не 10$. Может убыточный ордер пришлось долго держать и был отрицательный своп.

Евро-доллар. Значит - второй вариант. .

Спасибо.

 

Народ помогите плиз с трейлинг стопом!!!!!!!!!! Вроде всё компилирует, но на тестере трейлинг не включает!!! Срочно плиз))

//+------------------------------------------------------------------+
//| Nevalyashka_BOT.mq4 |
//| Copyright 2013, MetaQuotes Software Corp. |
//| https://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net/"
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2


extern int Bars_To_Count = 400;
extern int Arrow_dis_from_can = 2;//points
extern bool play_sound = true;
extern string sound_name = "Red Alert";
extern double lots =0.1;
extern int SlipPage =30;
extern int StopLoss =250;
extern int TrailingStop =220;
extern int TrailingStep =1;
extern string comment ="Побеждает НеВаЛяШкА";
extern int Magic =777;


double buf_up[];
double buf_down[];
double up;
double down;
double h;
int bars_cheked;
int ticket;
int Sl;
int i;

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
void init()
{
SetIndexBuffer(0,buf_up);
SetIndexArrow(0,233);
SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(1,234);
SetIndexBuffer(1,buf_down);
SetIndexStyle(1,DRAW_ARROW);


if (Digits ==3 || Digits ==5)
{
StopLoss*=10;
SlipPage*=10;
TrailingStop *=10;
TrailingStep *=10;
}
}

//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{


}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void start()
{
for(int h=1;h<Bars_To_Count-bars_cheked;h++)
{
/////////up
if(Open[h]<Close[h])
{
for(int u=h+1;u<Bars_To_Count+1;u++)
{
if(Open[u]!=Close[u])
break;
}

if(Open[u]>Close[u])
{
Sl=NormalizeDouble(Ask-StopLoss*Point,Digits);
ticket=OrderSend(Symbol(),OP_BUY,lots,Ask,SlipPage,0,0,comment,Magic,0,indicator_color1);
if (ticket>0)
{
if (OrderSelect(ticket,SELECT_BY_TICKET, MODE_TRADES) ==true)
{
OrderModify(ticket,OrderOpenPrice(),Sl,0,0);

}

}
buf_up[h]=Low[h]-Arrow_dis_from_can*Point;
}
}
}


//+------------------------------------------------------------------+


//+------------------------------------------------------------------+

////////down
if(Open[h]>Close[h])
{
for(int e=h+1; e < Bars_To_Count+1; e++)
{
if(Open[e]!=Close[e])
{
break;

if(Open[e]<Close[e])
{
Sl=NormalizeDouble(Bid+StopLoss*Point,Digits);
ticket=OrderSend(Symbol(),OP_SELL,lots,Bid,SlipPage,0,0,comment,Magic,0,indicator_color2);
if (ticket>0)
{
if (OrderSelect(ticket,SELECT_BY_TICKET, MODE_TRADES) ==true)
{
OrderModify(ticket,OrderOpenPrice(),Sl,0,0);
}
buf_down[h]=High[h]+Arrow_dis_from_can*Point;
}
}
}
}
}
Trailing();
}

void Trailing()
{
for(int i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol()||OrderMagicNumber()==Magic)
if(OrderType()==OP_BUY)
{
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>TrailingStop)
{
if(OrderStopLoss()<Bid-TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop,OrderTakeProfit(),0,Green);
}
}
}
}

if(OrderType()==OP_SELL)
{
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>TrailingStop)
{
if((OrderStopLoss()>(Ask+TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop,OrderTakeProfit(),0,Red);
}
}
}
}
}
}

//+------------------------------------------------------------------

Причина обращения: