Как кодировать? - страница 343

 
techmac:
Скрытые стоп-лосс и тейк-профит являются рискованными. Если советник не работает, ничто не может закрыть ваш советник - а советники могут быть остановлены со стороны брокера

Уважаемый techmac,

не могли бы вы объяснить подробнее, почему советник не работает, если советники не будут проверяться и тестироваться десятки раз перед применением в реальном времени вообще или на VPS...........(ничто не может закрыть ваш советник) не понял что вы имели ввиду ????? ....(и советники могут быть остановлены со стороны брокера).... по каким еще причинам брокер может остановить его, если советник применяется с разрешения/согласия брокеров. если вы имеете ввиду по каким-то скрытым параметрам?

с уважением

 
mladen:
Да. Когда в поле стоп-лосс ордера установлено какое-то значение (тогда эта строка отображается) и когда брокер несет ответственность за исполнение стоп-лосса по желаемой цене (в отличие от "мягкого" "скрытого" стоп-лосса, когда именно ваш советник должен закрыть ордер).

Дорогой МЛАДЕН,

спасибо, вы так добры, точно понимаете, как это работает в реальности.

Есть ли способ и возможность того, что наш советник пытается выполнить TP/SL в случае скрытого sl/tp в какой-то точке/уровне и какие-то скрытые действия (закодированные в брокерском ПО, которое обрабатывает торговую деятельность клиентов, разрешает или запрещает дальнейшую обработку) со стороны брокера мешают ему это сделать?

lol, так что в этом случае, кто более надежный, эффективный и ответственный советник или брокер... ....as для репутации брокеров в наши дни... мягкие продукты и нечеловеческие чувства оборудования более искренние и лояльные. .

с уважением

 
mntiwana:
Уважаемый MLADEN,

спасибо, так любезно, точно понял, как это работает на самом деле.

lol, так в этом случае, кто более надежный, эффективный и ответственный советник или брокер... ....as для репутации брокеров в наши дни... soft wares и нечеловеческие чувства оборудования более искренние и лояльные. .

с уважением

Дело в следующем :

В случае SNB, если люди использовали "скрытые" "мягкие" стоп-лоссы, у них не было никаких оснований для возврата денег (поскольку они не заполнили поле стоп-лосса, брокер вообще не обязан был что-то делать с этими ордерами). В то время как те, у кого поле было заполнено, также имели некоторые основания для жалобы - не то чтобы они получили все обратно, но, по крайней мере, они могли что-то сделать.

 
mladen:
Дело в следующем: в случае SNB, если люди использовали "скрытые" "мягкие" стоп-лоссы, у них не было никаких оснований для получения возмещения (поскольку они не заполнили поле стоп-лосса, брокер вообще не обязан был что-то делать с этими ордерами). В то время как те, у кого поле было заполнено, также имели некоторые основания для жалобы - не то чтобы они получили все обратно, но, по крайней мере, они могли что-то сделать.

Дорогой МЛАДЕН,

Еще раз спасибо за ваш экспертный взгляд на вещи.... Итак, все в целом .... трейдерские потери подтверждены, из-за любой и только небольшой причины, когда выигрыш сомнителен в любом и каждом случае.... все идет таким образом, в наши дни.это обычно.

Один вопрос, босс, когда цена на рынке падает или растет так быстро, как скорость света, есть ли шанс и возможность, что все наши разрыватели убытков (BE, SL и трейлинг стоп) могут быть проигнорированы/отклонены/пропущены через ....or....they работать эффективно всеми средствами при любых обстоятельствах.

с уважением

 
mntiwana:
Уважаемый MLADEN,

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

Один вопрос, босс, когда цена на рынке падает или растет так быстро, как скорость света, есть ли шанс и возможность, что все наши разрыватели убытков (BE, SL и трейлинг стоп) могут быть проигнорированы/отклонены/пропущены через ....or....they работают эффективно всеми средствами при любых обстоятельствах.

с уважением

mntiwana

Этого не должно произойти, но, во что бы то ни стало, прочитайте контракт, который вы заключили с брокером. Конкретные вещи, подобные этим, должны быть указаны в контракте.

 

Каким простейшим способом можно проверить пересечение двух значений?

 
apprentice coder:
Какой самый простой способ проверки пересечения двух значений?

Это зависит от того, какие значения вы сравниваете. Можете ли вы привести конкретный пример?

 
mladen:
Это зависит от того, какие значения вы сравниваете. Можете ли вы привести конкретный пример?

Например: пересечение двух средних значений

 

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

В настоящее время мой советник будет открывать еще одну сделку на той же свече, если условия будут выполнены снова после того, как моя сделка уже достигла TP или SL.

Буду признателен, если кто-нибудь сможет помочь мне в этом вопросе. Спасибо.

Ниже приведена моя программа.

С уважением

//---- входные параметры

extern double TakeProfit = 1000.0;

extern double Lots = 0.1;

extern double StopLoss = 980.0;

extern int Entry_Hour_1st = 21;

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

//| функция инициализации эксперта |

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

int init()

{

//----

//----

return(0);

}

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

//| функция деинициализации эксперта | |

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

int deinit()

{

//----

//----

return(0);

}

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

//| функция запуска эксперта |

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

int start()

{

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

//-- Триггерная торговля

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

int ticket, total;

double TP_Value, SL_Value;

total = OrdersTotal(); // проверяем общее количество сделок, открытых в данный момент

if(total < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100)))

{

if ((Close[1] - Open[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // значение длинного тела

SL_Value = (Low[1] - 0.0010); // всегда одно и то же для лонга

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

if ((Open[1] - Close[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // значение короткого тела

SL_Value = (Low[1] - 0.0010); // всегда одинаково для лонга

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

if ((Open[1] - Close[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // значение всей свечи, включая голову и хвост

SL_Value = (Low[1] - 0.0010); // всегда одно и то же для лонга

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

}

if (Hour()==Entry_Hour_1st && ((Low[1] - Low[0]) > 0.00100) && ((High[1] - Low[1]) > 0.00100)))

{

//-------------------------------------------------------//

//-------- если тело длинной свечи H7 более 10 пунктов --------//

//-------------------------------------------------------//

if ((Close[1] - Open[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // значение длинного тела

SL_Value = (High[1] + 0.0010); // всегда одинаково для шорта

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

if ((Open[1] - Close[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // значение короткого тела

SL_Value = (High[1] + 0.0010); // всегда одинаково для шорта

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

if ((Open[1] - Close[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // значение всей свечи, включая голову и хвост

SL_Value = (High[1] + 0.0010); // всегда одинаково для шорта

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

}

}

return(0);

}

}

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

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

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

Буду признателен, если кто-нибудь сможет помочь мне в этом вопросе. Спасибо.

Ниже приведена моя программа.

С уважением

//---- входные параметры

extern double TakeProfit = 1000.0;

extern double Lots = 0.1;

extern double StopLoss = 980.0;

extern int Entry_Hour_1st = 21;

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

//| функция инициализации эксперта |

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

int init()

{

//----

//----

return(0);

}

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

//| функция деинициализации эксперта | |

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

int deinit()

{

//----

//----

return(0);

}

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

//| функция запуска эксперта |

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

int start()

{

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

//-- Триггерная торговля

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

int ticket, total;

double TP_Value, SL_Value;

total = OrdersTotal(); // проверяем общее количество сделок, открытых в данный момент

if(total < 1)

{

if (Hour()==Entry_Hour_1st && ((High[0] - High[1]) > 0.00100) && ((High[1] - Low[1]) > 0.00100)))

{

if ((Close[1] - Open[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // значение длинного тела

SL_Value = (Low[1] - 0.0010); // всегда одинаково для лонга

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

if ((Open[1] - Close[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // значение короткого тела

SL_Value = (Low[1] - 0.0010); // всегда одинаково для лонга

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

if ((Open[1] - Close[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // значение всей свечи, включая голову и хвост

SL_Value = (Low[1] - 0.0010); // всегда одно и то же для лонга

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,1,SL_Value,Ask+TP_Value, "My EA",200,0,Green);

return(0);

}

}

if (Hour()==Entry_Hour_1st && ((Low[1] - Low[0]) > 0.00100) && ((High[1] - Low[1]) > 0.00100)))

{

//-------------------------------------------------------//

//-------- если тело длинной свечи H7 более 10 пунктов --------//

//-------------------------------------------------------//

if ((Close[1] - Open[1]) > 0.00100)

{

TP_Value = (Close[1] - Open[1]); // значение длинного тела

SL_Value = (High[1] + 0.0010); // всегда одинаково для шорта

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

if ((Open[1] - Close[1]) > 0.00100)

{

TP_Value = (Open[1] - Close[1]); // значение короткого тела

SL_Value = (High[1] + 0.0010); // всегда одинаково для шорта

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

if ((Open[1] - Close[1]) <= 0.00100)

{

TP_Value = (High[1] - Low[1]); // значение всей свечи, включая голову и хвост

SL_Value = (High[1] + 0.0010); // всегда одинаково для шорта

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,1,SL_Value,Bid-TP_Value, "My EA",200,0,Red);

return(0);

}

}

}

return(0);

}

}

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

tkuan77

Вам нужно найти последний закрытый бар и посмотреть, совпадает ли день последнего закрытого бара с текущим днем.

Вы можете использовать что-то вроде этой функции, чтобы получить время последнего закрытого ордера:

datetime GetLastClosedOrderTime()

{

datetime CloseTime = 0;

for(int i=OrdersHistoryTotal()-1;i>=0;i--)

{

if (OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))

if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber && OrderCloseTime()>CloseTime)

CloseTime = OrderCloseTime();

}

return(CloseTime);

}

А затем вы можете проверить, совпадает ли дата.

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