Как кодировать? - страница 245

 

Не слишком ли неэффективно размещать все вопросы по программированию под одной ссылкой?

 

Выдача дубликатов ордеров?

int start()

{

int ticket,expiration,rp;

double point,bd;

point=MarketInfo(Symbol(),MODE_POINT);

expiration=CurTime()+PERIOD_D1*60;

rp=100;

bd=Ставка;

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*1*point,0,0,0,0, "some comment1",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*2*point,0,0,0, "some comment2",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*3*point,0,0,0, "some comment3",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*4*point,0,0,0, "some comment4",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*5*point,0,0,0, "some comment5",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*6*point,0,0,0, "some comment6",1,expiration,Green);

}

Я хочу открыть только шесть отложенных ордеров. Помогите, пожалуйста. Спасибо большое!!!

 
YenTrader2:
Не слишком ли неэффективно размещать все вопросы по программированию под одной ссылкой?

Настолько неэффективно, насколько это возможно!

 

Mr Coders' Guru, можете ли вы помочь мне создать ea?

codersguru:
jdun,

Проще всего изменить код (sell to buy & buy to sell):

if(signal0 < signal1 ) GlobalVariableSet("TM0",1);

if(signal0 > signal1) GlobalVariableSet("TM0",0);[/CODE]

To:

[CODE]if(signal0 > signal1 ) GlobalVariableSet("TM0",1);

if(signal0 < signal1) GlobalVariableSet("TM0",0);

Функция этой ea заключается в закрытии всех моих открытых позиций и отложенных ордеров, которые не исполняются в определенный час времени. Ea должна работать на торговой платформе metatrader4. Спецификации следующие:

1) в начале 16:00 (время торговой платформы interbankfx)

2) закрыть первую открытую позицию

3) закрыть следующую открытую позицию

4) пока все открытые позиции не будут закрыты, переходим к пункту

5) закрыть первый отложенный ордер

6) закрыть следующий отложенный ордер

7) пока все отложенные ордера не будут закрыты

8) конец

Спасибо

 

Добавление ATR к существующему коду

Мне просто нужно знать, как добавить ATR SL, TP, TS в существующий код. Любая помощь будет принята с благодарностью.

 
EddieRoyals:
Мне просто нужно знать, как добавить ATR SL, TP, TS в существующий код. Любая помощь будет принята с благодарностью.

где находится существующий код?

-------------------------------

чтобы добавить значение atr, вы сначала берете

скажем, double b = iATR(Symbol(),0,5,1), убедившись, что возвращаемое значение умножается на Point брокера, поэтому в нашем гипотетическом сценарии это будет выглядеть следующим образом

b = point * iATR(Symbol(),0,3,1);

Пока все хорошо, дальше вы можете делать то, что хотите, один из способов - умножить его на другой порог, например, на 5.

таким образом, конечный результат

b = 5 * точка * iATR(Symbol(),0,3,1);

теперь вы можете играть вокруг

-guyver

 

Модифицирующий индикатор

HI,

не мог бы кто-нибудь помочь мне и модифицировать этот индикатор, чтобы он также проверял high и low в соответствии с предыдущим баром. Если текущая свеча имеет HH и HL и значение гистограммы < 50, то гистограмма будет зеленой, если текущая свеча имеет LH и LL и значение гистограммы также < 50, то гистограмма будет красной. Любой другой результат должен отображать серую полосу гистограммы.

Заранее благодарю за любую помощь!

Файлы:
 

Большое спасибо, Гайвер. Я попробую как-нибудь сегодня. Очень признателен!

 
kolesar:
HI,

не мог бы кто-нибудь помочь мне и модифицировать этот индикатор, чтобы он также проверял high и low в соответствии с предыдущим баром. Если текущая свеча имеет HH и HL и значение гистограммы < 50, то гистограмма будет зеленой, если текущая свеча имеет LH и LL и значение гистограммы также < 50, то гистограмма будет красной. При любом другом результате гистограмма должна быть серой.

Заранее благодарю за любую помощь!

Ничего. Ни ответа, ни ответа, ничего.

может это поможет?

 

Добавление стоплосса

Подскажите, пожалуйста, как добавить стоплосс для следующего кода.

Спасибо.

#define MAGIC 20090101

extern double Lots = 0.2;

extern double OpenPrice = 92.50;

extern double ClosePrice = 92.55;

extern bool gaku = 0;

int CalculateCurrentOrders()

{ int pos=0;

for(int i=0; i < OrdersTotal(); i++)

{ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;

if(OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)

{

if(OrderType() == OP_BUY || OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP) pos++;

if(OrderType() == OP_SELL || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) pos--;

}

}

return(pos);}

int start()

{

if(IsTradeAllowed() == false || CalculateCurrentOrders() != 0) return(0);

if(OpenPrice < ClosePrice && gaku == 0) OrderSend(Symbol(),OP_BUYLIMIT,Lots,OpenPrice,0,0,ClosePrice,"",MAGIC,0,Blue);

else if(OpenPrice > ClosePrice && gaku == 0) OrderSend(Symbol(),OP_SELLLIMIT,Lots,OpenPrice,0,0,ClosePrice,"",MAGIC,0,Red);

else if(OpenPrice < ClosePrice && gaku != 0) {OrderSend(Symbol(),OP_BUYSTOP,Lots,OpenPrice,0,0,ClosePrice,"",MAGIC,0,Blue);

}

else if(OpenPrice > ClosePrice && gaku != 0) {OrderSend(Symbol(),OP_SELLSTOP,Lots,OpenPrice,0,0,ClosePrice,"",MAGIC,0,Red);

}

return(0);

}

Причина обращения: