TP i SL, pytanie...

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

OrderSelect()
OrderStopLoss()
OrderTakeProfit()

wszystko masz w helpie bądź na necie
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

tmkk90
Stały bywalec
Stały bywalec
Posty: 50
Rejestracja: 12 lip 2010, 19:13

Nieprzeczytany post autor: tmkk90 »

Powiedzcie czy ide w dobrym kierunku:

Kod: Zaznacz cały

//---Ustala TP i SL
{
int i=OrdersTotal()-1; //nr ostatniej pozycji
  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
       {
       
   //--- Pierwsza Sell -> ustalamy TP i SL dla Buy (Poziom TP pierwszej pozycji = Poziom SL dla drugiej i odwrotnie)
   
if (OrderType()==OP_SELL){ 
int TPs=OrderOpenPrice()+OrderStopLoss();
int SLs=OrderOpenPrice()-OrderTakeProfit();
}
  
  //--- Pierwsza Buy -> ustalamy TP i SL dla Sell (Poziom TP pierwszej pozycji = Poziom SL dla drugiej i odwrotnie)
  
 if (OrderType()==OP_BUY){
int TPb=OrderOpenPrice()-OrderStopLoss();
int SLb=OrderOpenPrice()+OrderTakeProfit();
}

}
fragment powyzej powinien ustalac poziomy TP i SL dla 2giej pozyci.

Kod: Zaznacz cały

//--- Otwarta jest Buy -> Otwiera Sell

res2=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,SLb,TPb,"",0,0,Red)

//--- Otwarta jest Sell -> Otwiera Buy

res=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,SLs,TPs,"",0,0,Blue);
;
w Tym miejscu chodzi mi o to czy poprawnie wpisalem wartosci TPs, SLs, Tpb i SLb

i na samym koncu chcialbym sie spytac jak powiniena w prawidlowy sposob zostac zapisana funkcja start ()

Kod: Zaznacz cały


void start()
  {
if(IleOtwartychPozycji(0) !=0) CheckForOpen();  // IleOtwartychPozycji(0) !=0 czyli ze sa otwarte pozycje Buy lub Sell (-1 Sell, 0 Buy lub Sell, 1 Buy)
//---- check for history and trading
   
 if(Bars<100 || IsTradeAllowed()==false) return;
//---- calculate open orders by current symbol
   if(IleOtwartychPozycji(Symbol())==0) CheckForOpen();
   
   else                                    CheckForClose()

//funckja ta nie jest dokonczona
;
jbc to warunki otwarcia pierwszej pozycji mam zapisane w CheckForOpen(), a 2giej w CheckForOpen2(). Tak samo z Zamknieciem -> CheckForClose() dla 1wszej i CheckForClose2() dla 2giej

ODPOWIEDZ