Moja pierwsza krecha w MT4.

O jezykach programowania w platformach i nie tylko.
drendriu
Pasjonat
Pasjonat
Posty: 485
Rejestracja: 28 maja 2011, 10:10

Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: drendriu »

WItam serdecznie. Otóż zaczynam tym postem moją przygodę z programowaniem w MT4.

Zasadniczo w tym wątku chciałbym stworzyć podobno banalnie trywialny idykator, który rysuje przerywaną czerwona linię 14 słupków wstecz od prawego pocżątku wykresu. Po prostu ostanio napotkałem taki webinar w którym prowadzący, mówił, że gdy 14 dni na d1 pod rząd spada (lub rośnie) to można wstępnie mówić o rozpoczęciu trendu. Chciał bym mieć taką krechę, nawet nie po to aby mi była jakoś specjanie potrzebna, niemniej po to aby zacząć moją przygodę z programowaniem mql.

Nadmieniam, trochę orientuje się w programowaniu jao takim trochę napisłąem prostych kodów w afl (amibroker), nemniej mql to dla mnie czarna dziura i zaczynam niniejszym postem wszysko od nowa.

Rozpoczynam od tego co kolega Dadas podrzucił mi na tym forum:

Kod: Zaznacz cały

  ObjectCreate("Moja_Tajna_Linia"+time_arrow, OBJ_VLINE, 0, 0,0, 0,0);
ObjectSet("Moja_Tajna_Linia",OBJPROP_TIME1,Time[index_swiecy]);
ObjectSet("Moja_Tajna_Linia",OBJPROP_COLOR,Color); 
ObjectSet("Moja_Tajna_Linia",OBJPROP_WIDTH,Szerokosc); 
 ObjectSet("Moja_Tajna_Linia",OBJPROP_STYLE,Styl); 
 ObjectSet("Moja_Tajna_Linia",OBJPROP_BACK,true);  

Nistety kod wywala błedy:

http://www.fotosik.pl/pokaz_obrazek/pel ... 0633b.html

Coś ala "deklaracja bez typu". Czegoś tu brakuje. Spróbuję poszukać coś w sieci. Jakbym nie znalazł, to jutro prosze o podpowiedź.

Dadas

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Dadas »

drendriu pisze:WItam serdecznie. Otóż zaczynam tym postem moją przygodę z programowaniem w MT4.

Zasadniczo w tym wątku chciałbym stworzyć podobno banalnie trywialny idykator, który rysuje przerywaną czerwona linię 14 słupków wstecz od prawego pocżątku wykresu. Po prostu ostanio napotkałem taki webinar w którym prowadzący, mówił, że gdy 14 dni na d1 pod rząd spada (lub rośnie) to można wstępnie mówić o rozpoczęciu trendu. Chciał bym mieć taką krechę, nawet nie po to aby mi była jakoś specjanie potrzebna, niemniej po to aby zacząć moją przygodę z programowaniem mql.

Nadmieniam, trochę orientuje się w programowaniu jao takim trochę napisłąem prostych kodów w afl (amibroker), nemniej mql to dla mnie czarna dziura i zaczynam niniejszym postem wszysko od nowa.

Rozpoczynam od tego co kolega Dadas podrzucił mi na tym forum:

Kod: Zaznacz cały

  ObjectCreate("Moja_Tajna_Linia"+time_arrow, OBJ_VLINE, 0, 0,0, 0,0);
ObjectSet("Moja_Tajna_Linia",OBJPROP_TIME1,Time[index_swiecy]);
ObjectSet("Moja_Tajna_Linia",OBJPROP_COLOR,Color); 
ObjectSet("Moja_Tajna_Linia",OBJPROP_WIDTH,Szerokosc); 
 ObjectSet("Moja_Tajna_Linia",OBJPROP_STYLE,Styl); 
 ObjectSet("Moja_Tajna_Linia",OBJPROP_BACK,true);  

Nistety kod wywala błedy:

http://www.fotosik.pl/pokaz_obrazek/pel ... 0633b.html

Coś ala "deklaracja bez typu". Czegoś tu brakuje. Spróbuję poszukać coś w sieci. Jakbym nie znalazł, to jutro prosze o podpowiedź.
Człeku, używaj głowy do myślenia!
Weź jakiś gotowy indyk, i na jego podstawie zrób sobie ten.

A wpierw poczytaj z czego się taki indyk składa.

drendriu
Pasjonat
Pasjonat
Posty: 485
Rejestracja: 28 maja 2011, 10:10

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: drendriu »

Dadas pisze: Weź jakiś gotowy indyk, i na jego podstawie zrób sobie ten.
.
Jakieś propozycje ?. Tylko musi być to coś naprawdę prostego ... I co oznacza to event handling ?.

P.S. Spróbowałem przy pomocy kreatora indyków postępować wedle instrukcji z:
http://blog.atena.pl/mql-moj-pierwszy-wskaznik

... i klikając tą opcję:
http://images70.fotosik.pl/381/c251a7ba4c8ddf9f.jpg

...automatycznie stworzyłem taki kodzik:

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                                          ppp.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot Label1
#property indicator_label1  "Label1"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- indicator buffers
double         Label1Buffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,Label1Buffer);
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
Skompilował sie bez błędów, ale po wrzuceniu na wykres nic niestety nie wyskakuje.
Ostatnio zmieniony 19 lis 2014, 17:35 przez drendriu, łącznie zmieniany 2 razy.

Awatar użytkownika
ajot
Gaduła
Gaduła
Posty: 92
Rejestracja: 21 cze 2010, 17:44

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: ajot »

drendriu pisze:
Jakieś propozycje ?. Tylko musi być to coś naprawdę prostego ... I co oznacza to event handling ?.
Voilà ;)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

Dadas

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Dadas »

ajot pisze:
drendriu pisze:
Jakieś propozycje ?. Tylko musi być to coś naprawdę prostego ... I co oznacza to event handling ?.
Voilà ;)
I popsułeś całą zabawę, a drendriu się niczego nie nauczył, tylko dostał to, o co płakał.

Awatar użytkownika
ajot
Gaduła
Gaduła
Posty: 92
Rejestracja: 21 cze 2010, 17:44

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: ajot »

Dadas pisze: I popsułeś całą zabawę, a drendriu się niczego nie nauczył, tylko dostał to, o co płakał.
Nie do końca. Dostał prosty działający indyk ... teraz już jego rola żeby się tym bawić, dodawać sobie wodotryski itp. ... na końcu i tak dojdzie do wniosku, że te wszystkie indyki to są bezsensu i tylko zaciemniają obraz czystego wykresu ... ale to inna bajka ;)

Dadas

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Dadas »

ajot pisze:
Dadas pisze: I popsułeś całą zabawę, a drendriu się niczego nie nauczył, tylko dostał to, o co płakał.
Nie do końca. Dostał prosty działający indyk ... teraz już jego rola żeby się tym bawić, dodawać sobie wodotryski itp. ... na końcu i tak dojdzie do wniosku, że te wszystkie indyki to są bezsensu i tylko zaciemniają obraz czystego wykresu ... ale to inna bajka ;)
drendriu?
O nie, dalej będzie płakał, tak jak już to nieraz robił.

drendriu
Pasjonat
Pasjonat
Posty: 485
Rejestracja: 28 maja 2011, 10:10

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: drendriu »

drendriu?
O nie, dalej będzie płakał, tak jak już to nieraz robił.
Dadas nie pokłócić sie z tobą, to naprawde jest sztuka. Jestes cholernie irytujący, mało dajesz, a masz dużo do powiedzenia. Paskuda z ciebie, i prowokujesz maxymalnie. Ale coś tam pomagasz.

Bądźmy dobrej myśli, będzie dobrze.

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                                       Krecha.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql4.com"
#property version   "1.00"
#property strict
#property indicator_chart_window

extern int index_swiecy=14;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() 
  {
//--- indicator buffers mapping
   ObjectCreate("Moja_Tajna_Linia", OBJ_VLINE, 0, 0,0, 0,0);
//---
   return(0);
  }
  
//+------------------------------------------------------------------+ 
//| Custor indicator deinitialization function                       | 
//+------------------------------------------------------------------+ 
int deinit() 
  { 
//---- 
    ObjectDelete("Moja_Tajna_Linia");
//---- 
   return(0); 
  } 
  
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() 
  {
//---

      
      ObjectSet("Moja_Tajna_Linia",OBJPROP_TIME1,Time[index_swiecy-1]);
      ObjectSet("Moja_Tajna_Linia",OBJPROP_COLOR,clrRed); 
      ObjectSet("Moja_Tajna_Linia",OBJPROP_WIDTH,1); 
      ObjectSet("Moja_Tajna_Linia",OBJPROP_STYLE,1); 
      ObjectSet("Moja_Tajna_Linia",OBJPROP_BACK,true); 
   
//--- return value of prev_calculated for next call
   return(0);
  }
//+------------------------------------------------------------------+
P.S. Jakby ktoś mógł jakoś opisać co w kodzie robią:

extern int
int init()
int deinit()
int start()
ObjectSet("Moja_Tajna_Linia",OBJPROP_BACK,true);

Jakby ktoś mógł opisac w jaki sposób działa ten niby trywialny kod - jak to idzie po kolei ....

Fx_boy
Pasjonat
Pasjonat
Posty: 691
Rejestracja: 30 maja 2011, 08:31

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Fx_boy »

Jakby ktoś mógł opisac w jaki sposób działa ten niby trywialny kod - jak to idzie po kolei ....
Może tutaj:
http://4programmers.net/C/Extern
Dziękuję i pozdrawiam.

Dadas

Re: Moja pierwsza krecha w MT4.

Nieprzeczytany post autor: Dadas »

drendriu pisze:
P.S. Jakby ktoś mógł jakoś opisać co w kodzie robią:

extern int
int init()
int deinit()
int start()
ObjectSet("Moja_Tajna_Linia",OBJPROP_BACK,true);

Jakby ktoś mógł opisac w jaki sposób działa ten niby trywialny kod - jak to idzie po kolei ....
Tragedia! Z twoim angielskim jest aż tak źle?
Weź się nie błaźnij, tylko kurs przeczytaj, po Polsku też są.

Jakbyście wątpili, to pisałem wcześniej: ten człowiek będzie płakał i niczego sam nie zrobi.
Nie dziwię się dlaczego nie ma sukcesów w tradingu, skoro tak podstawowa logika u niego siedzi i płacze.

ODPOWIEDZ