А все таки 86 больше 10!

 

Проверял условие:

if(TPBuy<MarketInfo(symb,MODE_STOPLEVEL)+3)

Условие верно при 86<10,

Вывел:

Print(TPBuy,"<",MarketInfo(symb,MODE_STOPLEVEL)+3);

Получил: 2007.11.28 10:40:30 InvestMoney C8 GBPJPY,Daily: 86<10

Помогите кто-нибудь разобраться.

 
возможно не совпадают типы. какого типа переменная TPBuy? наверное int? а MarketInfo(symb,MODE_STOPLEVEL) наверняка возвращает double
 
ExpertTrader:

Проверял условие:

if(TPBuy<MarketInfo(symb,MODE_STOPLEVEL)+3)

Условие верно при 86<10,


Почему же оно верно? Разве 86<10? :(
 
scorpionk:
возможно не совпадают типы. какого типа переменная TPBuy? наверное int? а MarketInfo(symb,MODE_STOPLEVEL) наверняка возвращает double

int TPBuy, MarketInfo(symb,MODE_STOPLEVEL) возвращает int
 
goldtrader:
ExpertTrader:

Проверял условие:

if(TPBuy<MarketInfo(symb,MODE_STOPLEVEL)+3)

Условие верно при 86<10,


Почему же оно верно? Разве 86<10? :(
Вот и я не пойму, почему оно верно.
 
ExpertTrader:
scorpionk:
возможно не совпадают типы. какого типа переменная TPBuy? наверное int? а MarketInfo(symb,MODE_STOPLEVEL) наверняка возвращает double

int TPBuy, MarketInfo(symb,MODE_STOPLEVEL) возвращает int


Некорректное сравнение различных типов: вещественного и целочисленного: попробуйте объявить TPBuy как double.

PS Кстати, почему кривая баланса на Ваших счетах 11240 и 11052 загибаться в другую сторону стала?

 
goldtrader:
ExpertTrader:
scorpionk:
возможно не совпадают типы. какого типа переменная TPBuy? наверное int? а MarketInfo(symb,MODE_STOPLEVEL) наверняка возвращает double

int TPBuy, MarketInfo(symb,MODE_STOPLEVEL) возвращает int


Некорректное сравнение различных типов: вещественного и целочисленного: попробуйте объявить TPBuy как double.

PS Кстати, почему кривая баланса на Ваших счетах 11240 и 11052 загибаться в другую сторону стала?


Да нет, все правильно, я нашел ошибку. Я не поставил фигурные скобки и переменная LPBuy устанавливарась равной MarketInfo(symb,MODE_STOPLEVEL)+3, а проверял я именно её, из чего и сделал вывод о верности условия. ..

Было:

if(TPBuy<MarketInfo(symb,MODE_STOPLEVEL)+3)TPBuy=MarketInfo(symb,MODE_STOPLEVEL)+3;LPBuy=MarketInfo(symb,MODE_STOPLEVEL)+3;

Исправил на:

if(TPBuy<MarketInfo(symb,MODE_STOPLEVEL)+3){TPBuy=MarketInfo(symb,MODE_STOPLEVEL)+3;LPBuy=MarketInfo(symb,MODE_STOPLEVEL)+3;}

Все работает правильно.

 

Просадка на счёте 11052 более 60% депозита. Сигнала на закрытие нет? Не страшно?

Виктор, и ещё вопрос: Вам по блату свопы не начисляют или как?

 
goldtrader:

Просадка на счёте 11052 более 60% депозита. Сигнала на закрытие нет? Не страшно?

Виктор, и ещё вопрос: Вам по блату свопы не начисляют или как?


Я эксперта отцеплял, сейчас позиция на продажу фунт-йены в ручном режиме...
 
ExpertTrader:
Да нет, все правильно, я нашел ошибку...
Справедливости ради надо бы сменить название темы, ведь "все-таки она вертится" в правильную сторону.
Кстати, у меня много казусов возникало именно из-за отсутствия фигурных скобок, особенно при доработке кода.
 
ExpertTrader:
Я эксперта отцеплял, сейчас позиция на продажу фунт-йены в ручном режиме...


Очень странно :(

Убыточная позиция открыта более чем сутки тому назад, с тех пор открыто и закрыто 11 ордеров, причём с магиками (что вручную невозможно). Кто же это хулиганил на Вашем счёте?

И почему всё-таки свопы не начисляют?

Кстати, просадка уже превышает 75% депозита (убыток > 35К при балансе 47.5К) - инвестор пошёл за валидолом. Может руками прикрыть от греха?