Объясните почему...

 

Приветствую.

Подскажите пожалуйста почему так получается:

Двигаясь против сделки мне нужно что бы советник открыл сделку по мартину через определенный шаг, я пишу:

if ((prBuy - Ask) / Point > Step)

ну и все работает.

Но мне нужно открыть сделку когда цена пошла в нужную сторону и прошла больше определенного шага, я пишу:

if ((Ask - prBuy) / Point > Step)

и ничего не работает.

Подскажите пожалуйста почему так, и как правильно?

 

 

ну и чему будет равно prBuy - Ask ?

не отрицательное ли там число получается? вот и условие не выполняется.

 
Stanislav Aksenov:

ну и чему будет равно prBuy - Ask ?

не отрицательное ли там число получается? вот и условие не выполняется.


Прошу прощения, не правильно написал условия, исправил.

 

Всем спасибо, разобрался, дело было не в машине))

 

Не целесообразно, с точки зрения производительности, каждый раз делить дельту цены на величину пункта. Правильнее в Init перевести step из пунктов в дельту цены, заодно можно выполнить унификацию 4х/5ти знаковых котировок.