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

 
fmv_for_a_way:

Граждане, подскажите, кто знает, почему на терминале Альпари не получается выставить ордер.

Функция OrderSend выглядит так

Параметров равных нулю нет. Проверял.

Минимальная дистанция для стопа и профита по условиям терминала = 0.1

Терминал выдает ошибку 130 и пишет про неверный стоп или профит.

Параметры SL и TP равны соответственно 11 и 1 (после нормолизации).

На терминалах Афорекс, Diven FX, ForexClub, AlfaForex - никаких проблем с тем же кодом.

Для Бай стоп и тейк считаются от цены Bid - это раз.

Второе - раз цены стоп-приказов рассчитываете, то их нужно нормализовать. То что ранее SL и TP нормализовали - ерунда. Далее вы уже в самом торговом приказе подставляете ненормализованное значение выражения.

Третье - все цены должны соответствовать требованиям и ограничениям при проведении торговых операций. Уровень СтопЛевел, например может оказаться больше размера стоп-приказа.

 

Подскажите пожалуйста почему так происходит.

Есть три условия (выделил жирным) при одновременном исполнении которых успешно открывается ордер.

int start()

{

int ot = OrdersTotal();

int index=iHighest(NULL,0,MODE_HIGH,20,1);
int index1=iLowest(NULL,0,MODE_HIGH,20,1);
int index3=iLowest(NULL,0,MODE_HIGH,40,20);

if(Low[index1]==Low[1])

if(High[index]==High[20])

if(Low[index3]==Low[40]

if ( Вid ==Low[40])

if (ot==0)

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point,"jfh",123 );

ПРОБЛЕМА

Как только я добавляю четвертое условие(выделил красным) ордер открывается при исполнении ТОЛЬКО четвертого условия.

А предыдущие три условия программа игнорирует.

Пробывал записывать условия через &&....не помогает

Как сделать так,что бы ордер открывался при одновременном исполнении всех четырех условий.

Спасибо.

 
solnce600:

Подскажите пожалуйста почему так происходит.

Есть три условия (выделил жирным) при одновременном исполнении которых успешно открывается ордер.

int start()

{

int ot = OrdersTotal();

int index=iHighest(NULL,0,MODE_HIGH,20,1);
int index1=iLowest(NULL,0,MODE_HIGH,20,1);
int index3=iLowest(NULL,0,MODE_HIGH,40,20);

if(Low[index1]==Low[1])

if(High[index]==High[20])

if(Low[index3]==Low[40]

if ( Вid ==Low[40])

if (ot==0)

OrderSend(Symbol(),OP_SELL,0.1,Bid,1,Ask+1500*Point,Ask-300*Point,"jfh",123 );

ПРОБЛЕМА

Как только я добавляю четвертое условие(выделил красным) ордер открывается при исполнении ТОЛЬКО четвертого условия.

А предыдущие три условия программа игнорирует.

Пробывал записывать условия через &&....не помогает

Как сделать так,что бы ордер открывался при одновременном исполнении всех четырех условий.

Спасибо.

Расставь фигурные скобки так как алгоритм должен работать.
[Удален]  
artmedia70:

Для Бай стоп и тейк считаются от цены Bid - это раз.

Второе - раз цены стоп-приказов рассчитываете, то их нужно нормализовать. То что ранее SL и TP нормализовали - ерунда. Далее вы уже в самом торговом приказе подставляете ненормализованное значение выражения.

Третье - все цены должны соответствовать требованиям и ограничениям при проведении торговых операций. Уровень СтопЛевел, например может оказаться больше размера стоп-приказа.



на алпари со вчерашнего дня перевели на маркет исполнение т.е

сначала buy/sell sl=0;tp=0; потом модификация sl=100;tp=300;

 
AlexeyVik:
Расставь фигурные скобки так как алгоритм должен работать.

Спасибо.
 
pako:


на алпари со вчерашнего дня перевели на маркет исполнение т.е

сначала buy/sell sl=0;tp=0; потом модификация sl=100;tp=300;

И это тоже туда же. Естественно - одно другому не противоречит. Он стоп-приказы для Бай от аска считает. Не нормализует их. Не проверяет на ограничение по дистанции СтопЛевел.

Короче - сборная солянка.

[Удален]  
Отлично, вопросы удаляют, классно
[Deleted]  
pako:


на алпари со вчерашнего дня перевели на маркет исполнение т.е

сначала buy/sell sl=0;tp=0; потом модификация sl=100;tp=300;


Спасибо за советы. Буду разбираться. Означает ли переход на маркет исполнение, что отложенные ордера тоже надо выставлять с нулевыми стопами и профитами с последующей модификацией?
[Deleted]  
artmedia70:

И это тоже туда же. Естественно - одно другому не противоречит. Он стоп-приказы для Бай от аска считает. Не нормализует их. Не проверяет на ограничение по дистанции СтопЛевел.

Короче - сборная солянка.



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

В данном конкретном случае стоп левел по условиям брокера = 0, а стоп и профит устанавливаются существенно дальше. Что касается цены рыночного ордера, то, насколько я понимаю, он открывается по ближайшей рыночной цене и стоп левел в данном случае ни при чем. Так?

[Deleted]  
artmedia70:

Для Бай стоп и тейк считаются от цены Bid - это раз.

Второе - раз цены стоп-приказов рассчитываете, то их нужно нормализовать. То что ранее SL и TP нормализовали - ерунда. Далее вы уже в самом торговом приказе подставляете ненормализованное значение выражения.

Третье - все цены должны соответствовать требованиям и ограничениям при проведении торговых операций. Уровень СтопЛевел, например может оказаться больше размера стоп-приказа.



Я правильно понял, что нормализовать значения нужно внутри торгового приказа?