OrderModify Pomoc potrzebna

O jezykach programowania w platformach i nie tylko.
Lucky1978
Stały bywalec
Stały bywalec
Posty: 25
Rejestracja: 01 mar 2014, 21:57

OrderModify Pomoc potrzebna

Nieprzeczytany post autor: Lucky1978 »

Witam jestem początkujący w programowaniu MQL4 i nie bardzo rozumiem funkcje OrderModify
Napisałem krótki kod który modyfikuje zlecenie dodając stop loss. Tzn. powinien ale coś pochrzaniłem i nie działa.
Proszę o podpowiedź.
:roll:

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                                          gge.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
#property strict
double pips;
extern double LotSize=0.1;
extern double StopLoss=10;
double ask_price;
double bid_price;
int OnInit()
  {
// Rozmiar Pipsa

   double ticksize=MarketInfo(Symbol(),MODE_TICKSIZE);
   
   if(ticksize==0.00001 || ticksize==0.001)
      pips = ticksize*10;
   else pips= ticksize;
      ask_price=Ask;
      bid_price=Bid;
      
   return(INIT_SUCCEEDED);
  }
void OnTick()
  {
// Jeżeli nie ma otwartych pozycji to otwórz pozycje kupna  
    if(OrdersTotal()==0)
    buy();
// Jeżeli wartość ceny ask wzrośnie o 20 pipsów
    if (Ask>ask_price+(20*pips))
       {

// Wybierz pozycję otwartą i zmodyfikuj dodając stop loss
        if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==True)
           OrderModify(0,NULL,Ask-(StopLoss*pips),NULL,NULL,NULL);
       }
// Jeżeli wartość ceny bid zmaleje o 20 pipsów 

    if (Bid<bid_price-(20*pips))
 
 
// Wybierz pozycję otwartą i zmodyfikuj dodając stop loss
      {
        if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)
           OrderModify(0,NULL,Bid+(StopLoss*pips),NULL,NULL,NULL);
       }
           
   
  }
//+------------------------------------------------------------------+
void buy()
       {
        OrderSend(Symbol(),OP_BUY,LotSize,Ask,3,NULL,NULL,NULL,0,0,Green);
       }   

David_Plavko
Gaduła
Gaduła
Posty: 132
Rejestracja: 27 sie 2011, 13:10

Re: OrderModify Pomoc potrzebna

Nieprzeczytany post autor: David_Plavko »

bool OrderModify(
int ticket, // ticket
double price, // price
double stoploss, // stop loss
double takeprofit, // take profit
datetime expiration, // expiration
color arrow_color // color
);

Kod: Zaznacz cały

więc nie :     OrderModify(0,NULL,Bid+(StopLoss*pips),NULL,NULL,NULL);
a :  OrderModify(OrderTicket(),OrderOpenPrice(),Bid+(StopLoss*pips),OrderTakeProfit(),0,Blue);


Lucky1978
Stały bywalec
Stały bywalec
Posty: 25
Rejestracja: 01 mar 2014, 21:57

Re: OrderModify Pomoc potrzebna

Nieprzeczytany post autor: Lucky1978 »

Dzięki :-)

ODPOWIEDZ