Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 218

 
Zolotai:
Народ не подскажите пожалуйста код, код который показал баланс который был на начале месяца...

да есть листочек с ручкой =))
 
ах да забыл и календарь
 
FEAR:
ах да забыл и календарь

Не совсем понимаю... К чему вы?
 

Здравствуйте! Извините если не туда, но вроде все таки туда. Вот недавно начал изучать программирование экспертов, в качестве эксперимента выбрал метод Пуриа.

Вот собственно сам эксперт:

#define MAGICMA 1111
//Входные параметры
extern int TP=150;
extern int SL=150;
extern int MP1=5;
extern int MP2=75;
extern int MP3=85;
double macd,macdS,ma1,ma1S,ma2,ma3;
bool buy =false;
bool sell =false;
//bool buy_ma=false;
/*****************************************************************************/
int init()
{
return(0);
}
/*****************************************************************************/
int deinit()
{
return(0);
}
/*****************************************************************************/
void start()
{
//double sl,tp;
ma1=iMA(NULL,0,MP1,0,MODE_EMA,PRICE_CLOSE,1);
ma1S=iMA(NULL,0,MP1,0,MODE_EMA,PRICE_CLOSE,2);
ma2=iMA(NULL,0,MP2,0,MODE_LWMA,PRICE_LOW,1);
ma3=iMA(NULL,0,MP3,0,MODE_LWMA,PRICE_LOW,1);
macd=iMACD(NULL,0,19,27,1,PRICE_CLOSE,MODE_MAIN,1);//15.26.1
//macdS=iMACD(NULL,0,19,27,1,PRICE_CLOSE,MODE_MAIN,2);

if( ma1 > ma2 && ma1>ma3){
if( ma1S<ma2 && ma1S<ma3){
buy=true;
}
}
if ( ma1 < ma2 && ma1 < ma3){
if (ma1S > ma2 && ma1S > ma3)
sell=true;
}
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
if(OrderType()==OP_BUY){
buy=false;
}
if(OrderType()==OP_SELL){
sell=false;
}
//else sell=false;
}
if (macd > 0 && buy){
OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-SL*Point,Ask+TP*Point,"",MAGICMA,0,Blue);
buy=false;
}
if (macd < 0 && sell){
OrderSend(Symbol(),OP_SELL,0.01,Bid,3,Bid+SL*Point,Bid-100*Point,"",MAGICMA,0,Red);
sell=false;
}

}

Возникли ряд вопросов:

1) Как сделать так чтоб советник работал на различных способах котировки( 4 или 5 знаков)

2) Хотелось бы написать трейлинг-стоп вместо тейкпрофит(как реализовать или полезная ссылка).

 

Скажите пожалуйста, хочу заказать два скрипта на продажу всех ордеров в терминале buy и на продажу всех ордеров в терминале sell никаких гуи не надо, только чтоб на хоткеи повесить. Почем это получится и где заказать у кого?

и да, я потом их хочу выложить в коде базу, авторские если надо примочки остануться.

понимаю, что нужно селкт ордеров в терминале сделать, потом выделить по типу тюпе и потом выполнить клосед, но сделать не могу долго учится из за двух простых скриптов.

Спасибо.

 
bambastik:

Скажите пожалуйста, хочу заказать два скрипта на продажу всех ордеров в терминале buy и на продажу всех ордеров в терминале sell никаких гуи не надо, только чтоб на хоткеи повесить. Почем это получится и где заказать у кого?

Спасибо.

В котобазе искали ?
 
artmedia70:
В котобазе искали ?

Смотрел да, в котобазе, там только вот эти подходят по сути https://www.mql5.com/ru/code/8602 но они трудные что то для моего понимания у меня мозгов мало очень. там нужно вместо профит поставить type но как это сделать понять не могу.
 
bambastik:
Смотрел да, в котобазе, там только вот эти подходят по сути https://www.mql5.com/ru/code/8602 но они трудные что то для моего понимания у меня мозгов мало очень. там нужно вместо профит поставить type но как это сделать понять не могу.
А вам какой именно нужен скрипт? Что по факту он должен делать?
 

По факту. Выбрать все buy на графике и закрыть их и все. И такой же только с sell.

Вот щас этот переделал но говорит компилятор что что то с ендом не то.

//+------------------------------------------------------------------+
//| CloseAllProfit.mq4 |
//| Copyright © 2008, PRMQuotes Software Corp. |
//| Jedimedic77@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, PRMQuotes Software Corp."
#property link ""

//+------------------------------------------------------------------+
//| global variables to program: |
//+------------------------------------------------------------------+
double Price[2];
bool closesell = true;


void start() {
int iOrders=OrdersTotal()-1, i;

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && (OrderType() >= 0)) {
if((OrderType()==OP_SELL) {
OrderClose(OrderType());
}

}

И еще, тогда у нас диалог получился, мне до сих пор не по себе от него, так что, выражаю респект за понимание, хороший artmedia70 человек, в профиль не смотрел, но по форуму увидел, а я ну вообще долгая история потому так тогда наверное и получилось все.
 
bambastik:

По факту. Выбрать все buy на графике и закрыть их и все. И такой же только с sell.

Все Buy и все Sell - два разных скрипта. Это с самого начала было ясно. Вопрос вот в чём - он должен закрыть абсолютно все позиции? Или же он должен закрыть только те позиции, которые находятся на том графике, на котором запущен скрипт? Он должен закрыть позиции, открытые вручную или позиции, открытые каким-либо советником, или и те и другие?