Исходный код · ID 3478
calm pips.mq4
Похожие материалы по тегам
ea robofibo source v.11.2.mq4MetaTrader 4 · 1 общих теговᴇɴᴛʀʏ.txtTradingView · 1 общих теговzonestrategy.mqhMetaTrader 5 · 1 общих теговxauusd_simple_strategy7.mq4MetaTrader 4 · 1 общих теговxauusd_grok_presisi_scalper_v1.4 - anti detach.mq5MetaTrader 5 · 1 общих теговxauusd_gold_perfect.mq4MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «calm pips.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Поиск по коду файла
#property version "1.00"
#property strict
#define LOGO_XY 100
#define POINTS_NEW
#include <sovetnikovGUI\Orders.mqh>
#include <sovetnikovGUI\Time.mqh>
#include <Charts\Chart.mqh>
#define LICENSE_NAME "b!9dcp6yw{:3_jmkis8+f9h2j:vb<%:/"
#define LICENSE_FILE "spmcb"
#define VALID_KEY "Советник активен"
#define EMPTY_KEY "Необходимо активировать советник."
#define INVALID_KEY "Неверная лицензия."
#define EXPERIED "Лицензия истекла "
/*
в панели
Statistics: Balance; Equity; Drawdown; Прирост сегодня, Прирост на
этой неделе, Прирост в этом месяце, Прирост в этом году (на
английский правильно сами переведите). Суммарный лот,
Количество открытых сделок.
*/
B DryUse=false; //Сушка
D Lots=0.06;//Начальный лот
D LotExponent=1.2; //Множитель лота
I StepPeriod=24;//Период автошага
I StepDel=2;//Делитель для автошага
I StepMin=25;//Минимальный шаг
I StepPlusOrder=3;//С указанного шага увеличивать шаг
I StepPlusValue=15;//Дополнительный шаг
I slippage=0;//Допустимое проскальзывание (0 - авто)
D TakeProfit=15;//Тейк профит серии
I RsiMinimum=30;//RSI Перепроданность
I RsiMaximum=70;//RSI Перекупленность
I MaxTrades=15;//Максимальное количество ордеров в серии
D StartProfit=1;//Минимальный профит для одного ордера
#ifndef LICENSE_DEMO
I Magic=20200908;//Идентификатор ордеров
#else
int Magic=20200908; //скроем
#endif
TF tf=PERIOD_CURRENT;//Рабочий период
C ColorText=clrWhite; //Цвет текста
C ColorBackground=clrBlack; //Цвет заднего фона
I SizeFont=12; //Размер шрифта
string cmt="";
class CMyOrders: public COrders
{
public:
};
class CMain: public CMainDefault
{
protected:
CMyOrders m_main;
CNewBar m_bar;
CDrawPos m_pos;
CChart m_chart;
public:
virtual int OnInit()
{
// код доступен только после оплаты
}
virtual void OnDeinit(const int reason)
{
HideTestIndicators(false);
m_chart.Detach();
m_main.OnDeinit();
m_pos.OnDeinit();
}
virtual void OnTick()
{
// код доступен только после оплаты
}
string sLicense=VALID_KEY;
bool bcheck=checkAccount(sLicense,LICENSE_NAME);
m_pos.DrawStatus("status",sLicense,bcheck);
if(AccountBalance()==0)
return;
/*Statistics: Balance; Equity; Drawdown; Прирост сегодня, Прирост на
этой неделе, Прирост в этом месяце, Прирост в этом году (на
английский правильно сами переведите). Суммарный лот,
Количество открытых сделок.*/
m_main.Update(); //получим кол-во ордеров в структуре orders
double dday,dweek,dmonth,dyear;
GetProfitAll(_Symbol,Magic,dday,dweek,dmonth,dyear);
double dd=m_main.getProfit(ALL);
int ix=5,iy=20;
string sval=GetAccountCurrency();
double dlots[2];
m_main.get_lots(dlots);
string stext=StringFormat("Баланс: %.2f %s\nЭквити: %.2f %s\nПросадка: %.2f %%\nBuy ордеров: %d\nSell ордеров: %d\nОбъем buy: %.2f\nОбъем sell: %.2f\n\nПрибыль:\nДень: %.2f %s\nНеделя: %.2f %s\nМесяц: %.2f %s\nГод: %.2f %s",
AccountBalance(),sval,AccountEquity(),sval,NormalizeDouble(dd*100/AccountBalance(),2),m_main.orders[OP_BUY],m_main.orders[OP_SELL],dlots[0],dlots[1],dday,sval,dweek,sval,dmonth,sval,dyear,sval);
m_pos.Comment(0,"right",stext,ix,iy,100,CORNER_RIGHT_UPPER,ColorText,ColorBackground,SizeFont);
if(!m_main.IsWork())
return; //отключена торговля
if(StepDel<=0.0)
return;
m_bar.Refresh();
m_main.OnTick();
int op=-1;
op=signal();
double datrD1=ND1((iATR(_Symbol,PERIOD_D1,StepPeriod,1)/m_main.p)/StepDel);
double datr=ND1((iATR(_Symbol,tf,StepPeriod,0)/m_main.p)/StepDel);
double dstep=NormalizeDouble(datr/StepDel,1);
if(dstep>datrD1)
dstep=datrD1;
if(dstep<StepMin)
dstep=StepMin;
if(StartProfit!=0.0 && (m_main.orders[OP_BUY]==0 || m_main.orders[OP_SELL]==0) && m_main.m_all==1)
{
double dprofit=m_main.getProfit(ALL);
if(dprofit>=StartProfit)
{
m_main.OrderCloseAll(ALL);
return;
}
}
double abuy[][2],asell[][2];
m_main.getLastOrderTicket(abuy,asell);
int ib=ArrayRange(abuy,0);
int is=ArrayRange(asell,0);
long tt=0;
double dRSI1=iRSI(_Symbol,tf,14,PRICE_CLOSE,1);
double dRSI2=iRSI(_Symbol,tf,14,PRICE_CLOSE,2);
if(ib>0 && ib<MaxTrades && m_bar.isNewBar() && dRSI2<=RsiMinimum && dRSI1>RsiMinimum)
{
ArraySort(abuy,WHOLE_ARRAY,0,MODE_ASCEND);//самый нижний это последний в массиве
long tlast=(long)abuy[0][1];
double dnextstep=dstep;
if(ib>=StepPlusOrder)
{
dnextstep+=StepPlusValue*(ib-StepPlusOrder+1);
}
if(m_main.OrderSelect(tlast))
{
double dpt=m_main.OrderProfitPoint();
if(dpt<=-dnextstep)
{
double dnextlot=NLot(MathPow(LotExponent,ib)*Lots);
tt=m_main.OrderSend(OP_BUY,dnextlot,-1,0,0,cmt);
DEBUG_OrderSend(tt);
ib++;
}
}
}
if(ib>1)
{
bool bModify=(m_main.IsNewDay() || tt>0);
m_maПоказано первые 50% кода (символов: 8110)
Что вы получите после оплаты
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? Адрес передаётся вместе с заказом в магазин и сохраняется для связи заказа с оплатой. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.
Стоимость полного кода
811₽
≈ $9.53