Прекратите проверять цену после достижения Тейк-профита или стоп-лосса, Пользовательская функция на листе Google с помощью скрипта приложений - PullRequest
1 голос
/ 31 марта 2020

Надеюсь, есть кто-то, кто поможет мне, когда я просто сдаюсь. У меня есть лист Google, который заполнен электронными письмами в формате stati c, связанными с торговыми сигналами. Я нашел здесь скрипт для получения новых писем на этом листе. Эти сигналы имеют следующий формат:

DateAndTime, Market, EntryType, EntryRate, TakeProfit1, TakeProfit2, StopLoss, LiveResult, LiveRate, PL 30/03/2020, EURUSD, BUY, 1.1025, 1.1055, 1.1095, 1.1000, -10, 1.1015, ??

При импорте json я получаю текущие ставки всех пар и сравниваю их с записью для получения живого результата.

Мне нужна пользовательская функция, которая сравнивает текущую скорость с TP2 и стоп-лоссом и сообщает мне, какое из них достигнуто, но после выполнения одного из условий я хочу, чтобы функция прекратила проверку и просто оставила значение "hit tp" или "hit SL" в ячейке PL.

Я пытался с помощью запроса, с пользовательской функцией (очень основы c, потому что я не программист), с важностью, и Также я попытался присвоить уникальное значение другой ячейке, а затем использовать оператор IF для этой ячейки, но ни один из них не сработал. Как только цена меняется, ячейка PL всегда меняет значение в ней.

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

на этом этапе я объявляю себя совершенно неспособным продолжать. Любая помощь будет абсолютно признательна

Это моя функция. Но это не что иное, как обычный IF

function IFUNTIL(dir,target2, stop, price) {

var result;
var count = 0;

      if (dir === "BUY" && count == 0){

          switch (true)
                {
                 case (price > target2):
                    result = "TP2 HIT";
                    count++;
                    break;

                 case (price < stop):
                    result = "STOP HIT";
                    count++;
                    break;
                 default:
                   result = "Running";
                   count =  0;
                   break;
                 }  

        } else

        if (dir === "SELL" && count == 0) {

              switch (true)
                {
                 case (price < target2):
                    result = "TP2 HIT";
                    count++;
                    break;
                 case (price > stop):
                    result = "STOP HIT";
                    count++;
                    break;
                  default:
                   result = "Running";
                   count =  0;
                   break;
                 }  
              }

возвращаемый результат; }

1 Ответ

0 голосов
/ 31 марта 2020

Пользовательские функции или любые функции электронных таблиц не могут использоваться для ограниченной функциональности. Используйте триггеры, управляемые временем с setValue

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...