Проверте плз синтаксис

 

Привет всем!

Имеется задача открыть позицию по заданной цене в диапазоне + - 2 пункта.
Правильно ли я её реализовал:

Для SELL

ticket=OrderSend(cur,OP_SELL,StrToDouble(l),NormalizeDouble(StrToDouble(price),4),2,0,0,"expert LD",2,0,Red);    
            if (ticket==-1) {
               Print("Server price date: "+sOpenDate);
               Print("Slippage: "+NormalizeDouble(StrToDouble(price),4)+"; Current: "+MarketInfo(Symbol(),MODE_BID));
               ticket=-2;
            } 
 



Для BUY

  ticket=OrderSend(cur,OP_BUY,StrToDouble(l),NormalizeDouble(StrToDouble(price),4),2,0,0,"expert LD",2,0,Green); 
             if (ticket==-1) {
               Print("Server price date: "+sOpenDate);
               Print("Slippage: "+NormalizeDouble(StrToDouble(price),4)+"; Current: "+MarketInfo(Symbol(),MODE_ASK));
               ticket=-2;
            } 




Очень жду Ваших советов!
Спасибо

 

1. Если цена находися дальше чем минимально допустимый уровень можно ставить отложеник.

2. Если цена очень близко и нужно сделать вход, то кто вам дас с таким кодом как у вас на реале во время высокой волатильности войти в рынок без риквот.

3. Читаемость кода желает лучшего.

 
Ja ne torguju na novostjax! Menja intereoval vopros, praviljno li ja realizival ideju?
 
Leonid82:
Ja ne torguju na novostjax! Menja intereoval vopros, praviljno li ja realizival ideju?

Итак не совсем понятно зачем применять функцию
StrToDouble (

string value) применительно к лоту, если конечно вы не получаете торговые сигналы в виде текста и преобразовываете их уже в double.

NormalizeDouble(StrToDouble(price),4) - в данном исполнении 4 ставить не совсем верно. Потому, что не у всех инструментов такая мантиса. Надо использовать функцию

MarketInfo ( cur,MODE_DIGITS)

Не понятно зачем нужно делать вот это: ticket=-2;





 

Spasibo!


Znachit nado izmenitj funkciju:

- в данном исполнении 4 ставить не совсем верно. Потому, что не у всех инструментов такая мантиса. Надо использовать функцию NormalizeDouble(StrToDouble(price),4)

 

Я бы вам вообще советовал все эти функции вынести за пределы OrderSend() вы себя этим сильно путаете и не читается код, не красиво так писать. Через неделю вы уже в таком коде не разберетесь. Да и потом исправлять ошибки в нечитаемом коде сложно. Удачи...

 

spasibo!


A vot eso vopros!



Имеется 2 счёта у одного ДЦ на разные лица. Сделки совершаются с одного компьютера. Возможны ли с этим какието проблемы?

Спасибо

 
Leonid82:

spasibo!


A vot eso vopros!



Имеется 2 счёта у одного ДЦ на разные лица. Сделки совершаются с одного компьютера. Возможны ли с этим какието проблемы?

Спасибо


За все ДЦ не знаю, но обычно проблем нет. Ну или просто у меня их не было.
 
Leonid82:

spasibo!


A vot eso vopros!



Имеется 2 счёта у одного ДЦ на разные лица. Сделки совершаются с одного компьютера. Возможны ли с этим какието проблемы?

Спасибо


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

 
Есть такое понятие Доверительное управление и оно подразумевает что трейдер может управлять несколькими счетами, но по любому нужно очень внимательно читать регламент ДЦ. А если требуют один адрес (имею ввиду IP) то ихмо бежать оттуда надо, т.к. есть такое понятие динамический IP + теория надежности, когда для исключения ошибок из-за обрывов связи один и тотже счет контролируеться 3-мя разными компами.