Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

2019-10-25_160233.png
"16" to linijka
"1" to wiersz
Wynika stąd, że kod od tego miejsca nie może dalej ruszyć, czyli błąd jest przed.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

@Beginner001,

Magic number nie jest wymaga dla transakcji, i tak, możesz nadawać różne MN jak sobie chcesz, i możesz w jednym EA mieć tyle strategii, ile system wytrzyma. Tylko potrzebujesz tymi strategiami osobno zarządzać, czyli pozycje rozróżniać, które należą do której strategii.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

dexter
Gaduła
Gaduła
Posty: 207
Rejestracja: 29 lis 2009, 14:38

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: dexter »

EA jest wprowadzana przez ten wizard i po komplikacji wszystkie ustawienia nikną i muszę ponownie wkleić Ea do powyższego szablonu przez kopiuj/wklei.Koniecznie muszę się podszkolić.
Podziękował.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

dexter pisze:
25 paź 2019, 22:46
EA jest wprowadzana przez ten wizard i po komplikacji wszystkie ustawienia nikną i muszę ponownie wkleić Ea do powyższego szablonu przez kopiuj/wklei.Koniecznie muszę się podszkolić.
Podziękował.
Przecież musisz wybrać czy chcesz EA, czy wskaźnik, czy skrypt, czy bibliotekę, czy plik mqh, czy klasę chcesz pisać!
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

dexter
Gaduła
Gaduła
Posty: 207
Rejestracja: 29 lis 2009, 14:38

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: dexter »

Opisałem dwa przykłady, podczas wprowadzania EA jako Ekspert na platformie Bossafx znikały wszystkie ustawienia, na XM wszystko wchodziło i po sprawdzeniu błędów normalnie pracowało, następnie musiałem skopiować EA z XM i ponownie wkleić do pustego EA w bossiefx aby zaczął pracować. Te same czynności a różne efekty, tu nie było mojego błędu.
W temacie o wskaźniku chodziło mi o błędy,( w nim mam jeszcze jakiś błąd ponieważ po komplikacji i zapisaniu w wskaźnikach nie wyświetla na wykresie.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

dexter pisze:
26 paź 2019, 08:38
Opisałem dwa przykłady, podczas wprowadzania EA jako Ekspert na platformie Bossafx znikały wszystkie ustawienia, na XM wszystko wchodziło i po sprawdzeniu błędów normalnie pracowało, następnie musiałem skopiować EA z XM i ponownie wkleić do pustego EA w bossiefx aby zaczął pracować. Te same czynności a różne efekty, tu nie było mojego błędu.
W temacie o wskaźniku chodziło mi o błędy,( w nim mam jeszcze jakiś błąd ponieważ po komplikacji i zapisaniu w wskaźnikach nie wyświetla na wykresie.
Pokaż screena po kompilacji, część z błędami, lub mi mq4 zapodaj, to ci powiem o co biega.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

dexter
Gaduła
Gaduła
Posty: 207
Rejestracja: 29 lis 2009, 14:38

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: dexter »

//+------------------------------------------------------------------+
//| Grid_Template.mq4.mq4 |
//| Mql4 Mdusiołek |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Mql4 Mdusiołek"
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- create timer
EventSetTimer(60);

//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//--- destroy timer
EventKillTimer();

}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---

}
//+------------------------------------------------------------------+
//| Timer function |
//+------------------------------------------------------------------+
void OnTimer()
{
//---

}
//+------------------------------------------------------------------+
//| Tester function |
//+------------------------------------------------------------------+
double OnTester()
{
//---
double ret=0.0;
//---

//---
return(ret);
}
//+------------------------------------------------------------------+
//| ChartEvent function |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
//---

}
//+------------------------------------------------------------------+

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

To, co zapodałeś, czyli Expert Adviser, kompiluje się bez błędu:
2019-10-26_191204.png
Proponuję sprawdzić kompatybilność MetaEditor z buildem MT4.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

Awatar użytkownika
ninjaproject
Maniak
Maniak
Posty: 4944
Rejestracja: 30 lip 2019, 13:15

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: ninjaproject »

2019-10-26_204207.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Trejder, Mentor/trener, aka. Dadas, fx-technik, obecnie ninjaproject.
Programuję wskaźniki i EA do MetaTrader 4/5.

dexter
Gaduła
Gaduła
Posty: 207
Rejestracja: 29 lis 2009, 14:38

Re: Wszystkie pytania dozwolone początkujących programistów

Nieprzeczytany post autor: dexter »

//+------------------------------------------------------------------+
//| Grid_Template.mq4 |
//| Copyright 2019, DKP Sweden,CS Robots |
//| https://www.mql5.com/en/users/kenpar |
//+------------------------------------------------------------------+
//This is a simple template for grid order system in which you can add
//additional functions as you like, entry signals, trailing stop and such
//A new grid is openend as soon as expiration hours exceeded and all
//pending orders deleted that was not activated.
//Grid positions is not openend by 'new bar' rule!
//Grid positions are opened at each side of price!
//Use as you like - This is just a template!!!!!
//--------------------------------------------------------------------
#property copyright "Copyright 2019,DKP Sweden | CS Robots"
#property link "http://www.mql5.com/en/users/kenpar"
#property version "1.00"
#property description "Grid Template EA"
#property strict
//--External variables
extern int MagicNumber = 987654321;//Magic number
extern string EaComment = "Grid_Template";//Order comment
extern double StaticLot = 0.01;//Static lots size
extern bool MM = True;//Money Management
extern int Risk = 2;//Risk %
extern double TakeProfit = 20.;//Take Profit in pips
extern double StopLoss = 30.;//Stop loss in pips
extern double PriceDistance = 15.;//Distance from price in pips
extern double GridStep = 10.;//Step between grid orders in pips
extern int GridOrders = 5;//Amount of grid orders
extern int PendingExpiration = 4;//Pending expiration after xx hours
//--Internal variables
double PriceB,PriceS,StopB,StopS,
TakeB,TakeS,_points,PT,Lots;
int LotDigits;
datetime _e = 0;
int Ticket = 0;
//--
int OnInit()
{
//--Determine digits
_points=MarketInfo(Symbol(),MODE_POINT);
//--
if(Digits==5 || Digits==3)
PT = _points*10;
else
PT = _points;
//--
return(INIT_SUCCEEDED);
}
//--
void OnDeinit(const int reason)
{

}
//--
void OnTick()
{
//If trade allowed and no positions exists by any chart - open a new set of grid orders
if(IsTradeAllowed() && !IsTradeContextBusy())
{
if(PosSelect()==0)
{
GridPos(PriceDistance,TakeProfit,StopLoss);//Place grid
}
return;
}
}
///////////////////////////////////////////////////////////
//Grid order send function
void GridPos(double _Dist,double _Take,double _Stop)
{
int i;
_e=TimeCurrent()+PendingExpiration*60*60;
//--
for(i=0; i<GridOrders; i++)
{
PriceB = NormalizeDouble(Ask+(_Dist*PT)+(i*GridStep*PT),Digits);
TakeB = PriceB + _Take * PT;
StopB = PriceB - _Stop * PT;
Ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize(),PriceB,3,StopB,TakeB,EaComment,MagicNumber,_e,Green);
//--
PriceS = NormalizeDouble(Bid-(_Dist*PT)-(i*GridStep*PT),Digits);
TakeS = PriceS - _Take * PT;
StopS = PriceS + _Stop * PT;
Ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize(),PriceS,3,StopS,TakeS,EaComment,MagicNumber,_e,Red);
}
if(Ticket<1)
{
Print("Order send error - errcode: ",GetLastError());
return;
}
else
{
Print("Grid placed successfully!");
}
return;
}
//////////////////////////////////////////////////////////
//PositionSelector - Determines open positions
int PosSelect()
{
int posi=0;
for(int k = OrdersTotal() - 1; k >= 0; k--)
{
if(!OrderSelect(k, SELECT_BY_POS))
{
Print("Order pos selection failed - errcode: ",GetLastError());
}
if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)
{
continue;
}
if(OrderCloseTime() == 0 && OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
if(OrderType() == OP_BUY)
posi = 1; //Long position
if(OrderType() == OP_SELL)
posi = -1; //Short positon
if(OrderType() == OP_BUYSTOP)
posi = 1; //Pending Long position
if(OrderType() == OP_SELLSTOP)
posi = -1; //Pending Short positon
}
}
return(posi);
}
////////////////////////////////////////////////////////////
//Lots size calculation
double LotSize()
{
if(MM == true)
{ Lots = MathMin(MathMax((MathRound((AccountFreeMargin()*Risk/1000/100)
/MarketInfo(Symbol(),MODE_LOTSTEP))*MarketInfo(Symbol(),MODE_LOTSTEP)),
MarketInfo(Symbol(),MODE_MINLOT)),MarketInfo(Symbol(),MODE_MAXLOT));}
else
{
Lots = MathMin(MathMax((MathRound(StaticLot/MarketInfo(Symbol(),MODE_LOTSTEP))*MarketInfo(Symbol(),MODE_LOTSTEP)),
MarketInfo(Symbol(),MODE_MINLOT)),MarketInfo(Symbol(),MODE_MAXLOT));
}

return(Lots);
}
//+----------------End of Grid Template EA------------------+ /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// tylko ten zapisał się kompletny na XM a tamten jest gołyz bossy.

ODPOWIEDZ