[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 8

 
hıh, teşekkürler
 

Merhaba.

İşte hafta sonu çalışmam. Kınamaya, yani yıkıma boyun eğiyorum.

int başlangıç()
{
//----
double CCI = NormalizeDouble (iCCI(NULL, 0,Period,PRICE_CLOSE,1), Digits);

if(CCI[1] > -100)
if(Siparişleri Kontrol Et(OP_SEL))
{
if(!OrderSend(Symbol(), OP_BUY, Lot, Sor, 3, 0, 0, NULL, MagicNumber))
Print("Satın alma siparişi açılmadı. Hata #", GetLastError());
}

if(CCI[1] < 100)
if(Siparişleri Kontrol Et(OP_BUY))
{
if(!OrderSend(Symbol(), OP_SELL, Lot, Bid, 3, 0, 0, NULL, MagicNumber))
Print("Satış emri açılmadı. Hata #", GetLastError());
}

//----
dönüş(0);
}

bu, CCI kodunun bir parçasıdır. İşin özü basittir, cci > -100'ün altında satın alırız, cci <100'ün üzerinde satarız


int başlangıç()
{
//----
double RSI = NormalizeDouble(iRSI(NULL, 0,Period,PRICE_CLOSE,1), Digits);

if(RSI[1] > 70)
if(Siparişleri Kontrol Et(OP_SEL))
{
if(!OrderSend(Symbol(), OP_BUY, Lot, Sor, 3, 0, 0, NULL, MagicNumber))
Print("Satın alma siparişi açılmadı. Hata #", GetLastError());
}

if(RSI[1] < 30)
if(Siparişleri Kontrol Et(OP_BUY))
{
if(!OrderSend(Symbol(), OP_SELL, Lot, Bid, 3, 0, 0, NULL, MagicNumber))
Print("Satış emri açılmadı. Hata #", GetLastError());

//----
dönüş(0);
}

RSI kodunun bu kısmı aynı, 70'den al 30'dan sat


int başlangıç()
{
//----
double WPR = NormalizeDouble(iWPR(NULL, 0,Period,1), Digits);

if(WPR[1] > -80)
if(Siparişleri Kontrol Et(OP_SEL))
{
if(!OrderSend(Symbol(), OP_BUY, Lot, Sor, 3, 0, 0, NULL, MagicNumber))
Print("Satın alma siparişi açılmadı. Hata #", GetLastError());
}

if(WPR[1] < -20)
if(Siparişleri Kontrol Et(OP_BUY))
{
if(!OrderSend(Symbol(), OP_SELL, Lot, Bid, 3, 0, 0, NULL, MagicNumber))
Print("Satış emri açılmadı. Hata #", GetLastError());
}

//----
dönüş(0);
}

WPR kodunun bu kısmı (williams göstergesi) -80 satın al, -20 sat.

Bir sorum var, tüm bunlarda alım satım koşullarını mı karıştırdım............ Çok teşekkür ederim........

 

Merhaba sevgili uzmanlar ve sadece.

Siteniz, bence, BAŞLANGIÇLARA MQL4 materyalinde ustalaşma konusunda yardımcı olmak için en uygun olanıdır.

Sorduğum sorulara UZMANLARDAN kapsamlı cevaplar aldım. Uzmanlar. Ama acemi bir acemidir. Konuyu anlayana kadar soruyu tekrar tekrar soracaktır. BİR ŞEY ÖĞRENME İSTEKLERİ OLAN ÖĞRENCİLER BÖYLEDİR... .... ÖĞRENMEK İSTİYORUM.....

Korey, grani77, vinin, YuraZ, figarO, BARS'ın cevaplarını ve yorumlarını çok beğendim. Zeki ve akıllı. İzin verirseniz, iletişim sabuna yerleştirilebilir ........... Şimdiden teşekkürler

 
igrok2008 писал(а) >> yazdı ve inekler kadar akıllı değil

Oh nasıl. Ben de "bir tavuğa ne kadar öğretirsen öğret, o daha akıllı olmayacak, sadece daha fazlasını bilecektir" diye düşündüm.

 
Mathemat >> :

Oh nasıl. Ben de "bir tavuğa ne kadar öğretirsen öğret, o daha akıllı olmayacak, sadece daha fazlasını bilecektir" diye düşündüm.

Neden bir tavuk eğitelim? O bir kuş bile değil (söze göre) ..... Eh, bir kişi bu şekilde bir tavuktan farklıdır - düşünür. Ve bu mümkün ve böylece "Yaşa ve öğren".

Yine de tekrar ediyorum, yukarıda kreasyonumu hafta sonu getirdim, plz, yanlış olan yorumlarım ..........

 

igrok2008'e

otomatik ticaretin mevcut durumu, Hasat Savaşı gibidir,
bir biçerdöverle, alıntılarla, MQL ile, bir test cihazıyla, kitaplardan buggy araçlarıyla ve kendi kendine yapılanlarla savaşıyoruz,
bu nedenle, eğitim çözülmemiş birçok sorunun varlığından dolayı henüz mevcut değildir.
teknikten gnostik olana kadar.
- MTS yaratma sanatı vardır, ancak tüm meta ticaretinin geri kalanı bir karmaşadır
bu nedenle, bu şekilde eğitim tek bir değişkende tutarlı olabilir
\u003d omzunuzda olan bir görev seçin, özenle kemirin ve ondan öğrenin.
...
Not: Genel olarak konuşmak gerekirse, çalışmak utanç verici - çünkü. MT-4'te sorunları çözmek için (deneyim ve becerilere sahip olmak) yerine, bu görevler üzerinde çalışmayı ve çalışmayı öğrenmelisiniz.
IMHO = piyanodaki yüz
ama henüz otomatik ticarette başka bir yol yok ve olmayacak

 
Korey >> :

igrok2008'e

otomatik ticaretin mevcut durumu, Hasat Savaşı gibidir,
bir biçerdöverle, alıntılarla, MQL ile, bir test cihazıyla, kitaplardan buggy araçlarıyla ve kendi kendine yapılanlarla savaşıyoruz,
bu nedenle, eğitim çözülmemiş birçok sorunun varlığından dolayı henüz mevcut değildir.
teknikten gnostik olana kadar.
- MTS yaratma sanatı vardır, ancak tüm meta ticaretinin geri kalanı bir karmaşadır
bu nedenle, bu şekilde eğitim tek bir değişkende tutarlı olabilir
\u003d omzunuzda olan bir görev seçin, özenle kemirin ve ondan öğrenin.
...
Not: Genel olarak konuşmak gerekirse, çalışmak utanç verici - çünkü. MT-4'te sorunları çözmek için (deneyim ve becerilere sahip olmak) yerine, bu görevler üzerinde çalışmayı ve çalışmayı öğrenmelisiniz.
IMHO = piyanodaki yüz
ama henüz otomatik ticarette başka bir yol yok ve olmayacak

Peki, ders çalışmak neden ayıp olsun ki? Sonuçta insan öğrenir ve gelişir. Eğer çalışmazsanız, o zaman bu bir amip haline, tek hücreli hale, amorf bir duruma dönüşme sürecidir. Temel olarak, bunlar felsefi sorulardır. Karmaşıklar, kolay değiller ve bunları bir fincan çay (40 derece), kekler (bir parça iyi et) ve büyülü bir koltukta tartışmak DAHA İYİ ......-:)))) )))

16.02 (yukarıda) kreasyonlarımı tekrar ediyorum. Onların derdi ne..............

 

igrok2008'e

1. soru sorulmaz, yani. soru nerede?
2 "Onların nesi var" genel sorusuna cevap vermek için bu danışmanı genel olarak çalıştırmanız gerekir, - teknik hala, ancak koşmak için uygun değil.
ve eğer öyleyse, o zaman cevap verecek bir şey yok.
3. Soru CCİ sosyalleştiricisi ile ilgiliyse bir danışman çalışmasına gerek yoktur, örneğin, soru uygundur - CCİ için + başka ne var, ama siz sormadınız))
3. SRC düğmesinde yayınlanan kodun okunması çok daha kolaydır, gözlerinizi ve zamanınızı korur

 

Göstergeyle ilgili sorular:

1. Kod yorumlarım doğru mu (kırmızı)

2. HaOpen < haClose ve haOpen > haClose olduğunda histogram renginin kodun neresinde değiştiği

Sizin için zor değilse, lütfen bu koda yapılan yanlış yorumları düzeltin! Gerçekten anlamak istiyorum:

//+------------------------------------------------------------------+
//| Heiken Ashi.mq4 |
//| Copyright c 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
//| For Heiken Ashi we recommend next chart settings ( press F8 or |
//| select on menu 'Charts'->'Properties...'): |
//| - On 'Color' Tab select 'Black' for 'Line Graph' |
//| - On 'Common' Tab disable 'Chart on Foreground' checkbox and |
//| select 'Line Chart' radiobutton |
//+------------------------------------------------------------------+

// Все, что было написано выше - стандартная лабуда
// а все, что идет ниже под грифом #property - это объявление глобальных констант.

#property copyright "Copyright © 2004, MetaQuotes Software Corp." // это могли бы и не писать
#property link "http://www.metaquotes.net" // это тоже лабудаа

#property indicator_chart_window // отображать индикатор в основном окне
#property indicator_buffers 4 // будет 4 буфера
#property indicator_color1 Red // цвет для гистограммы
#property indicator_color2 White // цвет для гистограммы
#property indicator_color3 Red // цвет для гистограммы
#property indicator_color4 White // цвет для гистограммы
#property indicator_width1 1 // толщина для гистограмм
#property indicator_width2 1
#property indicator_width3 3
#property indicator_width4 3

//---- четыре строчки ниже - это внешние переменные цветов гистограмм
extern color color1 = Red;
extern color color2 = White;
extern color color3 = Red;
extern color color4 = White;
//---- buffers вводятся переменные, которые в дальнейшем будут связаны с буферами гистограмм индикатора
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
//----
int ExtCountedBars=0; // вводится переменная, которой присваивается 0 - хаха , я не знаю почему не 1((
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//|------------------------------------------------------------------|
int init() // а здесь запускается специальная функция init (здесь она запускается после присоединения индикатора к окну графика, после изменения настроек эксперта)
{
//---- indicators
SetIndexStyle(0,DRAW_HISTOGRAM, 0, 1, color1); // здесь устанавливается тип гистограмм с порядковыми номерами линий, типом, стилем, шириной, цветом
SetIndexBuffer(0, ExtMapBuffer1); // связывает переменную-массив, объявленную на глобальном уровне с предопределенным (по порядковому номеру линии = 0)
// буфером польз.-го индикатора
. Ниже по аналогии.
SetIndexStyle(1,DRAW_HISTOGRAM, 0, 1, color2);
SetIndexBuffer(1, ExtMapBuffer2);
SetIndexStyle(2,DRAW_HISTOGRAM, 0, 3, color3);
SetIndexBuffer(2, ExtMapBuffer3);
SetIndexStyle(3,DRAW_HISTOGRAM, 0, 3, color4);
SetIndexBuffer(3, ExtMapBuffer4);
//---- // установка порядкового номера бара от начала данных для отрисовки указанной линии
SetIndexDrawBegin(0,10); // порядковый номер линии = 0. хаха не понятно, эта линия будет рисоваться на основании 11 быров с учетом нулевого?(( индикатор отрисован
// по гораздо большему количеству баров((. ниже по аналогии
SetIndexDrawBegin(1,10);
SetIndexDrawBegin(2,10);
SetIndexDrawBegin(3,10);
//---- indicator buffers mapping
SetIndexBuffer(0,ExtMapBuffer1); // а зачем повторять ведь это же уже было написано выше, наверное автор этого индикатора захотел меня запутать!))
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexBuffer(3,ExtMapBuffer4);
//---- initialization done
return(0); // на этом специальная функция init завершается. Только почему в скобках у return ноль?? - непонятно((
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit() // а тут специальная функция deinit, которая не используется
{
//---- TODO: add your code here

//----
return(0); // гуд бай deinit
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start() //это основная функция индикатора запускается на каждом новом тике
{
double haOpen, haHigh, haLow, haClose; //вводятся локальные дробные переменные
if(Bars<=10) return(0); //оператор if с условием если баров yна рафике меньше или равно10 - закрывать функцию start
ExtCountedBars=IndicatorCounted(); //переменной ExtCountedBars присваивается значение количества баров в окне терминала.
// а чем отличается
функция IndicatorCounted () от Bars?
//---- check for possible errors
if (ExtCountedBars<0) return(-1); //ну вот, еще один if - если переменная ExtCountedBars < нуля ?завершение функции start? почему return с (-1)? - Непонятно((
//---- last counted bar will be recounted
if (ExtCountedBars>0) ExtCountedBars--; // а если ExtCountedBars больше нуля, от этого количества баров отнимается единица.
//Осуществляется переход на один бар ближе к нулевому - если я правильно понимаю
int pos=Bars-ExtCountedBars-1; //Вводиться и рассчитывается переменная pos - указатель на бар, с которого будет вестись расчет
while(pos>=0) //Запуск цикла while с условием, что pos должна быть больше или равна нулю. Цикл будет повторяться при каждом новом тике
//(при соблюдении условия).
{
haOpen=(ExtMapBuffer3[pos+1]+ExtMapBuffer4[pos+1])/2; //вводится и рассчитывается переменная haOpen на основании(суммы 2-х буферов 3-го и 4-го со смещением на один
//бар вперед)потом это на 2 делится
//когда цикл while снова повториться к pos будет изменена, чтобы не считать уже вычесленное значение индикаторов?

haClose=(Open[pos]+High[pos]+Low[pos]+Close[pos])/4; //вводится и рассчитывается переменная haClose на основании суммы цен открытия, максимума, минимума и закрытия
//бара начала рассчета
haHigh=MathMax(High[pos], MathMax(haOpen, haClose)); //вводиться и рассчитывается переменная haHigh на основании функции возврата максимального из двух числовых
//максимума текущего бара pos и максимального из 2-х числовых значений (haOpen и haClose)
haLow=MathMin(Low[pos], MathMin(haOpen, haClose)); //значений, то же что и строкой выше - только рассчитывается минимальное значение
if (haOpen<haClose) //если haOpen меньше haClose
{
ExtMapBuffer1[pos]=haLow; //тогда значение Буфер 1 по pos равено haLow
ExtMapBuffer2[pos]=haHigh; //и значение буфера 2 по pos равно haHight
}
else //а если условие ложно и haOpen больше или равно haClose
{
ExtMapBuffer1[pos]=haHigh; //тогда наоборот значение Буфер 1 по pos равно haHigh t
ExtMapBuffer2[pos]=haLow ; //а значение Буфера 2 по pos равно haLow
}
ExtMapBuffer3[pos]=haOpen; //в любом случае значение Буфера3 по pos равно haOpen
ExtMapBuffer4[pos]=haClose; //а значение буфера 4 по pos равно haClose
pos--; / /уменьшаем pos на единицу (ближе к нулевому бару) и повторяем цикл while сначала при соблюдении его условия
}
//----
return(0); //а если условие не соблюлось, выход из цикла while и конец функции start
}
//+------------------------------------------------------------------+
benzer |
Dosyalar:
 
Yukarıdaki örnekler, CCI, RSI ve WPR için alış ve satış kodlarını açıklamaktadır. Bu göstergeler neden kullanılıyor? Bence, Uzman Danışmanlar oluşturma ilkelerine hakim olmak için en basit olanlardır. Alım satım prensibi onlar için aynıdır. -100'den (CCI için), -70'den (RSI için) ve 20'den (WPR için) daha az, satış: +100, -30 ve 80 olacak. Bana öyle geliyor ki (birden fazla vaftiz oldum) alım satım şartlarında hatalar var ama anlamadığım yerde ..... Buradaki mesele alım satım şartlarının DOĞRU YAZILMASI ilkesidir (bence öyledir) ................ ...Size sormak istediğim buydu ........