Dodanie formuły ilości lotów do EA

O jezykach programowania w platformach i nie tylko.
kodzia
Bywalec
Bywalec
Posty: 13
Rejestracja: 04 lip 2015, 17:23

Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: kodzia »

Witam,
Jak dodać formułę ilości lotów do EA.Jestem żółtodziobem w programowaniu.
Pozdrawiam.

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: Pierz Andrzej »

Opisz dokładnie co ta formuła ma robić ? Zliczać ilość lotów dla pozycji czy ma to być zarządzanie wielkością pozycji ?
z poważaniem
Andrzej Pierz
FOREX-SERVICE

kodzia
Bywalec
Bywalec
Posty: 13
Rejestracja: 04 lip 2015, 17:23

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: kodzia »

Po prostu jeśli w jej wartość wpiszę np. 1 to ma mi otworzyć pozycję o wielkości 1 lota.I jak ewentualnie mam to dodać do już istniejącego EA?

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: Pierz Andrzej »

gdzieś po za funkcją start lub OnInit wpisz linijkę

Kod: Zaznacz cały

extern double lotsize = 0.1;
a w linijce gdzie masz odwołanie do funkcji OrderSend na trzecim miejscu czyli po drugim przecinku wpisz lotsize

daj kompiluj i gotowe ;-)
z poważaniem
Andrzej Pierz
FOREX-SERVICE

kodzia
Bywalec
Bywalec
Posty: 13
Rejestracja: 04 lip 2015, 17:23

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: kodzia »

A są jakieś "magiczne" sposoby na to ,aby dostać się do kodu mimo iż klikajać w MT4 w modyfikacje nie mogę w nią wejść?

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: Pierz Andrzej »

jeżeli nie masz kodu źródłowego EA(mq4) czyli sam plik ex4 "szary znaczek przy nazwie EA" to nie ma raczej możliwości zmiany.
jest coś takiego jak dekompilacja ale nie wiem czy dla nowej wersji działa bo nie interesowałem sie tym juz jakiś czas :-)
z poważaniem
Andrzej Pierz
FOREX-SERVICE

kodzia
Bywalec
Bywalec
Posty: 13
Rejestracja: 04 lip 2015, 17:23

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: kodzia »

Czyli mam jakąś możliwość wplatania ilości lotów do testów czy nie?

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: Pierz Andrzej »

jeżeli nie masz kodu źródłowego to nie
z poważaniem
Andrzej Pierz
FOREX-SERVICE

Awatar użytkownika
bucho1504
Stały bywalec
Stały bywalec
Posty: 55
Rejestracja: 01 sie 2008, 21:46

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: bucho1504 »

Kod zmieniający ilość lotów w EA

Kod: Zaznacz cały

extern double lot = 0.01; 
extern bool AutoLot=true;

int ticket;

int LotSize()

{
if (AccountBalance()>=300) lot=0.01;
if (AccountBalance()>=500) lot=0.02;
if (AccountBalance()>=800) lot=0.03;
if (AccountBalance()>=1000) lot=0.04;
if (AccountBalance()>=1300) lot=0.05;
if (AccountBalance()>=1600) lot=0.07;
if (AccountBalance()>=1800) lot=0.08;
if (AccountBalance()>=2100) lot=0.09;
if (AccountBalance()>=2400) lot=0.10;
if (AccountBalance()>=2700) lot=0.11;
if (AccountBalance()>=3000) lot=0.12;
if (AccountBalance()>=3300) lot=0.13;
if (AccountBalance()>=3500) lot=0.14;
if (AccountBalance()>=3785) lot=0.15;
if (AccountBalance()>=4058) lot=0.16;
if (AccountBalance()>=4332) lot=0.17;
if (AccountBalance()>=4605) lot=0.18;
if (AccountBalance()>=4879) lot=0.19;
if (AccountBalance()>=5153) lot=0.20;
if (AccountBalance()>=5626) lot=0.21;
if (AccountBalance()>=5700) lot=0.22;
if (AccountBalance()>=5974) lot=0.23;
if (AccountBalance()>=6247) lot=0.24;
if (AccountBalance()>=6521) lot=0.25;
if (AccountBalance()>=6795) lot=0.26;
if (AccountBalance()>=7068) lot=0.27;
if (AccountBalance()>=7342) lot=0.28;
if (AccountBalance()>=7615) lot=0.29;
if (AccountBalance()>=7889) lot=0.30;
if (AccountBalance()>=8163) lot=0.31;
if (AccountBalance()>=8436) lot=0.32;
if (AccountBalance()>=8710) lot=0.33;
if (AccountBalance()>=8984) lot=0.34;
if (AccountBalance()>=9257) lot=0.35;
if (AccountBalance()>=9531) lot=0.36;
if (AccountBalance()>=9804) lot=0.37;
if (AccountBalance()>=10078) lot=0.38;
}

int globPos()

{
int v1=GlobalVariableGet("globalPosic");
GlobalVariableSet("globalPosic",v1+1);
  return(0);
}

int OpenLong(double volume=0.1)
{

  ticket=OrderSend(Symbol(),OP_BUY,volume,Ask,slippage,Ask-StopLoss_L*Point,
                      Ask+TakeProfit_L*Point,comment,magic,0,arrow_color);
 
  GlobalVariableSet("globalBalans",AccountBalance());                    
  globPos();

  GlobalVariableSet("globalPosic",0);
  if (AutoLot) LotSize();

  if(ticket>0)
  {
    if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
    {
      return(0);
    }
    else
      {
        Print("OpenLong(),OrderSelect() - returned an error : ",GetLastError()); 
        return(-1);
      }   
  }
  else 
  {
    Print("Error opening Buy order : ",GetLastError()); 
    return(-1);
  }
}
  
:)
Ten nie popełnia błędów kto nic nie robi

Awatar użytkownika
roody80
Gaduła
Gaduła
Posty: 90
Rejestracja: 16 gru 2012, 12:45

Re: Dodanie formuły ilości lotów do EA

Nieprzeczytany post autor: roody80 »

Witam,
jestem początkującym w programowaniu EA dlatego mam pytanie jak dodać kod zmieniający ilość lotów w moim EA?
Chodzi mi o to że jeżeli EA załapie SL i konto pomniejszy się o np -2 USD to kolejna pozycja zostanie otwarta z lotem 0,02, jeżeli konto pomniejszy się ponownie np. o -6 USD to otworzy z lotem 0,08 itd.
I przy okazji jak dodać do tej EA TS?
Dzięki za pomoc
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.

ODPOWIEDZ