ZigZag step market – эксперт для MetaTrader 5
Принцип работы
Советник работает по пользовательскому индикатору ZigZag Color (данный индикатор поставляется вместе с терминалом, путь к нему: MQL5\Indicators\Examples\ZigzagColor.mq5).
Работаем по текущему колену индикатора: если колено направлено вниз – значит через каждые Step (или почти через каждые Step) открываем позиции SELL, если же колено направлено вверх – будет открывать позиции BUY стараясь примерно придерживаться шага Step.
Подробнее о настройках советника:
Обратите внимание: торговый сигнал имеет наивысший приоритет! Ограничить его исполнение можно только при помощи параметра Only one positions. Если Only one positions равен «true» и количество позиций открытых этим советником на данном символе больше «1» – тогда торговый сигнал игнорируется.
Параметр Close opposite равен «true«: сначала ЗАКРЫВАЕМ противоположную позицию, потом отрабатываем торговый сигнал.
Торговые настройки
В советнике можно как включать так и выключать уровни Stop Loss, Take Profit и Trailing Stop. Для отключения выбранного параметра достаточно выбранный параметр установить в «0.0». Трейлинг можно задавать двумя способами:
- трейлинг с минимальным интервалом в секундах (параметр Trailing and signal должен быть больше или равен «10»)
- трейлинг только в момент рождения нового бара (параметр Trailing and signal должен быть меньше «10»)
Дополнительные возможности
- Only one positions – в рынке всегда только одна позиция
- Close opposite – закрытие позиций противоположных торговому сигналу, причём сначала идёт гарантированное закрытие противоположной позиции и только потом открытие новой позиции в направлении сигнала
Обратите внимание: торговый сигнал имеет наивысший приоритет! Ограничить его исполнение можно только при помощи параметра Only one positions. Если Only one positions равен «true» и количество позиций открытых этим советником на данном символе больше «1» – тогда торговый сигнал игнорируется.
Параметр Close opposite равен «true«: сначала ЗАКРЫВАЕМ противоположную позицию, потом отрабатываем торговый сигнал.
Управление размером позиции (расчёт лота)
Лот может быть как постоянный (Money management установить в Constant lot и задать размер лота в The value for «Money management») так и динамический – в процентах риска на сделку (Money management установить в Risk in percent for a deal и задать процент риска в The value for «Money management»).
Торговая стратегия на основе осциллятора iChaikin (Chaikin Oscillator, CHO)
Стратегия для временного интервала Н4
Торговая стратегия по OHCL баров #2 и #1
Торговая стратегия на основе индикатора ATR
ZigZag Pointer Binary Options Indicator – Екілік Options көрсеткіштері
– BazД± aritmetik fonksiyonlar
– Bellek yapД±sД± ve adresler
– Pointer tutan Pointer’lar
– Referans yoluyla argГјman aktarД±mД±
– Konuyla ilgili Г¶rnek sorular
BazД± Aritmetik Fonksiyonlar
GeГ§en dersimizde, fonksiyonlarД± ve bunlarД± nasД±l kullanД±lacaДџД±nД± gГ¶rmГјЕџtГјk. AyrД±ca kГјtГјphanelerin hazД±r fonksiyonlar iГ§erdiДџinden bahsetmiЕџtik. BazД± matematiksel iЕџlemlerin kullanД±mД± sД±kГ§a gerekebileceДџi iГ§in bunlarД± bir liste hГўlinde vermenin uygun olduДџuna inanД±yorum. BГ¶ylece var olan aritmetik fonksiyonlarД± tekrar tekrar tanД±mlayarak zaman kaybetmezsiniz.
- double ceil( double n ) : VirgГјllГј n sayД±sД±nД±, kendisinden bГјyГјk olan ilk tam sayД±ya tamamlar. Г–rneДџin ceil(51.4) iЕџlemi, 52 sonucunu verir.
- double floor( double n ) : VirgГјllГј n sayД±sД±nД±n, virgГјlden sonrasД±nД± atarak, bir tam sayД±ya Г§evirir. floor(51.4) iЕџlemi, 51 sayД±sД±nД± dГ¶ndГјrГјr.
- double fabs( double n ) : Verilen n sayД±sД±nД±n mutlak deДџerini dГ¶ndГјrГјr. fabs(-23.5), 23.5 deДџerini verir.
- double fmod( double a, double b ) : a sayД±sД±nД±n b sayД±sД±na bГ¶lГјmГјnden kalanД± verir. (Daha Г¶nce gГ¶rdГјДџГјmГјz modГјl (%) operatГ¶rГј, sadece tam sayД±larda kullanД±lД±rken, fmod fonksiyonu virgГјllГј sayД±larda da Г§alД±ЕџД±r.)
- double pow( double a, double b ) : Гњstel deДџer hesaplamak iГ§in kullanД±lД±r; a b deДџerini verir.
- double sqrt( double a ) : a’nД±n karekГ¶kГјnГј hesaplar.
Yukarda verilmiЕџ fonksiyonlar, matematik kГјtГјphanesi ( math.h ) altД±ndadД±r. Bu fonksiyonlardan herhangi birini kullacaДџД±nД±z zaman, program kodununun baЕџД±na #include yazmalД±sД±nД±z. AyrД±ca derleyici olarak gcc’yle Г§alД±ЕџД±yorsanД±z, derlemek iГ§in -lm parametresini eklemeniz gerekir. (Г–rneДџin: «gcc test.c -lm» gibi. )
Bellek YapД±sД± ve Adresler
Ећimdiye kadar deДџiЕџken tanД±mlamayД± gГ¶rdГјk. Bir deДџiЕџken tanД±mlandД±ДџД±nda, arka plГўnda gerГ§ekleЕџen olaylara ise deДџinmedik. HafД±zayД± kГјГ§Гјk hГјcrelerden oluЕџmuЕџ bir blok olarak dГјЕџГјnebilirsiniz. Bir deДџiЕџken tanД±mladД±ДџД±nД±zda, bellek bloДџundan gerekli miktarda hГјcre, ilgili deДџiЕџkene ayrД±lД±r. Gereken hГјcre adedi, deДџiЕџken tipine gГ¶re deДџiЕџir. Ећimdi aЕџaДџД±daki kod parГ§asД±na bakalД±m:
Yukarda bahsettiДџimiz hГјcrelerden oluЕџan bellek yapД±sД±nД±, bu kod parГ§asД± iГ§in uygulayalД±m. DeДџiЕџken tiplerinden int’in 2 byte, float’un 4 byte ve char’Д±n 1 byte yer kapladД±ДџД±nД± kabul edelim. Her bir hГјcre 1 byte’lД±k alanД± temsil etsin. DeДџiЕџkenler iГ§in ayrД±lan hafД±za alanД±, 4300 adresinden baЕџlasД±n. Ећimdi bunlarД± temsili bir Еџekle dГ¶kelim:
Bir deДџiЕџken tanД±mladД±ДџД±mД±zda, bellekte gereken alan onun adД±na rezerve edilir. Г–rneДџin ‘int num1’ yazД±lmasД±, bellekte uygun bir yer bulunup, 2 byte’Д±n, num1 deДџiЕџkeni adД±na tutulmasД±nД± saДџlД±yor. Daha sonra num1 deДџiЕџkenine deДџer atarsak, ayrД±lan hafД±za alanД±na 5 sayД±sД± yazД±lД±yor. AslД±nda, num1 ile ilgili yapacaДџД±nД±z bГјtГјn iЕџlemler, 4300 adresiyle 4302 adresi arasД±ndaki bellek hГјcrelerinin deДџiЕџmesiyle alakalД±dД±r. DeДџiЕџken dediДџimiz; uygun bir bellek alanД±nД±n, bir isme revize edilip, kullanД±lmasД±ndan ibarettir.
Bir parantez aГ§Д±p, kГјГ§Гјk bir uyarД± da bulunalД±m. Ећeklimizin temsili olduДџunu unutmamak gerekiyor. DeДџiЕџkenlerin bellekteki yerleЕџimi bu kadar ‘uniform’ olmayabilir. AyrД±ca baЕџlangД±Г§ adresini 4300 olarak belirlememiz keyfiydi. SayД±lar ve tutulan alanlar deДџiЕџebilir. Ancak belleДџin yapД±sД±nД±n, aЕџaДџД± yukarД± bГ¶yle olduДџunu kabul edebilirsiniz.
Pointer MekanizmasД±
Bir deДџiЕџkene deДџer atadД±ДџД±mД±zda, aslД±nda bellek hГјcrelerini deДџiЕџtirdiДџimizi sГ¶ylemiЕџtik. Bu doДџru bir tanД±m ama eksik bir noktasД± var. Bellek hГјcrelerini deДџiЕџtermemize raДџmen, bunu direkt yapamaz; deДџiЕџkenleri kullanД±rД±z. Bellek hГјcrelerine direkt mГјdahГўle Pointer’lar sayesinde gerГ§ekleЕџir.
Pointer, birГ§ok TГјrkГ§e kaynakta ‘iЕџaretГ§i’ olarak geГ§iyor. Direkt Г§evirirseniz mantД±klД±. Ancak terimlerin Г¶zГјnde olduДџu gibi Г¶Дџrenilmesinin daha yararlД± olduДџunu dГјЕџГјnГјyorum ve ben Pointer olarak anlatacaДџД±m. BazД± yerlerde iЕџaretГ§i tanД±mД± gГ¶rГјrseniz, bunun pointer ile aynД± olduДџunu bilin. Ећimdi gelelim Pointer’in ne olduДџuna.
DeДџiЕџkenler bildiДџiniz gibi deДџer (sayД±, karakter, vs. ) tutar. Pointer’lar ise adres tutan deДџiЕџkenlerdir. Bellekten bahsetmiЕџtik; kГјГ§Гјk hГјcrelerin oluЕџturduДџu hafД±za bloДџunun adreslere ayrД±ldД±ДџД±nД± ve deДџiЕџkenlerin bellek hГјcrelerine yerleЕџtiДџini gГ¶rdГјk. Д°Еџte pointer’lar bu bellek adreslerini tutarlar.
Pointer tanД±mlamak oldukГ§a basittir. Sadece deДџiЕџken adД±nД±n Г¶nГјne ‘*’ iЕџareti getiririz. Dikkat edilmesi gereken tek nokta; pointer’Д± iЕџaret edeceДџi deДџiЕџken tipine uygun tanД±mlamaktД±r. Yani float bir deДџiЕџkeni, int bir pointer ile iЕџaretlemeДџe Г§alД±Еџmak yanlД±ЕџtД±r! AЕџaДџД±daki Г¶rneДџe bakalД±m:
Kod parГ§asД±ndaki yorumlarД± okuduДџunuzda, pointer ile ilgili fikriniz olacaktД±r. Pointer adres tutan deДџiЕџkenlerdir. Ећimdiye kadar gГ¶rdГјДџГјmГјz deДџiЕџkeninlerin saklayabildiДџi deДџerleri tutamazlar. Sadece deДџiЕџkenleri iЕџaret edebilirler. Herhangi bir deДџiЕџkenin adresini pointer iГ§ersine atamak isterseniz, deДџiЕџken adД±nД±n Г¶nГјne ‘&’ getirmeniz gerekir. Bundan sonra o pointer, ilgili deДџiЕџkeni iЕџaret eder. EДџer bahsettiДџimiz deДџiЕџkenin sahip olduДџu deДџeri pointer ile gГ¶stermek veya deДџiЕџken deДџerini deДџiЕџtirmek isterseniz, pointer baЕџД±na ‘*’ getirerek iЕџlemlerinizi yapabilirsiniz. Pointer baЕџД±na ‘*’ getirerek yapacaДџД±nД±z her atama iЕџlemi, deДџiЕџkeni de etkileyecektir. Daha kapsamlД± bir Г¶rnek yapalД±m:
Bir pointer’in iЕџaret ettiДџi deДџiЕџkeni program boyunca sГјrekli deДџiЕџtirebilirsiniz. Yukardaki Г¶rnekte, int_addr pointer’i, Г¶nce x’i ve ardД±ndan y’yi iЕџaret etmiЕџtir. Bu yГјzden, z deДџiЕџkenine int_addr kullanarak yaptД±ДџД±mД±z atamalar, her seferinde farklД± sonuГ§lar doДџurmuЕџtur. Pointer kullanarak, deДџiЕџkenlerin sakladД±ДџД± deДџerleri de deДџiЕџtirebiliriz. Ећimdi bununla ilgili bir Г¶rnek inceleyelim:
Kodu derleyip, Г§alД±ЕџtД±rdД±ДџД±nД±zda, x’in deДџerinin deДџiЕџtiДџini gГ¶receksiniz. Pointer baЕџД±na ‘*’ getirip, pointer’a bir deДџer atarsanД±z; aslД±nda iЕџaret ettiДџi deДџiЕџkene deДџer atamД±Еџ olursunuz. Pointer ise hiГ§ deДџiЕџmeden, aynД± adres bilgisini tutmaya devam edecektir.
Pointer tutan Pointer’lar
Pointer’lar, gГ¶rdГјДџГјmГјz gibi deДџiЕџkenleri iЕџaret ederler. Pointer’da bir deДџiЕџkendir ve onu da iЕџaret edecek bir pointer yapД±sД± kullanД±labilir. GeГ§en sefer ki bildirimden farkД±, pointer deДџiЕџkenini iЕџaret edecek bir deДџiЕџken tanД±mlД±yorsanД±z; baЕџД±na ‘**’ getirmeniz gerekmesidir. Buradaki yД±ldД±z sayД±sД± deДџiЕџebilir. EДџer, pointer iЕџaret eden bir pointer’i iЕџaret edecek bir pointer tanД±mlamak istiyorsanД±z, ГјГ§ defa yД±ldД±z ( *** ) yazmanД±z gerekir. Evet, cГјmle biraz karmaЕџД±k, ama kullanД±m oldukГ§a basit! Pointer iЕџaret eden pointer’larД± aЕџaДџД±daki Г¶rnekte bulabilirsiniz:
YazmД±Еџ olduДџumuz kod iГ§ersinde kimin neyi gГ¶sterdiДџini grafikle daha iyi anlayabiliriz:
Birbirini gГ¶steren Pointer’larД± ilerki derslerimizde, Г¶zellikle dinamik bellek tahsis ederken Г§ok ihtiyaГ§ duyacaДџД±mД±z bir yapД±. O yГјzden iyice Г¶Дџrenmek gerekiyor.
Referansla ArgГјman AktarД±mД±
Fonksiyonlara nasД±l argГјman aktaracaДџД±mД±zД± biliyoruz. HatД±rlayacaДџД±nД±z gibi parametrelere deДџer atД±yorduk. Bu yГ¶ntemde, kullandД±ДџД±nД±z argГјmanlarД±n deДџeri deДџiЕџmiyordu. Fonksiyona parametre olarak yollanan argГјman hep aynД± kalД±yordu. Fonksiyon iГ§inde yapД±lan iЕџlemlerin hiГ§biri argГјman deДџiЕџkeni etkilemiyordu. Sadece deДџiЕџken deДџerinin aktarД±ldД±ДџД± ve argГјmanД±n etkilenmediДџi bu duruma, «call by value» veya «pass by value» adД± verilir. Bu isimleri bilmiyor olsanД±z dahi, Еџu ana kadar ki fonksiyon Г§alД±ЕџmalarД± bГ¶yleydi.
Geriye birden Г§ok deДџer dГ¶nmesi gereken veya fonksiyonun iГ§ersinde yapacaДџД±nД±z deДџiЕџikliklerin, argГјman deДџiЕџkene yansД±masД± gereken durumlar olabilir. Д°Еџte bu gibi zamanlarda, «call by reference» veya «pass by reference» olarak isimlendirilen yГ¶ntem kullanД±lД±r. ArgГјman deДџer olarak aktarД±lmaz; argГјman olan deДџiЕџkenin adres bilgisi fonksiyona aktarД±lД±r. Bu sayede fonksiyon iГ§ersinde yapacaДџД±nД±z her tГјrlГј deДџiЕџiklik argГјman deДџiЕџkene de yansД±r.
SГ¶ylediklerimizi uygulamaya dГ¶kelim ve kendisine verilen iki sayД±nД±n yerlerini deДџiЕџtiren bir fonksiyon yazalД±m. Yani kendisine a ve b adД±nda iki deДџiЕџken yollanД±yorsa, a’nД±n deДџerini b; b’nin deДџeriniyse a yapsД±n.
Referans yoluyla aktarım olmasaydı, iki değişkenin değerlerini fonksiyon kullanarak değiştiremezdik. Eğer yazdığınız fonksiyon birden çok değer döndürmek zorundaysa, referans yoluyla aktarım zorunlu hâle geliyor. Çünkü daha önce işlediğimiz return ifadesiyle sadece tek bir değer döndürebiliriz. Örneğin bir bölme işlemi yapıp, bölüm sonucunu ve kalanı söyleyen bir fonksiyon yazacağımızı düşünelim. Bu durumda, bölünen ve bölen fonksiyona gidecek argümanlar olurken; kalan ve bölüm geriye dönmelidir. return ifadesi geriye tek bir değer vereceğinden, ikinci değeri alabilmek için referans yöntemi kullanmamız gerekir.
Fonksiyon Prototipleri
BildiДџiniz gibi fonksiyonlarД±mД±zД±, main( ) Гјzerine yazД±yoruz. Tek kД±sa bir fonksiyon iГ§in bu durum rahatsД±z etmez; ama uzun uzun 20 adet fonksiyon olduДџunu dГјЕџГјnГјn. main( ) fonksiyonu sayfalar dolusu kodun altД±nda kalacak ve okunmasД± gГјГ§leЕџecektir. Fonksiyon prototipleri burada devreye girer.
Bir Гјstte yazdД±ДџД±mД±z programД± tekrar yazalД±m. Ama bu sefer, fonksiyon prototipi yapД±sД±na uygun olarak bunu yapalД±m:
bolme_islemi( ) fonksiyonunu, main( ) fonksiyonundan Г¶nce yazmadД±k. Sadece bГ¶yle bir fonksiyon olduДџunu ve alacaДџД± parametre tiplerini bildirdik. ( Д°steseydik parametre adlarД±nД± da yazabilirdik ama buna gerek yok. ) Daha sonra main( ) fonksiyonu altД±na inip, fonksiyonu yazdД±k.
Г–Дџrendiklerimizi pekiЕџtirmek iГ§in yeni bir program yazalД±m. Fonksiyonumuz, kendisine argГјman olarak gГ¶nderilen bir pointer’i alД±p; bu pointer’in bellekteki adresini, iЕџaret ettiДџi deДџiЕџkenin deДџerini ve bu deДџiЕџkenin adresini gГ¶stersin.
Fonksiyon prototipi, «Function Prototype«dan geliyor. Bunun gГјzel bir Г§eviri olduДџunu dГјЕџГјnmГјyorum. Ama aklД±ma daha uygun bir Еџey gelmedi. Г–neriniz varsa deДџiЕџtirebiliriz.
RekГјrsif Fonksiyonlar
Bir fonksiyon iГ§ersinden, bir diДџerini Г§aДџД±rabiliriz. RekГјrsif fonksiyonlar, fonksiyon iГ§ersinden fonksiyon Г§aДџД±rmanД±n Г¶zel bir hГўlidir. RekГјrsif fonksiyon bir baЕџka fonksiyon yerine kendisini Г§aДџД±rД±r ve Еџartlar uygun olduДџu sГјrece bu tekrarlanД±r. RekГјrsif, Recursive kelimesinden geliyor ve tekrarlamalД±, yinelemeli anlamД±nД± taЕџД±yor. Kelimenin anlamД±yla, yaptД±ДџД± iЕџ Г¶rtГјЕџmekte.
RekГјrsif fonksiyonlarД± aklД±mД±zdan Г§Д±kartД±p, bildiДџimiz yГ¶ntemle 1, 5, 9, 13 serisini oluЕџturan bir fonksiyon yazalД±m:
Bu fonksiyonu yazmak oldukГ§a basitti. Ећimdi aynД± iЕџi yapan rekГјrsif bir fonksiyon yazalД±m:
Son yazdД±ДџД±mД±z programla, bir Г¶nce yazdД±ДџД±mД±z program aynД± Г§Д±ktД±larД± Гјretir. Ama birbirlerinden farklД± Г§alД±ЕџД±rlar. Д°kinci programД±n farkД±nД± akД±Еџ diyagramД±na bakarak sizler de gГ¶rebilirsiniz. RekГјrsif kullanД±m, fonksiyonun tekrar tekrar Г§aДџrД±lmasД±nД± saДџlamД±ЕџtД±r.
Daha Г¶nce faktГ¶riyel hesabД± yapan program yazmД±ЕџtД±k. Ећimdi faktГ¶riyel hesaplayan fonksiyonu, rekГјrsif olarak yazalД±m:
Yukardaki programД±n detaylД± bir Еџekilde akД±Еџ diyagramД±nД± vermeyeceДџim. Ancak faktГ¶riyel hesaplamasД± yapД±lД±rken, adД±mlarД± gГ¶rmenizi istiyorum. AdД±m olarak geГ§en her kutu, fonksiyonun bir kez Г§aДџrД±lmasД±nД± temsil ediyor. BaЕџlangД±Г§ kД±smД±nД± geГ§erseniz fonksiyon toplamda 5 kere Г§aДџrД±lД±yor.
RekГјrsif yapД±lar, oldukГ§a karmaЕџД±k olabilir. Fakat kullanД±ЕџlД± olduklarД± kesin. Г–rneДџin silme komutlarД± rekГјrsif yapД±lardan yararlanД±r. Bir klasГ¶rГј altД±nda bulunan her Еџeyle birlikte silmeniz gerekiyorsa, rekГјrsif fonksiyon kaГ§Д±nД±lmazdД±r. Ya da bazД± matematiksel iЕџlemlerde veya arama ( search ) yГ¶ntemlerinde yine rekГјrsif fonksiyonlara baЕџvururuz. BunlarД±n dД±ЕџД±nda rekГјrsif fonksiyonlar, normal fonksiyonlara gГ¶re daha az kod kullanД±larak yazД±lД±r. Bunlar rekГјrsif fonksiyonlarД±n olumlu yГ¶nleri. Ancak hiГ§bir Еџey mГјkemmel deДџildir.
RekГјrsif fonksiyon kullanmanД±n bilgisayarД±nД±za bindereceДџi yГјk daha fazladД±r. Faktoriyel Г¶rneДџine bakД±n; tam 5 kez aynД± fonksiyonu Г§aДџД±rД±yoruz ve bu sД±rada bГјtГјn deДџerler bellekte tutuluyor. EДџer Г§ok sayД±da iterasyondan sГ¶z ediyorsak, belleДџiniz hД±zla tГјkenecektir. RekГјrsif yapД±lar, bellekte ekstra yer kapladД±ДџД± gibi, normal fonksiyonlara gГ¶re daha yavaЕџtД±r. Гњstelik kД±sa kod yazД±mД±na karЕџД±n, rekГјrsif fonksiyonlarД±n daha karmaЕџД±k olduklarД±nД± sГ¶yleyebiliriz. Anlamak zaman zaman sorun olabiliyor. KД±sacasД± bir programda gerГ§ekten rekГјrsif yapД±ya ihtiyacД±nД±z olmadД±ДџД± sГјrece, ondan kaГ§Д±nmanД±z daha iyi!
Г–rnek Sorular
Soru 1: AЕџaДџД±daki programa gГ¶re, a, b ve c’nin deДџerleri nedir?
Soru 2: Fibonnacci serisinde herhangi bir seri elemanД±n deДџerini bulmak iГ§in f( n ) = f( n – 1 ) + f( n – 2 ) fonksiyonu kullanД±lД±r. BaЕџlangД±Г§ deДџeri olarak f( 0 ) = 0 ve f( 1 ) = 1’dir. Bu bilgiler Д±ЕџД±ДџД±nda, verilen n sayД±sД±na gГ¶re, seride karЕџД±lД±k dГјЕџen deДџeri bulan fonksiyonu rekГјrsif olarak yazД±nД±z.
Транзистордың негізгі ВАС-ы болып оның кіріс және шығыс сипаттамалары қарастырылады.
Практикада әдетте транзисторды ортақ эмиттермен (ОЭ) қосу жиі қолданылады. Бұлай қосқан кезде база кіріс электроды болып табылады, эмиттер жермен жалғанады (ол ортақ электрод), ал коллектор шығыс электроды болады.
ОЭ схемасымен қосылған транзистордың кіріс сипаттамасы – берілген (бекітілген) Uкэ коллектор мен эмиттер арасындағы кернеудегі Uбэ=f1(Iб) тәуелділігі – Uбэ база мен эмиттер арасындағы кернеудің Iб кіріс тогына тәуелділігі. Коллектор тізбегінде басқарылмайтын жылулық ток болуы мүмкін. Uкэ=0 болғанда коллектор тізбегінде Iк0 жылулық ток болмайды, ол тек Uкэ>0 кезінде пайда болады және 20 суретте көрсетілгендей Iб кіріс тогына қарсы бағытталған.
20 Сурет – Транзистордың температуралық токтарының таралуы
ОЭ схемасымен қосылған транзистордың шығыс сипаттамасы – берілген (бекітілген) Iб кіріс тогындағы Iк =f2(Uкэ) тәуелділігі – Iк шығыс тогының Uкэ колектор мен эмиттер арасындағы кернеуге тәуелділігі. Егер Uбэ=0 болса, коллектор тізбегінде тек жылулық ток қана жүреді, өйткені бұл жағдайда (қарастырылып отырған n-p-n типті транзистор үшін) эмиттерден электрондардың базаға инжекциясы (бүркуі) болмайды.
21 суретте статикалық режимдегі транзистордың ВАС-ы келтірілген.
21 Сурет – ОЭ схемасымен қосылған (а)
транзистордың кіріс (б) және шығыс (в) ВАС-ы
Кіріс ВАС-ында көрініп тұрғандай, (21-б сурет) кіріс жағынан транзистор Uбэ кернеуінің белгілі бір мәніне дейін сезімталдығы жоқ аймаққа ие, бұл аймақта транзистордың күшейткіш қасиеттері болмайды. Германий транзисторларында кернеудің бұл мәні (0,3 – 0,5 В шамасында ) кремний транзисторларына қарағанда (0,6 – 0,9 В) төмен болады (бұл шаманы 0,7 В деп қарастырамыз).
Күшейткіш элемент ретінде ОЭ схемасымен қосылған статикалық режимдегі транзисторды сипаттайтын параметр – база тогының күшею коэффициенті h21э:
Анықтамаларда бұл параметр статикалық режимдегі көрсеткіш екендігі жайында арнайы атап көрсетіледі. Көтпеген транзисторлар үшін h21э мәні h21э=10-200 аралығында болады.
h21э параметрі h – парметрлер қатарына жатады, бұл төртполюстіктің арнайы параметрі. Анықтамаларда басқа да һ – параметрлер келтіріледі, олар:
– h11э – транзистордың кіріс дифференциалдық кедергісі, ол Uкэ=const кезіндегі h11э=ΔUбэ/ΔIб қатынасымен анықталады;
Бұл екі параметр динамикалық параметрлер болып табылады.
ОЭ схемасымен жалғанған транзисторлар үшін кіріс кедергі кОм-дар шамасында болады, шығыс өткізгіштігінің мәні – 10 – 4 -10 -5 шамасында.
Транзистор колектор тізбегіндегі Rк жүктемемен жұмыс істегенде коллектордағы кернеу азаяды, колектордағы токтың жоғары мәндерінде нөлге дейін төмендейді. Коллектор тогы Iк мен ондағы кернеу Uк арасындағы байланыс жүктеме түзуі теңдеуімен анықталады, оның түрі мынадай:
Транзистордың коллекторлық (шығыс) сипаттамаларында (21-в сурет) жүктемелік түзу координаттар осімен мынадай нүктелерде қиылысады:
– горизонталь осьті коллектор мен эмиттер арасындағы Uкэ кернеудің Ек мәнінде, бұл кезде Iк = 0 болады;
– вертикаль осьті Ек/Rк нүктесінде, бұл кезде транзистор қанығу режимінде болады (транзистор қысқаша тұйықталған деп есептеуге болады).
Келтірілген графикалық сызбалар мен есептеулер биполяр транзисторлар негізіндегі әртүрлі күшейткіш схемаларды жобалағанда қолданылады.
6 ӨРІСТІК ТРАНЗИСТОРДЫҢ ҚҰРЫЛЫМЫ МЕН
ЖҰМЫС ІСТЕУ ПРИНЦИПІ
Өрістік транзистор төмен легирленген n-типті жұқа пластинка немесе стержень түрінде жасалады. Ол арна болып табылады. Арнаның екі бүйіріне затвор қызметін атқаратын р-типті жартылайөткізгіш қондырылады. n-типті пластинаның екі шетіне электрондар орнатылған. Арнаның біреуі – «көз», екіншісі «астау» деп аталған, көз схеманың ортақ нүктесімен жалғанған.
22 Сурет – Өрістік транзистордың конструкциялық-схемалық моделі
Астауға арнадағы негізгі тасымалдаушылар көзге қарай қозғалатындай полюсті кернеу беріледі, яғни n-арналы транзисторда астауға «+», ал р-арналы транзисторда «-» полюсті кернеу беріледі. p + затвор мен n-арна арасында p-n ауысу пайда болады және ол арнаға жақын аймақта болады, өйтекені оның легирлену дәрежесі төмен болады. Затворға көзбен салыстырғанда p-n ауысу кері бағытта ығысатындай полюстегі басқаратын кернеу беріледі. Затвордағы кернеудің бағыты өзгергенде p-n ауысудың ені, сонымен қатар арнаның өткізгіш бөлігінің ені д өзгереді. Нәтижесінде «көз-астау» бөлігінің (арнаның) кедергісі және астаудың тогы да өзгереді.
Өрістік транзисторды сипаттайтын негізгі параметрлер:
1. Арнаның өткізгіш бөлігі бүкіл ұзына бойына бітелетіндей затвор мен көз арасындағы кернеу – кесу (үзу) кернеуі;
2. Арнаның астау тұсында бітелуіне әкелетін «көз-астау» арасындағы кернеу – қанығу кернеуі.