[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 762

 
FoxUA:

вопрос как правильно записать воттакую функцию

вот так работает

а мне надо чтоб обе работали обясните кому не трудно

Не совсем понятный вопрос, ну да ладно. 
Записать очень просто, почти также как у вас:

void tmp_function(){
   if(my_total_order == 0){
      OpenBuyOrder(Lot,PRAsk);
      OpenBuyStopOrder(Lot,PRAsk); 
      OpenBuyLimitOrder(Lot,PRAsk);
   }
   if(my_total_order == 5){
      OpenBuyOrder(Lot,PRAsk);
      OpenBuyStopOrder(Lot*3,PRAsk); 
      OpenBuyLimitOrder(Lot*3,PRAsk);
   }
}
 
ToLik_SRGV:

Не совсем понятный вопрос, ну да ладно.
Записать очень просто, почти также как у вас:


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

if(my_total_order == 0)           //|                     //|   
{double Lt=Lot;                  //|                     //|
  double PR=PRAsk;                //| --- первая функция  //|
  OpenBuyOrder(Lt,PR);            //|                     //|
  OpenBuyStopOrder(Lt,PR);        //|                     //|
  OpenBuyLimitOrder(Lt,PR);}      //|                     //|
//+--------------------------------+                      //|----  надо обеденить в одну
if(my_total_order == 5)           //|                     //|
{double Lt=Lot*3;                //|                     //|
  double PR=PRBid;                //| --- вторая функция  //|
  OpenSellOrder(Lt,PR);           //|                     //|
  OpenSellStopOrder(Lt,PR);       //|                     //|
  OpenSellLimitOrder(Lt,PR);}     //|                     //|

проблема   'Lt' - variable already defined (уже определенная переменная),       
           'PR' - variable already defined (уже определенная переменная), 
'Lt' 'PR' -  они как раз и нужны но как им присвоить разные значения ? 



 
FoxUA:

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

Их можно объявить как глобальные, например вне функций.
А они нужны только чтобы передавать значения Lot и PRAsk? Можно же как я написал передавать на прямую.
 
ToLik_SRGV:
Их можно объявить как глобальные, например вне функций.
А они нужны только чтобы передавать значения Lot и PRAsk? Можно же как я написал передавать на прямую.

Оно то да но значений одного токо лота будет 10 и + каждый из них будет и на PRAsk и на PRBid итого функций на открытие а имено " int OpenBuyOrder(double Lt, double PR).............." и остальные, буде до чертиков очень много, вот и ищю как бы его не расписывать в 3 томах

 

ВСЕ РЕШЕНИЕ НАЙДЕНО ВСЕМ СПАСИБО ВОПРОС ЗАКРЫТ

 

Еще один вопрос как можно из рыночного ордера, цену StopLoss иTakeProfit назначить во временую переменую ?

 
Techno:
в без визуализации почему не работает? Графические объекты, угловые объекты не используешь?
Даже если тупо голимая стратегия без вывода какой-либо графики - всё одно... пусто в результатах, как в вакууме...
 
FoxUA:

Еще один вопрос как можно из рыночного ордера, цену StopLoss иTakeProfit назначить во временую переменую ?

Ищете в рынке нужный ордер и функциями OrderStopLoss() и OrderProfit() извлекаете нужную вам информацию...

================================================================================

double OrderStopLoss( )
Возвращает значение цены закрытия позиции при достижении уровня убыточности (stop loss) для текущего выбранного ордера.
Ордер должен быть предварительно выбран с помощью функции OrderSelect().

double OrderProfit( )
Возвращает значение чистой прибыли (без учёта свопов и комиссий) для выбранного ордера. Для открытых позиций это - текущая нереализованная прибыль. Для закрытых ордеров - зафиксированная прибыль.
Ордер должен быть предварительно выбран с помощью функции OrderSelect().
================================================================================
... и записываете её в переменные.
 
artmedia70:

Ищете в рынке нужный ордер и функциями OrderStopLoss() и OrderProfit() извлекаете нужную вам информацию...

================================================================================

double OrderStopLoss( )
Возвращает значение цены закрытия позиции при достижении уровня убыточности (stop loss) для текущего выбранного ордера.
Ордер должен быть предварительно выбран с помощью функции OrderSelect().

double OrderProfit( )
Возвращает значение чистой прибыли (без учёта свопов и комиссий) для выбранного ордера. Для открытых позиций это - текущая нереализованная прибыль. Для закрытых ордеров - зафиксированная прибыль.
Ордер должен быть предварительно выбран с помощью функции OrderSelect().

я конечно извеняюсьб но я спрашивал не как мне найти данные StopLoss иTakeProfit это мы знаем! а как эти даные назначить во временую переменую?

 

Уважаемые специалисты програмирования! Не могли бы вы дополнить код советника функцией проверки рабочего времени. Т.е. чтобы советник открывал позиции только в определенный временной интервал, к примеру с 8 до 20 по москве.

Файлы: