Нужна помощь с простым кодированием
Страница 1 из 812 12 ПоследняяПоследняя
Results 1 to 10 of 13

Thread: Нужна помощь с простым кодированием

  1. #1
    Я тестирую простой return(x) или return(y) для советника, но с сообщением об ошибке testFunction - объявления функций разрешены только в пространстве имен или области класса, может ли кто-нибудь посоветовать мне, где я ошибаюсь? Спасибо

    Я учусь программировать, следуя https://www.mql5.com/ru/forum/120791 ...

    Вставленный ввод кода bool Exit_Only = 0; int OnInit () {возврат (INIT_SUCCEEDED); } void OnTick(){ int testFunction(){ if(Exit_Only==1) return(1); return(0);//иначе ожидается 0 } int resExitOnly=testFunction(); if(resExitOnly==1){ Комментарий(Только выход); Комментарий(оба входа-выхода);//иначе вывод } }

  2. #2

    Quote Originally Posted by ;
    {quote} Просто замените эту строку на эту for(int cnt=0;cntlt;OrdersTotal();cnt ){ bool isSelected = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
    Большое спасибо, теперь он работает без предупреждающего сообщения. Если вы не дадите мне ответ, я не смогу найти решение до конца своей жизни, LOL. Забавно, что OrderSelect возвращает логическое значение, т.е. мне нужно посмотреть, возвращает ли OrderSelect true или false. Спасибо еще раз.

  3. #3

    Quote Originally Posted by ;
    {quote} Честно говоря, я не знаю, что делать с предложенным вами ответом, LOL. На самом деле, мой вышеприведенный скрипт является полноценным скриптом, он работает, так как нет ошибки на прикрепленную картинку, но MetaEditor показывает предупреждающее сообщение о возвращаемом значении 'OrderSelect', следует проверить, значит, есть дефект, но я этого не делаю. знать, как устранить неполадки. Надеюсь, вы не возражаете против исправления полного скрипта, чтобы он вообще не отображал предупреждающее сообщение. Спасибо. {изображение}
    Просто замените эту строку этим вставленным кодом for(int cnt=0;cntlt;OrdersTotal();cnt ){ bool isSelected = OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

  4. #4
    1 Приложение(я)
    Quote Originally Posted by ;
    {quote} OrderSelect возвращает логическое значение, вам нужно увидеть, возвращает ли OrderSelect значение true или false bool x = OrderSelect() или if(OrderSelect())
    Честно говоря, Quants, я не знаю, что делать с предложенным вами ответом, LOL. На самом деле, мой вышеприведенный скрипт является полноценным скриптом, он работает, так как нет ошибки на прикрепленную картинку, но MetaEditor показывает предупреждающее сообщение о возвращаемом значении 'OrderSelect', следует проверить, значит, есть дефект, но я этого не делаю. знать, как устранить неполадки. Надеюсь, вы не возражаете против исправления полного скрипта, чтобы он вообще не отображал предупреждающее сообщение. Спасибо.

  5. #5
    Quote Originally Posted by ;
    {quote} Функция возвращает 1 и 0 и редактирует текст в зависимости от условия. Вместо многократного вызова Comment вы можете просто отредактировать текстовую переменную, которую вы хотите распечатать, с помощью функции Result. Рад, что ваша проблема решена
    Большое спасибо Quants, вы очень любезны. Как новичок, использование Комментария — это самый простой способ начать, но когда вы углубитесь в практическую деятельность, такую ​​как сложные вычисления, он будет вызываться несколько раз без остановки на основе тика, а не в виде простого текста. Я перейду к этому этапу позже, когда мои навыки кодирования будут в порядке.

  6. #6

    Quote Originally Posted by ;
    Уважаемые кодеры, у меня еще вопрос по скрипту. Этот скрипт предназначен для подсчета количества открытых сделок на ПОКУПКУ и открытых сделок на ПРОДАЖУ, но он имеет предупреждающее возвращаемое значение «OrderSelect», которое следует проверить, пожалуйста, сообщите, спасибо. интервал магическое число = 1; void OnStart(){ int cntBuyOrders=0; интервал cntSellOrders=0; for(int cnt=0;cntlt;OrdersTotal();cnt ){ OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderType()==OP_BUY OrderSymbol()==Symbol() OrderMagicNumber()==magicNum){ cntBuyOrders ; } if (OrderType()==OP_SELL OrderSymbol()==Symbol() OrderMagicNumber()==magicNum){...
    OrderSelect возвращает логическое значение, вам нужно увидеть, возвращает ли OrderSelect значение true или false. Вставленный код bool x = OrderSelect() или if(OrderSelect())

  7. #7
    Уважаемые кодеры, у меня еще вопрос по скрипту. Этот скрипт предназначен для подсчета количества открытых сделок на ПОКУПКУ и открытых сделок на ПРОДАЖУ, но он имеет предупреждающее возвращаемое значение «OrderSelect», которое следует проверить, пожалуйста, сообщите, спасибо. Вставленный код int magicNum = 1; void OnStart(){ int cntBuyOrders=0; интервал cntSellOrders=0; for(int cnt=0;cntlt;OrdersTotal();cnt ){ OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); if (OrderType()==OP_BUY OrderSymbol()==Symbol() OrderMagicNumber()==magicNum){ cntBuyOrders ; } if (OrderType()==OP_SELL OrderSymbol()==Symbol() OrderMagicNumber()==magicNum){ cntSellOrders ; } } MessageBox(Info Total Open Orders BUY: IntegerToString(cntBuyOrders) \n Info Total Open Orders SELL: IntegerToString(cntSellOrders) \n); }

  8. #8
    Quote Originally Posted by ;
    {quote} Спасибо, но ваше решение не то, что мне нужно, потому что строковый текст - не мое направление, но я хочу узнать, как return(0) и return(1) работают для функции. Спасибо, в любом случае.
    Функция возвращает 1 и 0 и редактирует текст в зависимости от условия. Вместо многократного вызова Comment вы можете просто отредактировать текстовую переменную, которую вы хотите распечатать, с помощью функции Result. Рад, что ваша проблема решена

  9. #9

    Quote Originally Posted by ;
    входное логическое значение Exit_Only = 0; int OnInit () {возврат (INIT_SUCCEEDED); } int testFunction() { if(Exit_Only==1) return(1); иначе return(0);//иначе ожидается 0 } void OnTick(){ int resExitOnly=testFunction(); if(resExitOnly==1){ Комментарий(Только выход); } else { Комментарий(оба входа-выхода);//иначе вывод } }
    Спасибо Mic_FX, да, ваше решение — то, что мне нужно, оно работает! Будучи новичком, я сегодня кое-чему научился, спасибо

  10. #10

    Quote Originally Posted by ;
    {quote} Вам нужно объявить свои функции вне функции OnTick и вызвать их в OnTick как TestFunction(); входное логическое значение Exit_Only = 0; int OnInit () { return (INIT_SUCCEEDED); } void OnTick(){ текст строки = оба Вход Выход; int resExitOnly=testFunction(); if(resExitOnly){текст = Только выход}; Комментарий(текст);//другой вывод } int testFunction(){ ExitOnly == 1 ? возврат 1 : возврат 0 }
    Спасибо, Quants, но ваше решение не то, что мне нужно, потому что строковый текст не является моим направлением, но я хочу узнать, как return (0) и return (1) работают для функции. Спасибо, в любом случае.

Действующие разрешения

  • Вы не можете создавать новые темы
  • Вы не можете размещать ответы
  • Вы не можете использовать вложения
  • Вы не можете редактировать ваши записи
  •  
  • BB-код - Вкл.
  • Смайлики - Вкл.
  • Код [IMG] - Вкл.
  • Код [VIDEO] - Вкл.
  • HTML-код - Выкл.
Веб-сайт использует cookies
Веб-сайт использует cookies, в настоящее время некоторые из них уже установлены. Вы можете ознакомиться с более подробной информацией об использовании нами cookies здесь. Чтобы принять условия использования cookies, пожалуйста, нажмите на кнопку справа. Если вы продолжаете пользоваться веб-сайтом, вы по умолчанию принимаете условия использования cookies.