Для закрытия результатов, нажмите на крестик в поле ввода.

Кликер

Тема в разделе "Разное", создана пользователем alll, 17 янв 2019.

  1. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Много спрашивают за кликер. Решил написать. Вот сам кликер: _crapware.aidf.org/page/clickermann
    Самые важные участки кода -
    Код ожидания алерта:
    Код:
    go:
    $a= //значение hWND окна алерта
    while(wndfind("Алерт")=0)
    waitms(100)
    goto(go)
    end_cyc
    hset($a,1) //активация окна
    getscreen  //скрин в графический буфер для анализа, если нужно
    keypress(#enter) //закрытие окна алерта
    hset($a,0) //деактивация окна
    Код анализа цвета:
    Код:
    $w= //значение hWND окна для анализа
    $x1= //координата x верхнего правого угла квадрата для анализа
    $y1= //координата y верхнего правого угла квадрата для анализа
    $x2= //координата x нижнего левого угла квадрата для анализа
    $y2= //координата y нижнего левого угла квадрата для анализа
    $color= //код цвета, который должен быть найден
    hset($w,1) //активация окна
    getscreen //скрин в графический буфер для анализа
    if_pixel_in($x1,$y1,$x2,$y2,$color)
    ...
    здесь прописываются действия если цвет найден
    ...
    end_if
    hset($w,0) //деактивация окна
    Код поиска изображения:
    Код:
    $w= //значение hWND окна для анализа
    $x1= //координата x верхнего правого угла квадрата для анализа
    $y1= //координата y верхнего правого угла квадрата для анализа
    $x2= //координата x нижнего левого угла квадрата для анализа
    $y2= //координата y нижнего левого угла квадрата для анализа
    hset($w,1) //активация окна
    getscreen //скрин в графический буфер для анализа
    if_picture_in($x1,$y1,$x2,$y2,"изображение.bmp")
    ...
    здесь прописываются действия если изображение найдено
    ...
    else
    ...
    здесь прописываются действия если изображение не найдено
    ...
    end_if
    hset($w,0) //деактивация окна
    Цикл поиска изображений из массива:
    Код:
    $c=buy //если нужен анализ алерта на buy/sell
    $s[0]=eurusd //массив изображений пар
    $s[1]=gbpusd
    ...
    start:
    $x1= //координата x верхнего правого угла квадрата для анализа
    $y1= //координата y верхнего правого угла квадрата для анализа
    $x2= //координата x нижнего левого угла квадрата для анализа
    $y2= //координата y нижнего левого угла квадрата для анализа
    for($i=0, $i<arrsize($s))
    $sig = strconcat($s[$i],".bmp")
    $con = strconcat($c,".bmp") //если нужен анализ алерта на buy/sell
    if_picture_in($x1,$x2,$x1,$x2, $sig)
    ...
    здесь прописываются действия если изображение найдено
    ...
    $i=100
    else
    waitms(5)
    end_if
    end_cyc
    if($i!101)
       goto(start) //если изображение не найдено - возврат в начало
    else
    ...
    здесь прописываются действия если изображение найдено
    ...
    end_if
    Код движения курсора с последующим рандомным кликом (для избежания блокировки со стороны брокера за использование...)
    Код:
    $f= //значение hWND окна браузера
    $x1= //координата x верхнего правого угла квадрата для перемещения
    $y1= //координата y верхнего правого угла квадрата для перемещения
    $x2= //координата x нижнего левого угла квадрата для перемещения
    $y2= //координата y нижнего левого угла квадрата для перемещения
    hset($f,1) //активация окна
    move(rnd($x1,$x2),rnd($y1,$y2))
    lclick($x_mouse,$y_mouse)
     
    2058850 и Piper нравится это.
  2. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Пример полностью рабочего кода с мартином:
    Код:
    $a=4457272
    $w=4983168
    $o=6555094
    
    $arr[0]=100
    $arr[1]=225
    $arr[2]=506
    $arr[3]=1139
    $arr[4]=2563
    $arr[5]=5767
    
    go:
    
    define($meurusd=0)
    sub(martin)
       $martineurusd=0
       while($martineurusd=0)
          hset($o,1)
          getscreen(1700,1000,1900,1030)
          if_picture_in(1700,1000,1900,1030,"eurusdmin.bmp")
             if_pixel_in(1850,1000,1900,1030,7186218)
                $martineurusd=1
                $meurusd=0
                hset($o,0)
                waitms(100)
             else
                if_pixel_in(1850,1000,1900,1030,3823071)
                   $martineurusd=1
                   inc($meurusd,1)
                   hset($o,0)
                   waitms(100)
                else
                   if_pixel_in(1850,1000,1900,1030,16777215)
                      $martineurusd=1
                      hset($o,0)
                      waitms(10)
                   end_if
                end_if
             end_if
          end_if
       end_cyc
    end_sub
    sub(m0)
       ldown(rnd(1860,1870),rnd(365,375))
       lup(rnd(1755,1760),rnd(365,375))
       keystring($arr[0])
    end_sub
    sub(m1)
       ldown(rnd(1860,1870),rnd(365,375))
       lup(rnd(1755,1760),rnd(365,375))
       keystring($arr[1])
    end_sub
    sub(m2)
       ldown(rnd(1860,1870),rnd(365,375))
       lup(rnd(1755,1760),rnd(365,375))
       keystring($arr[2])
    end_sub
    sub(m3)
       ldown(rnd(1860,1870),rnd(365,375))
       lup(rnd(1755,1760),rnd(365,375))
       keystring($arr[3])
    end_sub
    sub(m4)
       ldown(rnd(1860,1870),rnd(365,375))
       lup(rnd(1755,1760),rnd(365,375))
       keystring($arr[4])
    end_sub
    sub(m5)
       ldown(rnd(1860,1870),rnd(365,375))
       lup(rnd(1755,1760),rnd(365,375))
       keystring($arr[5])
    end_sub
    
    while(wndfind("Алерт")=0)
       waitms(100)
       goto(go)
    end_cyc
    
    hset($w,1)
    getscreen
    if_pixel_in(387,698,391,784,32768)
       inc($buy,1)
    end_if
    if_pixel_in(387,698,391,784,255)
       inc($sell,1)
    end_if
    if_pixel_in(387,753,391,807,32768)
       inc($buy,1)
    end_if
    if_pixel_in(387,753,391,807,255)
       inc($sell,1)
    end_if
    if_pixel_in(387,812,391,859,32768)
       inc($buy,1)
    end_if
    if_pixel_in(387,812,391,859,255)
       inc($sell,1)
    end_if
    
    if($buy=3)
       hset($o,1)
       lclick(rnd(1810,1850),rnd(545,555))
       hset($o,0)
       wait(300)
       martin()
       wait(rnd(5,15))
       hset($o,1)
       if($meurusd=0)
          m0()
       end_if
       if($meurusd=1)
          m1()
       end_if
       if($meurusd=2)
          m2()
       end_if
       if($meurusd=3)
          m3()
       end_if
       if($meurusd=4)
          m4()
       end_if
       if($meurusd=5)
          m5()
       end_if
    end_if
    
    if($sell=3)
       hset($o,1)
       lclick(rnd(1810,1850),rnd(599,609))
       hset($o,0)
       wait(300)
       martin()
       wait(rnd(5,15))
       hset($o,1)
       if($meurusd=0)
          m0()
       end_if
       if($meurusd=1)
          m1()
       end_if
       if($meurusd=2)
          m2()
       end_if
       if($meurusd=3)
          m3()
       end_if
       if($meurusd=4)
          m4()
       end_if
       if($meurusd=5)
          m5()
       end_if
    end_if
    
    hset($a,1)
    keypress(#enter)
    hset($a,0)
    
    $buy=0
    $sell=0
    
    goto(go)
     
    2058850 и Piper нравится это.
  3. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Пример полностью рабочего кода с 20 парами:
    Код:
    $t=1639548
    $f=459952
    $a=262598
    
    $s[0]=audcad
    $s[1]=audchf
    $s[2]=audjpy
    $s[3]=audnzd
    $s[4]=audusd
    $s[5]=euraud
    $s[6]=eurcad
    $s[7]=eurchf
    $s[8]=eurgbp
    $s[9]=eurjpy
    $s[10]=eurnzd
    $s[11]=eurusd
    $s[12]=gbpaud
    $s[13]=gbpchf
    $s[14]=gbpjpy
    $s[15]=gbpnzd
    $s[16]=nzdusd
    $s[17]=usdcad
    $s[18]=usdchf
    $s[19]=usdjpy
    
    hset($t,1)
    arrpush($w,hget(230,150))
    arrpush($w,hget(230,380))
    arrpush($w,hget(230,610))
    arrpush($w,hget(230,850))
    arrpush($w,hget(610,150))
    arrpush($w,hget(610,380))
    arrpush($w,hget(610,610))
    arrpush($w,hget(610,850))
    arrpush($w,hget(1000,150))
    arrpush($w,hget(1000,380))
    arrpush($w,hget(1000,610))
    arrpush($w,hget(1000,850))
    arrpush($w,hget(1380,150))
    arrpush($w,hget(1380,380))
    arrpush($w,hget(1380,610))
    arrpush($w,hget(1380,850))
    arrpush($w,hget(1760,150))
    arrpush($w,hget(1760,380))
    arrpush($w,hget(1760,610))
    arrpush($w,hget(1760,850))
    hset($t,0)
    
    sub(seebuy)
       hset($w[$n],1)
       getscreen
       screenshot
       if_pixel_in(185,72,209,102,32768)
          inc($buy,1)
       end_if
       if_pixel_in(185,106,209,136,32768)
          inc($buy,1)
       end_if
       if_pixel_in(185,140,209,170,32768)
          inc($buy,1)
       end_if
       hset($w[$n],0)
    end_sub
    
    sub(seesell)
       hset($w[$n],1)
       getscreen
       screenshot
       if_pixel_in(185,72,209,102,255)
          inc($sell,1)
       end_if
       if_pixel_in(185,106,209,136,255)
          inc($sell,1)
       end_if
       if_pixel_in(185,140,209,170,255)
          inc($sell,1)
       end_if
       hset($w[$n],0)
    end_sub
    
    sub(select)
       hset($f,1)
       move(rnd(500,560),rnd(355,370))
       lclick($x_mouse,$y_mouse)
       if($n=0)
          move(rnd(500,560),rnd(355,370))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=1)
          move(rnd(500,560),rnd(405,420))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=2)
          move(rnd(500,560),rnd(455,470))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=3)
          move(rnd(500,560),rnd(505,520))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=4)
          move(rnd(500,560),rnd(555,570))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=5)
          move(rnd(500,560),rnd(355,370))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=6)
          move(rnd(500,560),rnd(405,420))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=7)
          move(rnd(500,560),rnd(455,470))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=8)
          move(rnd(500,560),rnd(505,520))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=9)
          move(rnd(500,560),rnd(555,570))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=10)
          move(rnd(500,560),rnd(605,620))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=11)
          move(rnd(500,560),rnd(655,670))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=12)
          move(rnd(500,560),rnd(555,570))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=13)
          move(rnd(500,560),rnd(605,620))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=14)
          move(rnd(500,560),rnd(655,670))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=15)
          move(rnd(500,560),rnd(705,720))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=16)
          move(rnd(500,560),rnd(755,770))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=17)
          move(rnd(500,560),rnd(805,820))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=18)
          move(rnd(500,560),rnd(855,870))
          lclick($x_mouse,$y_mouse)
       end_if
       if($n=19)
          move(rnd(500,560),rnd(905,920))
          lclick($x_mouse,$y_mouse)
       end_if
    end_sub
    
    sub(buy)
       wait(rnd(1,2))
       move(rnd(1315,1400),rnd(500,535))
       lclick($x_mouse,$y_mouse)
    end_sub
    
    sub(sell)
       wait(rnd(1,2))
       move(rnd(1315,1400),rnd(630,665))
       lclick($x_mouse,$y_mouse)
    end_sub
    
    go:
    
    while(wndfind("Алерт")=0)
       waitms(5)
       goto(go)
    end_cyc
    
    hset($a,1)
    getscreen
    screenshot
    keypress(#enter)
    hset($a,0)
    
    for($i=0, $i<arrsize($s))
       $sig = strconcat($s[$i],".bmp")
       if_picture_in(75,45,165,60, $sig)
          if_picture_in(75,45,165,60, "buy.bmp")
             $buy=1
             $n=$i
          else
             $sell=1
             $n=$i
          end_if
          $i=100
       else
          waitms(5)
       end_if
    end_cyc
    if($i!101)
       goto(go)
    else
       if($buy=1)
          $buy=0
          seebuy()
          if($buy=3)
             select()
             buy()
             skip:
          end_if
       end_if
       if($sell=1)
          $sell=0
          seesell()
          if($sell=3)
             select()
             sell()
             skip:
          end_if
       end_if
    end_if
    hset($f,0)
    goto(go)
     
    tagvolk, 2058850 и Piper нравится это.
  4. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Пример полностью рабочего кода с действием при смене изображения(на данном примере стрелы вверх и вниз):
    Код:
    $a=264414
    $w=4916638
    $o=10290244
    $tel=0
    
    go:
    
    while(wndfind("Алерт")=0)
       waitms(100)
       goto(go)
    end_cyc
    
    hset($a,1)
    keypress(#enter)
    
    hset($w,1)
    getscreen
    hset($w,0)
    
    if($tel=1)
       if_picture_in(319,789,329,888,"telb.bmp")
       else
          if_picture_in(319,789,329,888,"tels.bmp")
          else
             $tel=0
          end_if
       end_if
    else
       goto(go)
    end_if
    
    if($tel=0)
       if_picture_in(319,789,329,888,"tels.bmp")
          $buy=1
          $tel=1
       else
          if_picture_in(319,789,329,888,"telb.bmp")
             $sell=1
             $tel=1
          end_if
       end_if
    end_if
    
    if($buy=1)
       hset($o,1)
       lclick(rnd(1810,1850),rnd(545,555))
       hset($o,0)
    end_if
    
    if($sell=1)
       hset($o,1)
       lclick(rnd(1810,1850),rnd(599,609))
       hset($o,0)
    end_if
    
    $buy=0
    $sell=0
    
    goto(go)
    можно так же смену цвета:
    изменить picture на pixel и вместо "telb.bmp" и "tels.bmp" указать код цвета
     
    tagvolk, 2058850 и Piper нравится это.
  5. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Пример(под олимп) для полностью независимой друг от друга торговли по 4 парам с отдельным мартином для каждой пары:
    Код:
    ////////////////////////////////////////////////////////////////////////////////
    $walert=2361006
    $wolymp=263154
    ////////////////////////////////////////////////////////////////////////////////
    while(wndfind("Алерт")=0)
       waitms(1)
    end_cyc
    hset($walert,1)
    getscreen
    KEYPRESS(#ENTER)
    hset($wolymp,1)
    ////////////////////////////////////////////////////////////////////////////////
    if_picture_in(75,45,180,65,"usdcad.bmp")
       lclick(rnd(660,670),rnd(155,160))
       if_picture_in(75,45,180,65,"call.bmp")
          $usdcadbuy=1
          SetThread(usdcad,1)
       else
          $usdcadsell=1
          SetThread(usdcad,1)
       end_if
    end_if
    if_picture_in(75,45,180,65,"eurusd.bmp")
       lclick(rnd(100,110),rnd(155,160))
       if_picture_in(75,45,180,65,"call.bmp")
          $eurusdbuy=1
          SetThread(eurusd,1)
       else
          $eurusdsell=1
          SetThread(eurusd,1)
       end_if
    end_if
    if_picture_in(75,45,180,65,"gbpusd.bmp")
       lclick(rnd(280,290),rnd(155,160))
       if_picture_in(75,45,180,65,"call.bmp")
          $gbpusdbuy=1
          SetThread(gbpusd,1)
       else
          $gbpusdsell=1
          SetThread(gbpusd,1)
       end_if
    end_if
    if_picture_in(75,45,180,65,"audusd.bmp")
       lclick(rnd(480,490),rnd(155,160))
       if_picture_in(75,45,180,65,"call.bmp")
          $audusdbuy=1
          SetThread(audusd,1)
       else
          $audusdsell=1
          SetThread(audusd,1)
       end_if
    end_if
    ////////////////////////////////////////////////////////////////////////////////
    thread(usdcad,0)
       define($musdcad=0)
       sub(martin)
          $martinusdcad=0
          while($martinusdcad=0)
             getscreen(1700,1000,1900,1020)
             if_picture_in(1700,1000,1900,1020,"usdcadmin.bmp")
                if_pixel_in(1700,1000,1900,1020,7186218)
                   $martinusdcad=1
                   $musdcad=0
                   waitms(10)
                else
                   if_pixel_in(1700,1000,1900,1020,3823071)
                      $martinusdcad=1
                      inc($musdcad,1)
                      waitms(10)
                   else
                      if_pixel_in(1700,1000,1900,1020,16777212)
                         $martinusdcad=1
                         waitms(10)
                      end_if
                   end_if
                end_if
             end_if
          end_cyc
       end_sub
       sub(m0)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("30")
       end_sub
       sub(m1)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("68")
       end_sub
       sub(m2)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("153")
       end_sub
       sub(m3)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("344")
       end_sub
       sub(m4)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("774")
       end_sub
       sub(m5)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("1741")
       end_sub
       if($usdcadbuy=1)
          hset($wolymp,1)
          if($musdcad=0)
             m0()
          end_if
          if($musdcad=1)
             m1()
          end_if
          if($musdcad=2)
             m2()
          end_if
          if($musdcad=3)
             m3()
          end_if
          if($musdcad=4)
             m4()
          end_if
          if($musdcad=5)
             m5()
          end_if
          lclick(rnd(1800,1840),rnd(545,560))
          hset($wolymp,0)
          $usdcadbuy=0
       end_if
       if($usdcadsell=1)
          hset($wolymp,1)
          if($musdcad=0)
             m0()
          end_if
          if($musdcad=1)
             m1()
          end_if
          if($musdcad=2)
             m2()
          end_if
          if($musdcad=3)
             m3()
          end_if
          if($musdcad=4)
             m4()
          end_if
          if($musdcad=5)
             m5()
          end_if
          lclick(rnd(1800,1840),rnd(595,610))
          hset($wolymp,0)
          $usdcadsell=0
       end_if
       wait(302)
       martin()
       SetThread(usdcad,0)
    end_thread
    ////////////////////////////////////////////////////////////////////////////////
    thread(eurusd,0)
       define($meurusd=0)
       sub(martin)
          $martineurusd=0
          while($martineurusd=0)
             getscreen(1700,1000,1900,1020)
             if_picture_in(1700,1000,1900,1020,"eurusdmin.bmp")
                if_pixel_in(1700,1000,1900,1020,7186218)
                   $martineurusd=1
                   $meurusd=0
                   waitms(10)
                else
                   if_pixel_in(1700,1000,1900,1020,3823071)
                      $martineurusd=1
                      inc($meurusd,1)
                      waitms(10)
                   else
                      if_pixel_in(1700,1000,1900,1020,16777212)
                         $martineurusd=1
                         waitms(10)
                      end_if
                   end_if
                end_if
             end_if
          end_cyc
       end_sub
       sub(m0)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("30")
       end_sub
       sub(m1)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("68")
       end_sub
       sub(m2)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("153")
       end_sub
       sub(m3)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("344")
       end_sub
       sub(m4)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("774")
       end_sub
       sub(m5)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("1741")
       end_sub
       if($eurusdbuy=1)
          hset($wolymp,1)
          if($meurusd=0)
             m0()
          end_if
          if($meurusd=1)
             m1()
          end_if
          if($meurusd=2)
             m2()
          end_if
          if($meurusd=3)
             m3()
          end_if
          if($meurusd=4)
             m4()
          end_if
          if($meurusd=5)
             m5()
          end_if
          lclick(rnd(1800,1840),rnd(545,560))
          hset($wolymp,0)
          $eurusdbuy=0
       end_if
       if($eurusdsell=1)
          hset($$wolymp,1)
          if($meurusd=0)
             m0()
          end_if
          if($meurusd=1)
             m1()
          end_if
          if($meurusd=2)
             m2()
          end_if
          if($meurusd=3)
             m3()
          end_if
          if($meurusd=4)
             m4()
          end_if
          if($meurusd=5)
             m5()
          end_if
          lclick(rnd(1800,1840),rnd(595,610))
          hset($wolymp,0)
          $eurusdsell=0
       end_if
       martin()
       SetThread(eurusd,0)
    end_thread
    ////////////////////////////////////////////////////////////////////////////////
    thread(gbpusd,0)
       define($mgbpusd=0)
       sub(martin)
          $martingbpusd=0
          while($martingbpusd=0)
             getscreen(1700,1000,1900,1020)
             if_picture_in(1700,1000,1900,1020,"gbpusdmin.bmp")
                if_pixel_in(1700,1000,1900,1020,7186218)
                   $martingbpusd=1
                   $mgbpusd=0
                   waitms(10)
                else
                   if_pixel_in(1700,1000,1900,1020,3823071)
                      $martingbpusd=1
                      inc($mgbpusd,1)
                      waitms(10)
                   else
                      if_pixel_in(1700,1000,1900,1020,16777212)
                         $martingbpusd=1
                         waitms(10)
                      end_if
                   end_if
                end_if
             end_if
          end_cyc
       end_sub
       sub(m0)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("30")
       end_sub
       sub(m1)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("68")
       end_sub
       sub(m2)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("153")
       end_sub
       sub(m3)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("344")
       end_sub
       sub(m4)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("774")
       end_sub
       sub(m5)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("1741")
       end_sub
       if($gbpusdbuy=1)
          hset($wolymp,1)
          if($mgbpusd=0)
             m0()
          end_if
          if($mgbpusd=1)
             m1()
          end_if
          if($mgbpusd=2)
             m2()
          end_if
          if($mgbpusd=3)
             m3()
          end_if
          if($mgbpusd=4)
             m4()
          end_if
          if($mgbpusd=5)
             m5()
          end_if
          lclick(rnd(1800,1840),rnd(545,560))
          hset($wolymp,0)
          $gbpusdbuy=0
       end_if
       if($gbpusdsell=1)
          hset($wolymp,1)
          if($mgbpusd=0)
             m0()
          end_if
          if($mgbpusd=1)
             m1()
          end_if
          if($mgbpusd=2)
             m2()
          end_if
          if($mgbpusd=3)
             m3()
          end_if
          if($mgbpusd=4)
             m4()
          end_if
          if($mgbpusd=5)
             m5()
          end_if
          lclick(rnd(1800,1840),rnd(595,610))
          hset($wolymp,0)
          $gbpusdsell=0
       end_if
       wait(302)
       martin()
       SetThread(gbpusd,0)
    end_thread
    ////////////////////////////////////////////////////////////////////////////////
    thread(audusd,0)
       define($maudusd=0)
       sub(martin)
          $martinaudusd=0
          while($martinaudusd=0)
             getscreen(1700,1000,1900,1020)
             if_picture_in(1700,1000,1900,1020,"audusdmin.bmp")
                if_pixel_in(1700,1000,1900,1020,7186218)
                   $martinaudusd=1
                   $maudusd=0
                   waitms(10)
                else
                   if_pixel_in(1700,1000,1900,1020,3823071)
                      $martinaudusd=1
                      inc($maudusd,1)
                      waitms(10)
                   else
                      if_pixel_in(1700,1000,1900,1020,16777212)
                         $martinaudusd=1
                         waitms(10)
                      end_if
                   end_if
                end_if
             end_if
          end_cyc
       end_sub
       sub(m0)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("30")
       end_sub
       sub(m1)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("68")
       end_sub
       sub(m2)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("153")
       end_sub
       sub(m3)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("344")
       end_sub
       sub(m4)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("774")
       end_sub
       sub(m5)
          ldown(rnd(1860,1870),rnd(360,370))
          lup(rnd(1765,1770),rnd(360,370))
          keystring("1741")
       end_sub
       if($audusdbuy=1)
          hset($wolymp,1)
          if($maudusd=0)
             m0()
          end_if
          if($maudusd=1)
             m1()
          end_if
          if($maudusd=2)
             m2()
          end_if
          if($maudusd=3)
             m3()
          end_if
          if($maudusd=4)
             m4()
          end_if
          if($maudusd=5)
             m5()
          end_if
          lclick(rnd(1800,1840),rnd(545,560))
          hset($wolymp,0)
          $audusdbuy=0
       end_if
       if($audusdsell=1)
          hset($wolymp,1)
          if($maudusd=0)
             m0()
          end_if
          if($maudusd=1)
             m1()
          end_if
          if($maudusd=2)
             m2()
          end_if
          if($maudusd=3)
             m3()
          end_if
          if($maudusd=4)
             m4()
          end_if
          if($maudusd=5)
             m5()
          end_if
          lclick(rnd(1800,1840),rnd(595,610))
          hset($wolymp,0)
          $audusdsell=0
       end_if
       wait(302)
       martin()
       SetThread(audusd,0)
    end_thread
    ////////////////////////////////////////////////////////////////////////////////
     
    2058850 и Piper нравится это.
  6. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Пример отбраковки сигнала
    1) Не соблюдение условий ТС
    2) Низкая выплата:
    Код:
    $t=18876554
    $o=11995406
    $a=3278548
    
    $c=buy
    
    $s[0]=eurusd
    $s[1]=gbpusd
    $s[2]=usdchf
    $s[3]=usdmxn
    $s[4]=usdnok
    $s[5]=usdrub
    $s[6]=eurgbp
    $s[7]=audchf
    $s[8]=cadjpy
    $s[9]=chfjpy
    $s[10]=gbpaud
    $s[11]=gbpcad
    $s[12]=gbpchf
    $s[13]=gbpjpy
    $s[14]=nzdcad
    $s[15]=nzdchf
    $s[16]=nzdjpy
    $s[17]=usdjpy
    $s[18]=audusd
    $s[19]=usdcad
    $s[20]=gbpnzd
    $s[21]=usdsgd
    $s[22]=eurnzd
    $s[23]=audjpy
    $s[24]=cadchf
    $s[25]=audcad
    $s[26]=eurcad
    $s[27]=euraud
    $s[28]=eurrub
    $s[29]=audnzd
    $s[30]=nzdusd
    $s[31]=usdtry
    $s[32]=eurchf
    $s[33]=eurjpy
    $s[34]=ftse100
    $s[35]=nasdaq
    
    hset($t,1)
    arrpush($w,hget(230,170))
    arrpush($w,hget(230,320))
    arrpush($w,hget(230,470))
    arrpush($w,hget(230,630))
    arrpush($w,hget(230,780))
    arrpush($w,hget(230,930))
    arrpush($w,hget(550,170))
    arrpush($w,hget(550,320))
    arrpush($w,hget(550,470))
    arrpush($w,hget(550,630))
    arrpush($w,hget(550,780))
    arrpush($w,hget(550,930))
    arrpush($w,hget(860,170))
    arrpush($w,hget(860,320))
    arrpush($w,hget(860,470))
    arrpush($w,hget(860,630))
    arrpush($w,hget(860,780))
    arrpush($w,hget(860,930))
    arrpush($w,hget(1170,170))
    arrpush($w,hget(1170,320))
    arrpush($w,hget(1170,470))
    arrpush($w,hget(1170,630))
    arrpush($w,hget(1170,780))
    arrpush($w,hget(1170,920))
    arrpush($w,hget(1480,170))
    arrpush($w,hget(1480,320))
    arrpush($w,hget(1480,470))
    arrpush($w,hget(1480,630))
    arrpush($w,hget(1480,780))
    arrpush($w,hget(1480,930))
    arrpush($w,hget(1810,170))
    arrpush($w,hget(1810,320))
    arrpush($w,hget(1810,470))
    arrpush($w,hget(1810,630))
    arrpush($w,hget(1810,780))
    arrpush($w,hget(1810,930))
    hset($t,0)
    
    sub(see)
       hset($w[$n],1)
       getscreen
       if_pixel_in(163,43,167,43,32768)
          inc($buy,1)
       end_if
       if_pixel_in(163,43,167,43,255)
          inc($sell,1)
       end_if
       if_pixel_in(163,66,167,66,32768)
          inc($buy,1)
       end_if
       if_pixel_in(163,66,167,66,255)
          inc($sell,1)
       end_if
       if_pixel_in(163,86,167,86,32768)
          inc($buy,1)
       end_if
       if_pixel_in(163,86,167,86,255)
          inc($sell,1)
       end_if
       hset($w[$n],0)
    end_sub
    
    sub(select)
       hset($o,1)
       lclick(rnd(24,33),rnd(163,172))
       waitms(100)
       lclick(rnd(230,280),rnd(260,265))
       keypress(#backspace)
       waitms(50)
       keypress(#backspace)
       waitms(50)
       keypress(#backspace)
       waitms(50)
       keypress(#backspace)
       waitms(50)
       keypress(#backspace)
       waitms(50)
       keypress(#backspace)
       waitms(50)
       keypress(#backspace)
       waitms(50)
       keystring(strcut($sig,1,6))
       wait(rnd(1,3))
       getscreen
       if_picture_in(215,370,225,380,"8.bmp")
          lclick(rnd(85,100),rnd(370,380))
       else
          if_picture_in(215,370,225,380,"7.bmp")
             lclick(rnd(85,100),rnd(370,380))
          else
             lclick(rnd(24,33),rnd(163,172))
             $sig = strconcat($s[$n],".bmp")
             logwrite("Сигнал: ",strcut($sig,1,6)," отбракован - Цена актива ниже 70%")
             goto(skip)
          end_if
       end_if
    end_sub
    
    sub(buy)
       wait(rnd(1,3))
       lclick(rnd(1810,1850),rnd(545,555))
       hset($o,0)
    end_sub
    
    sub(sell)
       wait(rnd(1,3))
       lclick(rnd(1810,1850),rnd(599,609))
       hset($o,0)
    end_sub
    
    go:
    
    while(wndfind("Алерт")=0)
       waitms(100)
       goto(go)
    end_cyc
    
    hset($a,1)
    getscreen
    keypress(#enter)
    hset($a,0)
    
    for($i=0, $i<arrsize($s))
       $sig = strconcat($s[$i],".bmp")
       $con = strconcat($c,".bmp")
       if_picture_in(77,49,125,58, $sig)
          if_picture_in(130,49,160,58, $con)
             logwrite("Сигнал: ",strcut($sig,1,6)," Покупка")
             $buy=1
             $n=$i
          else
             logwrite("Сигнал: ",strcut($sig,1,6)," Продажа")
             $sell=1
             $n=$i
          end_if
          $i=100
       else
          waitms(5)
       end_if
    end_cyc
    if($i!101)
       goto(go)
    else
       if($buy=1)
          $buy=0
          see()
          if($buy=3)
             select()
             buy()
             logwrite("Сделка: ",strcut($sig,1,6)," совершена")
             skip:
          else
             $sig = strconcat($s[$n],".bmp")
             logwrite("Сигнал: ",strcut($sig,1,6)," отбракован - Условия не соблюдены")
          end_if
       end_if
       if($sell=1)
          $sell=0
          see()
          if($sell=3)
             select()
             sell()
             logwrite("Сделка: ",strcut($sig,1,6)," совершена")
             skip:
          else
             $sig = strconcat($s[$n],".bmp")
             logwrite("Сигнал: ",strcut($sig,1,6)," отбракован - Условия не соблюдены")
          end_if
       end_if
    end_if
    hset($o,0)
    
    goto(go)
     
    tagvolk, 2058850 и Piper нравится это.
  7. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Вроде написал все что нужно под любые случаи. Если что - спрашивайте.
     
    tagvolk, 2058850 и Piper нравится это.
  8. option Administrator Administrator Moderator

    Сообщения:
    2.066
    Симпатии:
    2.011
    Вот видосик `1

     
    tagvolk и Piper нравится это.
  9. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Ни о чем)))
     
    Piper нравится это.
  10. option Administrator Administrator Moderator

    Сообщения:
    2.066
    Симпатии:
    2.011
    Так же как и вышеприведенные коды.

    Неделю настраивать придется `36
    А кто не разбирается в этих кодах, вообще шансов нет.
     
  11. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Настраивать ничего не надо! Это бессмысленно! Потратить пару часов на изучение справки и пару часов на написание скрипта - ну да. Неделя)))))))
    Кому надо - тот разберется сам или спросит...
     
    Piper нравится это.
  12. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Вышеприведенные коды только для примера реализации той или иной ситуации.
    Написание любой!!! программы состоит из а)набора условий и б)визуальной реализации. Здесь б) не нужно. Что сложного в:
    1)если цвет/картинка/условие найдено - то делаем это,
    2)если не найдено - то делаем другое или ничего не делаем???
     
    Piper нравится это.
  13. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Есть цикл
    Код:
    while(условие)
    waitms(100) //обязательная пауза в 100 миллисекунд для разгрузки процессора
    //останавливает выполнение скрипта до выполнения условия
    end_cyc
    И условия
    Код:
    if(условие)
    //если условие верно, то выполняем то, что ниже
    ...
    else
    //усли условие не верно, то выполняем то, что ниже
    ...
    end //конец условия
     
  14. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Есть подпрограммы, чтоб не писать один и тот же код много раз (аналог функций в языках программирования)
    Код:
    sub(название)
    ... //здесь указан код, который будет выполнятся каждый раз при вызове
    end_sub //конец описания
    ... //какой-то код
    название() //запуск подпрограммы
    название() //повторный запуск и т.д.
    
     
  15. alll Активный пользователь

    Сообщения:
    257
    Симпатии:
    131
    Извиняюсь за ошибку:
    $x1= //координата x верхнего левого угла квадрата для анализа
    $y1= //координата y верхнего левого угла квадрата для анализа
    $x2= //координата x нижнего правого угла квадрата для анализа
    $y2= //координата y нижнего правого угла квадрата для анализа