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

 

о коде mql4

Я хочу вывести на текущий график максимальную и минимальную цену.

но я не знаю, как написать код в моем индикаторе на MQL4.

спасибо большое!

 

Код для перемещения стоплосса?

Привет всем,

В данный момент я кодирую советника для автоторговли, он близится к завершению, но я не могу понять, как передвинуть стоплосс в открытой сделке. Я размещаю свой код здесь, если кто-то может указать, что я делаю неправильно, я был бы очень признателен.

Это часть кода, которая открывает LONG позицию:

{

if(//long entry criteria met)

{

if (priorbartime == Time[0])

return(0);

priorbartime = Time[0];

Alert("Long Signal");

ObjectCreate(arrowlong, OBJ_ARROW, 0, Time[0], Open[0], 0, 0, 0, 0);

ObjectSet(arrowlong, OBJPROP_ARROWCODE, 233);

ObjectSet(arrowlong, OBJPROP_COLOR, Aqua);

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,Ask-StopLoss*Point,Ask+TakeProfit*Point,"am crossing",16677,0,Green); // HDB CHANGED Close TO Ask and SlipPage to 0

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Error opening BUY order : ",GetLastError());

return(0);

}

}

[/PHP]

then once the trade is open I want to manage it by moving stop to -5 when the trade is +15, and by moving stop to b/e when trade is +20. this is the code i have come up with so far but it doesnt seem to be working:

[PHP]

total=OrdersTotal();

if(total>0)

{

for(cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

{

if(Bid-OrderOpenPrice()==Point*15)

{

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-Point*5,OrderTakeProfit(),0,Blue);

return(0);

}

if(Bid-OrderOpenPrice()==Point*20)

{

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,Blue);

return(0);

}

}

}

}

Как уже говорилось, это все для LONG позиций.

Спасибо за любую помощь!

divergence_trader

 

Многие люди спрашивали об этом уже много раз.

Так что читайте:

- этот пост,

- этот и

- этот поток Codersguru.

 

Спасибо newdigital, я просмотрел много тем на SBFX, metaquotes и здесь, но не смог найти то, что искал, надеюсь, эти помогут!

 

Попробуйте это:

total=OrdersTotal();

if(total>0){

for(cnt=0;cnt<total;cnt++){

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol()){

if(Bid-OrderOpenPrice()>=Point*15 && Bid-OrderOpenPrice()<Point*20 && OrderStopLoss()< OrderOpenPrice()-5*Point){

OrderModify(OrderTicket(),OrderOpenPrice()-Point*5,OrderTakeProfit(),Blue);

}

if(Bid-OrderOpenPrice()>=Point*20 && OrderStopLoss()< OrderOpenPrice()){

OrderModify(OrderTicket(),OrderOpenPrice(),OrderTakeProfit(),Blue);

}

}

}

}
 

как эти

 

код уровней MA

привет

Я пытаюсь написать код уровней MA, но он не работает ...

кто-нибудь может сказать мне, как я могу это сделать, пожалуйста.

спасибо

Файлы:
levels.png  20 kb
 
mas:
привет

я пытаюсь написать код уровней MA, но он не работает ...

кто-нибудь может подсказать мне, как я могу это сделать, пожалуйста.

спасибо

Вы можете использовать индикатор Vegas Currancy Daily в качестве руководства. См. вложение.

Keris

Файлы:
 
Nicholishen:
Попробуйте это:

Спасибо, Николишен, ваш код работает отлично. До сих пор не было возможности протестировать его на живом рынке, но все работает отлично. еще раз спасибо!

 

Запрос: Код советника для удвоения размера лота после убыточной сделки.

Я хочу знать, есть ли способ указать советнику увеличить размер лота, если последняя сделка закрылась в убыток (система мартингейла), и использовать обычный размер лота, если последняя сделка закрылась в прибыль. Он должен иметь возможность использовать микро-лоты. Есть ли способ сделать это?