Исходный код · ID 2662
pak sugiman hedging.mq4
Похожие материалы по тегам
one shoot ai v4.mq5MetaTrader 5 · 1 общих теговindicatorgoldy.txtTradingView · 1 общих теговeatelemetry.mqhMetaTrader 4 · 1 общих теговdrawdownmeter.mq4MetaTrader 4 · 1 общих теговaccountequityanalyzer@lifeindreamsworld.mq4MetaTrader 4 · 1 общих теговaccountequityanalyzer v1.1.mq4MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «pak sugiman hedging.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Поиск по коду файла
#property version "1.00"
#property strict
#property description " Created For Pak Sugiman. Telegram. 5.4.2017"
string EA;
string buy = " buy- ";
string sell = " sell- ";
extern string EA1 = "PJ Dewa Hedging"; // Nama EA
extern int magic = 12345; // TF Id No.
int magic1 = 6655;
int magic2 = 6656;
extern double lot_0 = 0.01; // lot 1
extern double lot_1 = 0.04; // lot 2
extern double lot_2 = 0.09; // lot 3
extern double lot_3 = 0.20; // lot 4
extern double lot_4 = 0.42; // lot 5
extern double lot_5 = 0.86; // lot 6
extern double lot_6 = 1.74; // lot 7
extern double lot_7 = 3.50; // lot 8
extern double lot_8 = 7.10; // lot 9
extern double lot_9 = 14.4; // lot 10
extern double lot_10 = 30.00; // lot 11
extern double lot_11 = 61.00; // lot 12
extern double spread = 2.6; // Spread (Pips)
extern int takeprofit = 20; // TakeProfit (Pips)
extern int stoploss = 40; // Stoploss (Pips)
extern bool openbuy = true; // Open Initial Buy Order
extern bool opensell = true; // Open Initial Sell Order
extern bool enable_ea = true; // Enable EA
extern int maxlayer = 12; // Max No Of Orders
int newcount_mbuy = 0;
int newcount_msell = 0;
double lots [];
double drawdown = 0;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
EventKillTimer();
}
void OnTick()
{
// код доступен только после оплаты
}
void OnTimer()
{
}
double OnTester()
{
double ret=0.0;
return(ret);
}
void OnChartEvent(const int id,
const long &lparam,
const double &dparam,
const string &sparam)
{
}
double stoplvl()
{
double value = 0;
double value1 = MarketInfo(Symbol(),MODE_STOPLEVEL);
double value2 = MarketInfo(Symbol(),MODE_FREEZELEVEL);
if (value1>value2) value = value1;
else if (value1<value2) value = value2;
return(value*Point);
}// end stplvl
int dec(){ int decimal; if (Digits==3|| Digits==5) decimal=10; else decimal=1; return(decimal);}
void openorder(int type, double Lot,double price,double SLvalue, double TPvalue, color kolor,int magicnumber)
{
if (Lot >= MarketInfo(Symbol(),MODE_MINLOT) && Lot <= MarketInfo(Symbol(),MODE_MAXLOT))
{
bool order = OrderSend(Symbol() ,type ,Lot ,price ,3*dec() ,SLvalue ,TPvalue ,EA ,magicnumber ,0 ,kolor);
if (!order) Print(Symbol() ,", Orderticket = ",OrderTicket(),", type= ",type,", ERROR=", GetLastError());
}
else Print ("fail to send order of Lot size: ", Lot,", type: ", type );
}// end
int counter(int type,int magicnumber)
{
int value=0;
for (int x=0;x<OrdersTotal();x++)
{
if(OrderSelect (x,SELECT_BY_POS,MODE_TRADES) )
if(OrderSymbol() != Symbol()) continue;
if(OrderMagicNumber() != magicnumber) continue;
if (OrderType() != type) continue;
value++;
}// for loop
return(value);
}// end
void array_resize()
{
int reserved = 500;
int max = maxlayer ;
ArrayResize(lots,max,reserved);
}// end
void initialize_lot()
{
lots[0] = lot_0;
lots[1] = lot_1;
lots[2] = lot_2;
lots[3] = lot_3;
lots[4] = lot_4;
lots[5] = lot_5;
lots[6] = lot_6;
lots[7] = lot_7;
lots[8] = lot_8;
lots[9] = lot_9;
lots[10]= lot_10;
lots[11]= lot_11;
for (int x=0; x<maxlayer; x++)
{
lots[x] = NormalizeDouble(lots[x],2);
}
}// end
double ask()
{
RefreshRates();
return(NormalizeDouble(MarketInfo(Symbol(),MODE_ASK),Digits));
}//
double bid()
{
RefreshRates();
return(NormalizeDouble(MarketInfo(Symbol(),MODE_BID),Digits));
}//
double tp_buy(double price)
{
double value= price + takeprofit *dec() *Point;
if (takeprofit==0 || takeprofit <= stoplvl())
value = 0;
return(NormalizeDouble(value,Digits));
}
double tp_sell(double price)
{
double value = price - takeprofit *dec() *Point;
if (takeprofit==0 || takeprofit <= stoplvl())
value = 0;
return(NormalizeDouble(value,Digits));
}
double spread()
{
double value = MarketInfo(Symbol(),MODE_SPREAD);// *Point;
return(NormalizeDouble(value,Digits));
}// end
int get_latestticket(int type, int magicnumber)
{
int ticket = 0;
double value = 0;
for(int x=0; x<OrdersTotal(); x++)
{
if(OrderSelect (x,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol() == Symbol())
if(OrderMagicNumber() == magicnumber)
if(OrderTicket() > ticket)
if(OrderType() == type)
{
ticket= OrderTicket();
value = OrderOpenPrice();
}
}// if select
return(ticket);
}// end
int get_latestticket_type( int magicnumber)
{
int ticket = 0;
int value = 0;
for(int x=0; x<OrdersTotal(); x++)
{
if(OrderSelect (x,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol() == Symbol())
if(OrderMagicNumber() == magicnumber)
if(OrderType() < 2)
if(OrderTicket() > ticket)
{
ticket = OrderTicket();
value = OrderType();
}
}// for loop
return(value);
}// end
double set_povalue(int type, int magicnumber)
{
double value=0;
if(OrderSelect(get_latestticket(type,magicnumber),SELECT_BY_TICKET,MODE_TRADES))
{
if (type==OP_BUY)
value = OrderOpenPrice() - stoploss/2 *dec() * Point;else
if (type==OP_SELL)
value = OrderOpenPrice() + stoploss/2 *dec() * Point;
}
return(NormalizeDouble(value,Digits));
}// end
void podelete(int magicnumber)
{
if(counter(OP_BUY,magicnumber)==0 && counter(OP_SELLSTOP,magicnumber)>0)
{
for(int x=OrdersTotal()-1;x>=0; x--)
{
if(OrderSelect(x,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol() != Symbol()) continue;
if(OrderMagicNumber() != magicnumber) continue;
if(OrderType() != OP_SELLSTOP) continue;
{
bool podelete= OrderDelete(OrderTicket(),clrNONE);
if (!podelete) Print("fail to delete sellpo order #",OrderTicket()," error: ", GetLastError());
}
}//for loop
}// end if close po sellstop
if (counter(OP_SELL,magicnumber)==0 && counter(OP_BUYSTOP,magicnumber)>0)
{
for(int x=OrdersTotal()-1;x>=0; x--)
{
if(OrderSelect(Показано первые 50% кода (символов: 10475)
Что вы получите после оплаты
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? Адрес передаётся вместе с заказом в магазин и сохраняется для связи заказа с оплатой. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.
Стоимость полного кода
1 048₽
≈ $12.31