комментарии autotrade на форуме

  1. Логотип Quik Lua
    Zigzag4 с наклонными уровнями

    доработал предыдущий зигзаг где были только горизонтальные теперь наклонные появились
    выглядит так:
    Zigzag4 с наклонными уровнями
    код индикатора:
    читать дальше на смартлабе
  2. Логотип Quik Lua
    zigzag с уровнями на lua под quik

    индикатор:
    https://dropmefiles.com/yZqHe
    Модифицировал zigzag в плане добавления ближайших уровней к текущей цене:
    zigzag с уровнями на lua под quik
    код индикатора:
    Settings=              
            {                          
                Name = "Zigzag3",   -- название индикатора
                delta=2,                  -- параметр индикатора                          
                line=                                     
                    {                               
                        {  
                            Name = "zigzagline3",
                            Type =TYPE_LINE,
                            Width = 2,
                            Color = RGB(120,90, 140)
                        },
                        {  
                            Name = "upline",
                            Type =TYPE_LINE,
                            Width = 2,
                            Color = RGB(255,0, 0)
                        },
                        {  
                            Name = "lowline",
                            Type =TYPE_LINE,
                            Width = 2,
                            Color = RGB(0,0, 255)
                        }					
                    }
           }
    
    
    function Init()
    
      vMin = 0
      vMax = 0
      vMinindex = 0
      vMaxindex = 0
      voldMinindex = 0
      voldMaxindex = 0
      upval = 9999999
      lowval = 9999999  
      upindex = 1
      lowindex = 1  
      veu = nil
      vel = nil
    
      return 3
    end
    
    
    function OnCalculate(index)
      local printz = 0
      vsize = Size()	  
      
      if index == 1 then
        vMin = C(index)
        vMax = C(index)
        vMinindex = index
        vMaxindex = index
        voldMinindex = index
        voldMaxindex = index
        ve = C(index)  
    	  
      else
             
        if voldMaxindex >= voldMinindex then
          if C(index) > (1 + Settings.delta/100)*vMin then
            vMin = C(index)  
            vMax = C(index) 
            vMaxindex = index
            voldMinindex = vMinindex 
            vFrom = voldMaxindex  
            vTo = vMinindex
            printz = 1		
            if (C(vMinindex) > C(vsize)) and (upval > C(vMinindex) - C(vsize)) then
    		  upval = C(vMinindex) - C(vsize)
    		  upindex = vMinindex
    		end
            if (C(vMinindex) < C(vsize)) and (lowval > C(vsize)- C(vMinindex)) then
    		  lowval = C(vsize) - C(vMinindex)
    		  lowindex = vMinindex
    		end		
    		
    		
          else     
            if vMin > C(index) then
              vMin = C(index)
              vMinindex = index
              vFrom = voldMaxindex      
              vTo = index
              printz = 0
            else
              vFrom = vMinindex 
              vTo = index
              printz = 0
            end 
          end
        else
         
        if voldMaxindex <= voldMinindex then
          if C(index) < (1 - Settings.delta/100)*vMax then
            vMax = C(index) 
            vMin = C(index)  
            vMinindex = index
            voldMaxindex = vMaxindex
            vFrom = voldMinindex
            vTo = vMaxindex
            printz = 1
            if (C(vMaxindex) > C(vsize)) and (upval > C(vMaxindex) - C(vsize)) then
    		  upval = C(vMaxindex) - C(vsize)
    		  upindex = vMaxindex
    		end
            if (C(vMaxindex) < C(vsize)) and (lowval > C(vsize)- C(vMaxindex)) then
    		  lowval = C(vsize) - C(vMaxindex)
    		  lowindex = vMaxindex
    		end			
          else 
            if vMax < C(index) then
              vMax = C(index)
              vMaxindex = index
              vFrom = voldMinindex    
              vTo = index
              printz = 0
            else  
              vFrom = vMaxindex  
              vTo = index        
              printz = 0
            end
          end  
        end
        end
     
        if (printz == 1) or (Size() == index) then
          for i = vFrom, vTo do
            k = (C(vTo)- C(vFrom))/(vTo- vFrom);
            v = i*k + C(vTo) - vTo*k
            SetValue(i, 1, v)
            ve = v
          end   
          if (Size() == index) then
            ve = C(index)
            if voldMaxindex >= voldMinindex then
              vFrom = voldMaxindex 
              vTo = vMinindex
            end 
            if voldMaxindex <= voldMinindex then  
              vFrom = voldMinindex
              vTo = vMaxindex
            end 
            for i = vFrom, vTo do
              k = (C(vTo)- C(vFrom))/(vTo- vFrom);
              v = i*k + C(vTo) - vTo*k
              SetValue(i, 1, v)
            end  
    
    		if upindex ~= nil then
    		  if C(upindex) > C(index) then		
                for i = upindex, index do
                  SetValue(i, 2, C(upindex))
                end  	
                veu = C(upindex)	
              end 		  
    		end
    		if lowindex ~= nil then
    		  if C(lowindex) < C(index) then
                for i = lowindex, index do
                  SetValue(i, 3, C(lowindex))
                end  			
    		    vel = C(lowindex)
    		  end
    		end		
    
    
    
          end
        end
    
      end   
      return ve, veu, vel
    end

    читать дальше на смартлабе
  3. Логотип Инвестиции в недвижимость
  4. Логотип S&P500 фьючерс | SPX
  5. Логотип Quik Lua
    quik вопрос по синтаксису lua

    не могу понять почему два цикла не дает сделать:
    Settings={
    Name="XXX",
    period=25,
      line=
      {
        {
          Name="curve",
          Color=RGB(255,0,0),
          Type=TYPE_LINE,
          Width=1
        }
      } 
    }
    
    function Init()  
      return 1
    end
    
    function OnCalculate(index)
      if index < Settings.period then
        return nil
      else
    
        for i=index-Settings.period+1, index do  
        do
          j=1
        end
        for k=1, 10 do  
        do
          j=1
        end
    
    
      end 
    
      return 2
    end
    
    end
    если второй цикл убираю for k=1, 10 do do j=1 end
    то работает, с ним не работает
    читать дальше на смартлабе
  6. Логотип Quik Lua
    STATDIV3 доработанный индикатор для quik на языке lua

    если индикатор больше 0, то покупаем, если ниже то продаем

    скачать можно здесь:dropmefiles.com/09FCu
    как устанавливать смотрите предыдущие статьи: https://smart-lab.ru/blog/528424.php
    название STATDIV3 это доработанный STATDIV


    поведение индикатора на графике:
    STATDIV3 доработанный индикатор для quik на языке lua


    сам код индикатора:
    Settings={
    Name="STATDIV3",
    period=50,
      line=
      {
        {
          Name="curve",
          Color=RGB(0,0,255),
          Type=TYPE_LINE,
          Width=1
        },
        {
          Name="line",
          Color=RGB(255,0,0),
          Type=TYPE_LINE,
          Width=1
        },
        {
          Name="MA",
          Color=RGB(0,0,255),
          Type=TYPE_LINE,
          Width=1
        },
        {
          Name="MA2",
          Color=RGB(0,128,128),
          Type=TYPE_LINE,
          Width=1
        },
        {
          Name="line2",
          Color=RGB(0,0,255),
          Type=TYPE_LINE,
          Width=1
        },
        {
          Name="line3",
          Color=RGB(0,128,128),
          Type=TYPE_LINE,
          Width=1
        }
      } 
    }
    
    function Init()
      cache_ind={}
      cache_ind2={}
      cache_ind3={}
      return 2
    end
    
    function OnCalculate(index)
      if index < Settings.period then
        return nil
      else
        local sum1=0
        local sum2=0
        local sum0=0
        local sum02=0
        local sum03=0
        for i=index-Settings.period+1, index do  
        do
          if C(i) > O(i) then
            sum1 = sum1 + C(i) - O(i)
            sum2 = sum2 + C(i) - O(i)
          else
            sum2 = sum2 + O(i) - C(i)
          end  
        end 
        cache_ind[index] = sum1/sum2    
        if index > Settings.period+12 then 
    --[[
          sum0 = 1*cache_ind[index]+
                (1)*cache_ind[index-1]+
                (1)*cache_ind[index-2]+
                (1)*cache_ind[index-3]+
                (1)*cache_ind[index-4]+
                (1)*cache_ind[index-5]+
                (1)*cache_ind[index-6]+
                (1)*cache_ind[index-7]+
                (1)*cache_ind[index-8]+
                (1/2)*cache_ind[index-9]+
                (1/3)*cache_ind[index-10]+
                (1/4)*cache_ind[index-11]+
                (1/5)*cache_ind[index-12]
    --]]
          sum0 = 1*cache_ind[index]+
                (1/2)*cache_ind[index-1]+
                (1/3)*cache_ind[index-2]+
                (1/4)*cache_ind[index-3]+
                (1/5)*cache_ind[index-4]+
                (1/6)*cache_ind[index-5]+
                (1/7)*cache_ind[index-6]+
                (1/8)*cache_ind[index-7]+
                (1/9)*cache_ind[index-8]+
                (1/10)*cache_ind[index-9]+
                (1/11)*cache_ind[index-10]+
                (1/12)*cache_ind[index-11]+
                (1/13)*cache_ind[index-12]
    
        end
    --[[
        sum0 = sum0/(1+1+1+1+1+1+1+1+1+1/2+1/3+1/4+1/5)
    --]]
        sum0 = sum0/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13)
    
           
        cache_ind2[index] = sum0
        if index > Settings.period+50 then   
          sum02 = 1*cache_ind2[index]+
                (1)*cache_ind2[index-1]+
                (1)*cache_ind2[index-2]+
                (1)*cache_ind2[index-3]+
                (1)*cache_ind2[index-4]+
                (1)*cache_ind2[index-5]+
                (1)*cache_ind2[index-6]+
                (1)*cache_ind2[index-7]+
                (1/2)*cache_ind2[index-8]+
                (1/3)*cache_ind2[index-9]+
                (1/4)*cache_ind2[index-10]+
                (1/5)*cache_ind2[index-11]+
                (1/6)*cache_ind2[index-12]
    --[[
          sum02 = 1*cache_ind2[index]+
                (1/2)*cache_ind2[index-1]+
                (1/3)*cache_ind2[index-2]+
                (1/4)*cache_ind2[index-3]+
                (1/5)*cache_ind2[index-4]+
                (1/6)*cache_ind2[index-5]+
                (1/7)*cache_ind2[index-6]+
                (1/8)*cache_ind2[index-7]+
                (1/9)*cache_ind2[index-8]+
                (1/10)*cache_ind2[index-9]+
                (1/11)*cache_ind2[index-10]+
                (1/12)*cache_ind2[index-11]+
                (1/13)*cache_ind2[index-12]
    --]]
        end
        sum02 = sum02/(1+1+1+1+1+1+1+1+1/2+1/3+1/4+1/5+1/6)
    --[[
        sum02 = sum02/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13)
    --]]
        cache_ind3[index] = sum0 - sum02
        if index > Settings.period+50 then   
          sum03 = 1*cache_ind3[index]+
                (1/2)*cache_ind3[index-1]+
                (1/3)*cache_ind3[index-2]+
                (1/4)*cache_ind3[index-3]+
                (1/5)*cache_ind3[index-4]+
                (1/6)*cache_ind3[index-5]+
                (1/7)*cache_ind3[index-6]+
                (1/8)*cache_ind3[index-7]+
                (1/9)*cache_ind3[index-8]+
                (1/10)*cache_ind3[index-9]+
                (1/11)*cache_ind3[index-10]+
                (1/12)*cache_ind3[index-11]+
                (1/13)*cache_ind3[index-12]
        end
        sum03 = sum03/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13)
    
      end  
    
      if sum1/sum2 > 0.5 and sum03 > 0 then
        sum1 = sum03
      else
        if sum1/sum2 < 0.5 and sum03 < 0 then
          sum1 = sum03 
        else 
          sum1 = 0
        end
      end
    
      return sum1, 0
    end
    
    end
     всем удачи!

    читать дальше на смартлабе
  7. Логотип Доллар рубль
  8. Логотип Quik Lua
    Доработал индикатор STATDIV на lua для quik

    пользоваться можно так:
    если касная кривая выше 0,5 и синяя выше зеленой то логуем
    если красная ниже 0,5 и синяя ниже зеленой то шортим
    принимаю пожелания по изменению кода индикатора
    Доработал индикатор STATDIV на lua для quik


    скачать можно здесь:
    dropmefiles.com/y4kpv

    как установить:
    в папке quik создаете папку LuaIndicators туда кидаете текстовый файл с раcширением .lua и содержанием приведенного индикатора, потом запускаете quik и добавляете как обычный индикатор к графику с именем STATDIV

    продолжение темы: smart-lab.ru/blog/528145.php

    код:

    Settings={
    Name=«STATDIV»,
    period=25,
      line=
      {
        {
          Name=«curve»,
          Color=RGB(255,0,0),
          Type=TYPE_LINE,
          Width=1
        },
        {
          Name=«line»,
          Color=RGB(255,0,0),
          Type=TYPE_LINE,
          Width=1
        },
        {
          Name=«MA»,
          Color=RGB(0,0,255),
    читать дальше на смартлабе
  9. Логотип Quik Lua
    для тех кто хочет много бабок зарабатывать

    публикую индикатор собственной разработки под quik, написанный на lua
    если его значение больше 0,5 то выставляете заявку на покупку с тек профитом >= стоплоссу
    гарантированно будете зарабатывать
    подключить его можно так:
    в папке quik создаете папку LuaIndicators туда кидаете текстовый файл с раcширением .lua
    и содержанием приведенного индикатора, потом запускаете quik и добавляете как обычный индикатор к графику
    название его в списке будет STATDIV (статистическое отклонение)
    на рисунке отобразил его работу с периодом 25 и 50
    его суть в том чтоб показать куда отклонено статистическое распределение вероятностей, вверх или вниз за определенный период
    проще говоря, куда вероятнее пойдет рынок вниз или вверх
    если значение индикатора выше 0,5 то разрешено лонговать, если ниже то разрешено шортить
    рекомендации по подбору периода: период для этого индикатора выбираете как период между двумя
    последними локальными вершинами
    позже могу математически привести целесообразность его использования
    читать дальше на смартлабе
  10. Логотип Boeing
  11. Логотип АФК Система
  12. Логотип Аэрофлот
  13. Логотип Русгидро
  14. Логотип Московская биржа
  15. Логотип S&P500 фьючерс | SPX
  16. Логотип ОФЗ
  17. Логотип Доллар рубль
  18. Логотип ОФЗ
  19. Логотип Доллар рубль
Чтобы купить акции, выберите надежного брокера: