01.06.2014, 15:12
Аватар для MrGreen86
MrGreen86 MrGreen86 вне форума Элитный участник
Регистрация: 12.01.2012 / Сообщений: 718
Поблагодарили 1,024 раз(а) / Репутация: 1024
Здравствуйте господа программисты. Помогите разобраться скодом
Подскажите, в каком месте необходимо вставить этот кусок кода
PHP код:
OrderSwap() + OrderCommission() 
чтобы корректно работал
Не просто вставить. Комиссию и своп нужно посчитать, поделить на стоимость пункта помноженную на лот, т.е. расчитать за сколько пунктов открытые лоты погасят комиссию и своп. А потом все это дело прибавить к средней цене.
Как то так:
PHP код:
void start() {
   
int b,s;
   
double price,price_b,price_s,lot,lot_s,lot_b,SLb,SLs;
   
double CS_buy,CS_sell;
   for (
int i=0i<OrdersTotal(); i++) {  
      if (
OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && OrderSymbol()==Symbol()) {
         
price OrderOpenPrice();
         
lot   OrderLots();
         if (
OrderType()==OP_BUY ) {
            
price_b price_b+price*lot
            
b++;  
            
lot_b=lot_b+lot;
            
CS_buy=CS_buy+OrderCommission()+OrderSwap();
            }
         if (
OrderType()==OP_SELL) {
            
price_s price_s+price*lot
            
s++;  
            
lot_s=lot_s+lot;
            
CS_sell=CS_sell+OrderCommission()+OrderSwap();
            }
         }
      }
   
ObjectDelete("SLb");
   
double tick_value=MarketInfo(Symbol(),MODE_TICKVALUE);
   if (
b!=0) {  
      
SLb price_b/lot_b;
      
SLb SLb - (CS_buy/(tick_value*lot_b))*Point;
      
ObjectCreate("SLb",OBJ_ARROW,0,Time[0],SLb,0,0,0,0);                    
      
ObjectSet   ("SLb",OBJPROP_ARROWCODE,6);
      
ObjectSet   ("SLb",OBJPROP_COLORNavy);
      }
   
ObjectDelete("SLs");
   if (
s!=0) {  
      
SLs price_s/lot_s;
      
SLs SLs + (CS_sell/(tick_value*lot_s))*Point;
      
ObjectCreate("SLs",OBJ_ARROW,0,Time[0],SLs,0,0,0,0);                    
      
ObjectSet   ("SLs",OBJPROP_ARROWCODE,6);
      
ObjectSet   ("SLs",OBJPROP_COLORMaroon);
      } 

Последний раз редактировалось MrGreen86; 01.06.2014 в 15:14.