Skrypty i narzedzia napisane przez uzytkownikow forum

ODPOWIEDZ
Awatar użytkownika
Tomasz-20021
Główny Moderator
Posty: 1707
Rejestracja: czwartek 09 sty 2014, 10:42

Skrypty i narzedzia napisane przez uzytkownikow forum

środa 03 wrz 2014, 09:44

Witam - prosze tu wrzucac rozne skrypty i inne udogodnienia znalezione gdzies na forum. W watku Szwajcara pojawily sie skrypty do stawiania drabinek jednak z czasem ich odnalezienie jest nie lada wyzwaniem.
"Panie Edison, dlaczego nie rezygnuje pan po 5000 porażek?”, Edison: „Młody człowieku, nie rozumie pan, to nie porażka. Znalazłem tylko 5000 sposobów, które nie działają. Dzięki czemu jestem o 5000 prób bliżej rozwiązania”.

Awatar użytkownika
akhh
Moderator Forum
Posty: 4450
Rejestracja: czwartek 07 cze 2012, 08:46
skype: ComparicFX
Lat na Forex: 12
Rodzaj rachunku: Rachunek rzeczywisty
Lokalizacja: Kielce
Kontakt:

Re: Skrypty i narzedzia napisane przez uzytkownikow forum

środa 03 wrz 2014, 09:53

Dobry pomysł. Jarek też troszkę tego napisał ;)
Comparic - Portal o rynku Forex, Opcjach Binarnych i CFD na akcje.

Więcej na Comparic.pl

Awatar użytkownika
Tomasz-20021
Główny Moderator
Posty: 1707
Rejestracja: czwartek 09 sty 2014, 10:42

Re: Skrypty i narzedzia napisane przez uzytkownikow forum

środa 03 wrz 2014, 09:55

tak wiadzialem wlasnie - juz mialem przenosic rowniez skrypty Jarka ale patrze a one juz tam sa :D
"Panie Edison, dlaczego nie rezygnuje pan po 5000 porażek?”, Edison: „Młody człowieku, nie rozumie pan, to nie porażka. Znalazłem tylko 5000 sposobów, które nie działają. Dzięki czemu jestem o 5000 prób bliżej rozwiązania”.

Awatar użytkownika
Marcin_N
Opiekun Forum
Posty: 2526
Rejestracja: wtorek 28 maja 2013, 14:16

Re: Skrypty i narzedzia napisane przez uzytkownikow forum

środa 03 wrz 2014, 10:08

Najlepiej będzie podlinkowywać tutaj tematy/posty i zrobić taką bazę - spis wskaźników. Jeśli ktoś ma na to czas, to myślę, że społeczność forumowa będzie wdzięczna.
Pozdrawiam serdecznie!
Marcin Nowogórski
Publicysta Comparic.pl

Awatar użytkownika
Tomasz-20021
Główny Moderator
Posty: 1707
Rejestracja: czwartek 09 sty 2014, 10:42

Re: Skrypty i narzedzia napisane przez uzytkownikow forum

środa 03 wrz 2014, 10:28

mozna to robic "przy okazji". Jesli ktos cos gdzies wypatrzy fajnego to ciach kopiuj wklej i bedzie na przyszlosc jak znalazl.
"Panie Edison, dlaczego nie rezygnuje pan po 5000 porażek?”, Edison: „Młody człowieku, nie rozumie pan, to nie porażka. Znalazłem tylko 5000 sposobów, które nie działają. Dzięki czemu jestem o 5000 prób bliżej rozwiązania”.

no avatar
GoldWolf
Stały Bywalec
Posty: 219
Rejestracja: wtorek 15 gru 2015, 20:48
Lat na Forex: 5
Rodzaj rachunku: Rachunek rzeczywisty
Lokalizacja: Bielsko-Biała

Re: Skrypty i narzedzia napisane przez uzytkownikow forum

wtorek 13 gru 2016, 09:11

Cel przeglądanie wszystkich dostępnych instrumentów przez brokera w jednym oknie.

Wersja XTB EA (broker dodaje znaczek plus "+" przy nazwie instrument na których można handlować):

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                              PrzegladWalorow.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "http://forum.comparic.pl/viewtopic.php?f=41&t=3224&p=63991#p63991"
#property version   "1.00"
#property strict
#property description "Skrypt ułatwiający przeglądania wszystkich walorów dostępnych u brokera"
#property description "Gdy ListaInstrumentow = true - pokazuje zaznaczone instrumenty"
#property description "Gdy ListaInstrumentow = false - pokazuje instrumenty ukryte"
#property description "Nawigacja za pomoca klaiwszy 1 i 2"

extern bool ListaInstrumentow = false; //Symbole zaznaczone, czy ukryte
short indeks_pozycji = 0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---
   if(lparam == 50){ // 50 to klawisz "2"
         for(;indeks_pozycji >= 0;){
            indeks_pozycji++;
            if(indeks_pozycji > SymbolsTotal(ListaInstrumentow))
               indeks_pozycji = 0;
            if(StringFind(SymbolName(indeks_pozycji, ListaInstrumentow),"+",0) > 0){
               ChartSetSymbolPeriod(0, SymbolName(indeks_pozycji, ListaInstrumentow), PERIOD_W1);
               break;
            }else
               Print("Nie pokazano walortu - :", SymbolName(indeks_pozycji, ListaInstrumentow));
         }  
      }
      if(lparam == 49){ // 49 to klawisz "1"
         for(;indeks_pozycji > -2;){
            indeks_pozycji--;
            if(indeks_pozycji < 0)
                  indeks_pozycji = (short) SymbolsTotal(ListaInstrumentow);
            if(StringFind(SymbolName(indeks_pozycji, ListaInstrumentow),"+",0) > 0){
               ChartSetSymbolPeriod(0, SymbolName(indeks_pozycji, ListaInstrumentow), PERIOD_W1);
               break;
            }else
               Print("Nie pokazano walortu - :", SymbolName(indeks_pozycji, ListaInstrumentow));
               
         }
      }
      //Print("indeks_pozycji - ", indeks_pozycji, "  (short) SymbolsTotal(ListaInstrumentow) - ", (short) SymbolsTotal(ListaInstrumentow));   
  }
//+------------------------------------------------------------------+
Dla nie kopiących przy nazwach brokerach

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                              PrzegladWalorow.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "http://forum.comparic.pl/viewtopic.php?f=41&t=3224&p=63991#p63991"
#property version   "1.00"
#property strict
#property description "Skrypt ułatwiający przeglądania wszystkich walorów dostępnych u brokera"
#property description "Gdy ListaInstrumentow = true - pokazuje zaznaczone instrumenty"
#property description "Gdy ListaInstrumentow = false - pokazuje instrumenty ukryte"
#property description "Nawigacja za pomoca klaiwszy 1 i 2"

extern bool ListaInstrumentow = false; //Symbole zaznaczone, czy ukryte
short indeks_pozycji = 0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam)
  {
//---
   if(lparam == 50){ // 50 to klawisz "2"
         indeks_pozycji++;
         if(indeks_pozycji > SymbolsTotal(ListaInstrumentow))
            indeks_pozycji = 0;
         ChartSetSymbolPeriod(0, SymbolName(indeks_pozycji, ListaInstrumentow), PERIOD_W1);
         
      }
      if(lparam == 49){ // 49 to klawisz "1"
         indeks_pozycji--;
         if(indeks_pozycji < 0)
            indeks_pozycji = (short) SymbolsTotal(ListaInstrumentow);
         ChartSetSymbolPeriod(0, SymbolName(indeks_pozycji, ListaInstrumentow), PERIOD_W1);
         
      }
      //Print("indeks_pozycji - ", indeks_pozycji, "  (short) SymbolsTotal(ListaInstrumentow) - ", (short) SymbolsTotal(ListaInstrumentow));   
  }
//+------------------------------------------------------------------+
Zmienna ListaInstrumentow - przyjmuje wartość true i wtedy pokazuje wszystkie walory dostępne w zakładce instrumenty (prawdopodobnie przy domyślnie zainstalowanej platformie są to wszystkie instrumenty).
Gdy ListaInstrumentow jest false pokazuje ukryte instrumenty - ja wybrałem sobie tylko kilka instrumentów dlatego używam opcji false gdy chcę zobaczyć resztę
Instrumenty_PokazUkryj.png
.

Teraz już nie muszę korzystać z innych rozwiązań.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

no avatar
GoldWolf
Stały Bywalec
Posty: 219
Rejestracja: wtorek 15 gru 2015, 20:48
Lat na Forex: 5
Rodzaj rachunku: Rachunek rzeczywisty
Lokalizacja: Bielsko-Biała

Re: Skrypty i narzedzia napisane przez uzytkownikow forum

piątek 23 gru 2016, 11:01

Prezentuje skrypt wspomagający do EA PrzygotujKarme powstałych dla strategii Pies na trend - http://forum.comparic.pl/viewtopic.php?f=27&t=4697

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                               PrzygotujKarme.mq4 |
//|  Copyright 2016,MetaQuotesSoftwareCorp. - GoldWolf - comparic.pl |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016,MetaQuotesSoftwareCorp. - GoldWolf - comparic.pl"
#property link      "http://forum.comparic.pl/viewtopic.php?f=27&t=4697"
#property version   "1.00"
#property strict
#property description "Skrypt przygotowany jest do pracy z EA utworzonymi dla strategi Pies na trend"
#property description "Więcej informacji znajdziecie na stronach forum - comparic.pl lub kilkając powyższy linik"
#property script_show_inputs

enum Opcje{
   Gora = 1, //Wzrost
   Dol = 9, //Spadek
};

input Opcje Kierunek = Dol;   //Jaki jest trend?
extern double SL_Systemowy = 0.0;    //Podaj SL Systemowy
string NazwaPliku,walor;
int handle;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   UtworzyPliki();
   
  }
//+------------------------------------------------------------------+
int UtworzyPliki(){
   
   walor = Symbol();
   short semafor = 0;
   NazwaPliku = walor+"Kierunek.txt";   
   
   if(FileIsExist(NazwaPliku)){                     
      if(MessageBox("Plik "+NazwaPliku+" istnieje! Nadpisać?", "WykrytoPlik", MB_YESNOCANCEL) == 6)
         semafor = 1;
      else
         return 1;
   }else
      semafor = 1;
   if(semafor == 1){
      handle=FileOpen(NazwaPliku, FILE_WRITE|FILE_TXT|FILE_READ);
      if(handle!=INVALID_HANDLE){
         FileSeek(handle, 0, SEEK_SET);
         FileWrite(handle,(string)Kierunek);
         FileClose(handle);
      }else Print("Operation FileOpen failed, error ",GetLastError());
      handle = NULL;
      semafor = 0;
   }   
   if(SL_Systemowy > 0){   
      NazwaPliku = walor+"SL_Sys.txt";
      if(FileIsExist(NazwaPliku)){
         if(MessageBox("Plik "+NazwaPliku+" istnieje! Nadpisać?", "WykrytoPlik", MB_YESNOCANCEL) == 6)
            semafor = 1;
         else 
            return 2;
      }else
         semafor = 1;
      if(semafor == 1){   
         handle=FileOpen(NazwaPliku, FILE_WRITE|FILE_TXT|FILE_READ);
         if(handle!=INVALID_HANDLE){
            FileSeek(handle, 0, SEEK_SET);
            FileWrite(handle,(string)SL_Systemowy);
            FileClose(handle);
         }else Print("Operation FileOpen failed, error ",GetLastError());
         handle = NULL;
         NazwaPliku = NULL;
      }
   }   
   return 0;
}      
Skrypt przygotowuje pliki niezbędne do działania EA ze wspomnianej wyżej strategii. Automatycznie tworzy pliki Kierunek i SL_Sys, oraz ew. je nadpisuje.

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości