Нужна помощь в возврате значения из функции
Results 1 to 7 of 7

Thread: Нужна помощь в возврате значения из функции

  1. #1
    Я написал нижеприведенную функцию в советнике, чтобы проверить наличие текущей цены между 0-8 ценами, сохраненными в массиве, который я рассчитал. Я думал, что вы можете вернуть значение из функции, но я продолжаю получать ноль вместо того, что было при подсчете цены. Может ли кто-нибудь помочь мне, сказав, где я не прав? Я Int K в начале советника ...

    Спасибо

    PHP Code: <code><span style=”color: #000000”> <span style=”color: #0000BB”>intloe_price</span><span style=”color: #007700”>()</span><span style=”color: #FF8000”>//FunctiontoloepricebetweenGannlines
    </span><span style=”color: #007700”>{</span><span style=”color: #FF8000”>//Checkalllines0-8
    </span><span style=”color: #007700”>for(</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”>=</span><span style=”color: #0000BB”>0</span><span style=”color: #007700”>;</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”>lt;</span><span style=”color: #0000BB”>9</span><span style=”color: #007700”>;</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”> )
    {
    if(</span><span style=”color: #0000BB”>level</span><span style=”color: #007700”>#91;</span><span style=”color: #0000BB”>10</span><span style=”color: #007700”>#93;==</span><span style=”color: #0000BB”>1</span><span style=”color: #007700”>)
    {
    if(</span><span style=”color: #0000BB”>Bid</span><span style=”color: #007700”>gt;</span><span style=”color: #0000BB”>level</span><span style=”color: #007700”>#91;</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”>#93;</span><span style=”color: #0000BB”>Bid</span><span style=”color: #007700”>lt;</span><span style=”color: #0000BB”>level</span><span style=”color: #007700”>#91;</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”> </span><span style=”color: #0000BB”>1</span><span style=”color: #007700”>#93;)
    {
    return(</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”>);
    }
    else
    {
    return(</span><span style=”color: #0000BB”>0</span><span style=”color: #007700”>);
    }
    }
    if(</span><span style=”color: #0000BB”>level</span><span style=”color: #007700”>#91;</span><span style=”color: #0000BB”>10</span><span style=”color: #007700”>#93;==</span><span style=”color: #0000BB”>2</span><span style=”color: #007700”>)
    {
    if(</span><span style=”color: #0000BB”>Bid</span><span style=”color: #007700”>lt;</span><span style=”color: #0000BB”>level</span><span style=”color: #007700”>#91;</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”>#93;</span><span style=”color: #0000BB”>Bid</span><span style=”color: #007700”>gt;</span><span style=”color: #0000BB”>level</span><span style=”color: #007700”>#91;</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”> </span><span style=”color: #0000BB”>1</span><span style=”color: #007700”>#93;){
    return(</span><span style=”color: #0000BB”>k</span><span style=”color: #007700”>);
    }
    else{
    return(</span><span style=”color: #0000BB”>0</span><span style=”color: #007700”>);
    }
    }
    }
    }
    </span><span style=”color: #0000BB”></span> </span> </code>

  2. #2
    Не уверен, но вы ссылаетесь на уровень [k 1], который может быть на 1 больше, чем размер вашего массива? Таким образом, эта часть может не быть истинной и поэтому перейдет к части else и вернет 0. Если вы не уверены, просто вставьте в комментарий «comment ()», чтобы вернуть значения, на которые вы ссылаетесь (если это имеет смысл) , например, комментарий (уровень [7], уровень [8], уровень [9]);

  3. #3
    Может быть, уровень [10] не является ни 1, ни 2? может быть, цена всегда ложится, когда k == 0?

  4. #4
    Здесь есть три вещи: 1: ваш массив затемнен и что он тоже уменьшен. 2 вы всегда получите нулевое возвращение от этой функции. Посмотрите на два возвращаемых определения, которые они жестко закодировали, чтобы вернуть ноль. Что вы не делаете, нет никаких параметров в вызове функции. Если ваш массив объявлен глобально, любые изменения, внесенные в него в функции, будут потеряны вне функции. если только это не прошло byRef. вам нужно определить, что вы хотите, чтобы ваша функция возвращала, и написать код для ее возврата. Keit
    Quote Originally Posted by ;
    Я написал нижеприведенную функцию в советнике, чтобы проверить наличие текущей цены между 0-8 ценами, сохраненными в массиве, который я рассчитал. Я думал, что вы можете вернуть значение из функции, но я продолжаю получать ноль вместо того, что было при подсчете цены. Может ли кто-нибудь помочь мне, сказав, где я не прав? I int k в начале советника ... Спасибо [php] int loe_price ()/Функция для определения цены между линиями Ганна {...
    Quote Originally Posted by ;
    Я написал нижеприведенную функцию в советнике, чтобы проверить наличие текущей цены между 0-8 ценами, сохраненными в массиве, который я рассчитал. Я думал, что вы можете вернуть значение из функции, но я продолжаю получать ноль вместо того, что было при подсчете цены. Может ли кто-нибудь помочь мне, сказав, где я не прав? I int k в начале советника ... Спасибо [php] int loe_price ()/Функция для определения цены между линиями Ганна {...

  5. #5
    Массив установлен в [11], но я только что напечатал значения в функции, и уровень [10] застрял на 2 ..., который по-прежнему не объясняет возвращение нуля, но что-то для проверки ...

  6. #6
    У меня есть массив 0-8 с расчетными ценами. В зависимости от того, где находится текущая цена или между какой из цен 0-8, будет определяться, на каких уровнях советник ищет цену для пробоя. Как лестничные ступени или уровни ... Итак, я пытался использовать индексный номер из функции, когда текущая цена была установлена, чтобы я мог ссылаться на тот же индексный индекс на цены 0-8. Я не думал отправлять весь уровень [k] (я все еще новичок во всем этом). Очень признателен!
    Quote Originally Posted by ;
    Окей, у меня плохие глаза, я не выгляжу так хорошо, я не видел, чтобы у вас там было 4 возврата, два, которые возвращают K, возвращают индекс цикла for. что это ты, что это вернуть? Если это содержится в массиве, то вам нужно знать? возврат (уровень [k]); если вы хотите вернуть измененный элемент массива, вам нужно передать его как параметр, как в примере. и вызвать функцию как в; loe_price (уровень); Таким образом, вы передаете весь массив, и любые изменения, которые вы вносите в него, останутся вне функции ....
    Quote Originally Posted by ;
    Окей, у меня плохие глаза, я не выгляжу так хорошо, я не видел, чтобы у вас там было 4 возврата, два, которые возвращают K, возвращают индекс цикла for. что это ты, что это вернуть? Если это содержится в массиве, то вам нужно знать? возврат (уровень [k]); если вы хотите вернуть измененный элемент массива, вам нужно передать его как параметр, как в примере. и вызвать функцию как в; loe_price (уровень); Таким образом, вы передаете весь массив, и любые изменения, которые вы вносите в него, останутся вне функции ....

  7. #7
    Окей, у меня плохие глаза, я не выгляжу так хорошо, я не видел, чтобы у вас там было 4 возврата, два, которые возвращают K, возвращают индекс цикла for. что это ты, что это вернуть? Если это содержится в массиве, то вам нужно знать? возврат (уровень [k]); если вы хотите вернуть измененный элемент массива, вам нужно передать его как параметр, как в примере. и вызвать функцию как в; loe_price (уровень); Таким образом, вы передаете весь массив, и любые изменения, которые вы вносите в него, останутся вне функции. Если элемент 10 застрял на 2, то следующий статут всегда возвращает false if (Bid lt; level [k] Bid gt; level [k 1]) и возврат равен нулю. Keit Inserted Code/Функция для определения цены между линиями Ганна/Проверка всех строк 0-8 int loe_price (int level # 91; # 93 {for (k = 0; k lt; 9; k ) {if (уровень # 91; 10 # 93; == 1) {if (Bid gt; уровень # 91; k # 93; Bid lt; уровень # 91; k 1 # 93 {return (k); } else {return (0)}} if (уровень # 91; 10 # 93; == 2) {if (Bid lt; уровень # 91; k # 93; Bid gt; уровень # 91; k 1 # 93; ) {return (k); } else {return (0); }}}
    Quote Originally Posted by ;
    Массив установлен в [11], но я только что напечатал значения в функции, и уровень [10] застрял на 2 ..., который по-прежнему не объясняет возвращение нуля, но что-то для проверки ...
    Quote Originally Posted by ;
    Массив установлен в [11], но я только что напечатал значения в функции, и уровень [10] застрял на 2 ..., который по-прежнему не объясняет возвращение нуля, но что-то для проверки ...

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

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