विपरीत ट्रेडिंग - MetaTrader 5 के लिए सिस्टम ट्रेडिंग

Mike 2017.11.03 21:25 11 0 0
संलग्नक

जब हम एक बंद की गई स्थिति के विपरीत स्थिति खोलते हैं, तो यह उसी वॉल्यूम के साथ होता है। यह किसी भी सिम्बल और किसी भी मैजिक नंबर के लिए काम करता है।

उदाहरण के लिए, मान लीजिए कि हमारे पास एक खुली AUDUSD BUY 0.01 की स्थिति है। जब यह स्थिति बंद होती है (जैसे कि हम इसे मैन्युअली बंद करते हैं), तो विपरीत ट्रेड एक्सपर्ट एडवाइजर तुरंत एक नई AUDUSD स्थिति खोलेगा, जो अब एक SELL स्थिति होगी।

संपूर्ण कोड OnTradeTransaction फ़ंक्शन में शामिल है:

//+------------------------------------------------------------------+ //| ट्रेड लेनदेन फ़ंक्शन                                        | //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction &trans,                         const MqlTradeRequest &request,                         const MqlTradeResult &result)   { //--- लेनदेन के प्रकार को एन्यूमरेशन मान के रूप में प्राप्त करें     ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //--- यदि लेनदेन इतिहास में लेनदेन के जोड़ने का परिणाम है    if(type==TRADE_TRANSACTION_DEAL_ADD)      {       long     deal_type         =-1;       long     deal_entry        =-1;       double   deal_volume       =0.0;       string   deal_symbol       ="";       if(HistoryDealSelect(trans.deal))         {          deal_type         =HistoryDealGetInteger(trans.deal,DEAL_TYPE);          deal_entry        =HistoryDealGetInteger(trans.deal,DEAL_ENTRY);          deal_volume       =HistoryDealGetDouble(trans.deal,DEAL_VOLUME);          deal_symbol       =HistoryDealGetString(trans.deal,DEAL_SYMBOL);         }       else          return;       if(deal_entry==DEAL_ENTRY_OUT)         {          switch((int)deal_type)            {             case  DEAL_TYPE_BUY:                m_trade.Buy(deal_volume,deal_symbol);                break;             case  DEAL_TYPE_SELL:                m_trade.Sell(deal_volume,deal_symbol);                break;             default:                break;            }         }      }   }

यहाँ हम स्थिति बंद होने के सौदे (DEAL_ENTRY_OUT) की प्रतीक्षा करते हैं। जब यह सौदा प्रकट होता है, तो हम सौदे की स्थिति की जांच करते हैं (यदि हम एक BUY बंद करते हैं, तो यह एक Sell सौदा होगा, और इसके विपरीत) और हम एक नई स्थिति खोलते हैं।

सूची
टिप्पणी 0