Bagaimana hendak menambah dan membalikkan kod sedia ada yang berfungsi?
Results 1 to 2 of 2

Thread: Bagaimana hendak menambah dan membalikkan kod sedia ada yang berfungsi?

  1. #1
    Ini akan menjadi jawatan panjang dengan banyak baris kod ...

    Saya mempunyai kod yang sedia ada yang berfungsi seperti yang dimaksudkan yang mengambil pelbagai posisi dan menutup pada tahap SL dan TP tersembunyi.

    Saya mahu menambah fungsi kod yang sedia ada yang membolehkan EA ditutup dan terbalik jika isyarat dijana sebelum SL atau TP dilanda.

    Inilah kod yang sedia ada yang berfungsi dengan baik:

    Kod dimasukkan/---------------------------------------------- ----/PARAMETERS TRADING/---------------------------------------- ---------- RefreshRates (); {if (CUSTOM TRADING SIGNAL FOR BUY) {if ((Hour () == 0) (Minute () == 0)) Sleep (60000); {fBuy1 (); fBuy2 (); fBuy3 (); fBuy4 (); fBuy5 (); fBuy6 (); }} if (SIGNAL TRADING CUSTOM FOR SELL) {if ((Hour () == 0) (Minute () == 0)) Sleep (60000); {fSell1 (); fSell2 (); fSell3 (); fSell4 (); fSell5 (); fSell6 (); }}}}/-------------------------------------------- ------/BELI/--------------------------------------- ----------- void fBuy1 () {int result = OrderSend (ST1, OP_BUY, Many, Ask, Slippage, 0,0, Open LONG Magic1, Magic1,0, Blue); OrderSelect (hasil, SELECT_BY_TICKET, MODE_TRADES); Cetak (BUY ORDER OPENED !, #, result, at, DoubleToStr (OrderOpenPrice (Digits),, SL:, DoubleToStr (OrderStopLoss (), Digits),, TP:, DoubleToStr (OrderTakeProfit (), Digits), OpenTrades :, OrdersTotal (),, Tutup # 91; 1 # 93 ;:, Tutup # 91; 1 # 93;); jika (SignalMail) SendMail (BORANG PERDAGANGAN BUKA !, BUAH ORDER OPENED! ST1 , # result at DoubleToStr (OrderOpenPrice (), Digit) , SL: DoubleToStr (OrderStopLoss (), Digit) : DoubleToStr (OrderTakeProfit (), Digit)); jika (hasil == -1) {int e = GetLastError (); Cetak (e); }} void fBuy2 () {int result = OrderSend (ST1, OP_BUY, Many, Ask, Slippage, 0,0, Open LONG Magic2, Magic2,0, Blue); OrderSelect (hasil, SELECT_BY_TICKET, MODE_TRADES); Cetak (BUY ORDER OPENED !, #, result, at, DoubleToStr (OrderOpenPrice (Digits),, SL:, DoubleToStr (OrderStopLoss (), Digits),, TP:, DoubleToStr (OrderTakeProfit (), Digits), OpenTrades :, OrdersTotal (),, Tutup # 91; 1 # 93 ;:, Tutup # 91; 1 # 93;); jika (SignalMail) SendMail (BORANG PERDAGANGAN BUKA !, BUAH ORDER OPENED! ST1 , # result at DoubleToStr (OrderOpenPrice (), Digit) , SL: DoubleToStr (OrderStopLoss (), Digit) : DoubleToStr (OrderTakeProfit (), Digit)); jika (hasil == -1) {int e = GetLastError (); Cetak (e); }} Dll ... kod ulang terus menerus melalui VoidfBuy6/------------------------------------- -------------/SELL/-------------------------------- ------------------ void fSell1 () {int result = OrderSend (ST1, OP_SELL, Lot, Bidaan, Slippage, 0,0, Open SHORT Magic1, Magic1,0, Merah); OrderSelect (hasil, SELECT_BY_TICKET, MODE_TRADES); Cetak (ORDER DIBAYAR !, #, hasil, pada, DoubleToStr (OrderOpenPrice (), Digit),, SL:, DoubleToStr (OrderStopLoss (), Digit),, TP:, DoubleToStr (OrderTakeProfit (), Digit), OpenTrades :, OrdersTotal (),, Tutup # 91; 1 # 93 ;:, Tutup # 91; 1 # 93;); (SignalMail) SendMail (EA OPEN TRADE ALERT !, SELL ORDER OPENED! ST1 , # result at DoubleToStr (OrderOpenPrice (), Digits) , SL: DoubleToStr (OrderStopLoss (), Digits) , TP : DoubleToStr (OrderTakeProfit (), Digit)); jika (hasil == -1) {int e = GetLastError (); Cetak (e); }} void fSell2 () {int result = OrderSend (ST1, OP_SELL, Lot, Bidaan, Slippage, 0,0, Open SHORT Magic2, Magic2,0, Red); OrderSelect (hasil, SELECT_BY_TICKET,MODE_TRADES); Cetak (ORDER DIBAYAR !, #, hasil, pada, DoubleToStr (OrderOpenPrice (), Digit),, SL:, DoubleToStr (OrderStopLoss (), Digit),, TP:, DoubleToStr (OrderTakeProfit (), Digit), OpenTrades :, OrdersTotal (),, Tutup # 91; 1 # 93 ;:, Tutup # 91; 1 # 93;); (SignalMail) SendMail (EA OPEN TRADE ALERT !, SELL ORDER OPENED! ST1 , # result at DoubleToStr (OrderOpenPrice (), Digits) , SL: DoubleToStr (OrderStopLoss (), Digits) , TP : DoubleToStr (OrderTakeProfit (), Digit)); jika (hasil == -1) {int e = GetLastError (); Cetak (e); }} void fSell3 () {int result = OrderSend (ST1, OP_SELL, Lot, Bidaan, Slippage, 0,0, Open SHORT Magic3, Magic3,0, Red); OrderSelect (hasil, SELECT_BY_TICKET, MODE_TRADES); Cetak (ORDER DIBAYAR !, #, hasil, pada, DoubleToStr (OrderOpenPrice (), Digit),, SL:, DoubleToStr (OrderStopLoss (), Digit),, TP:, DoubleToStr (OrderTakeProfit (), Digit), OpenTrades :, OrdersTotal (),, Tutup # 91; 1 # 93 ;:, Tutup # 91; 1 # 93;); (SignalMail) SendMail (EA OPEN TRADE ALERT !, SELL ORDER OPENED! ST1 , # result at DoubleToStr (OrderOpenPrice (), Digits) , SL: DoubleToStr (OrderStopLoss (), Digits) , TP : DoubleToStr (OrderTakeProfit (), Digit)); jika (hasil == -1) {int e = GetLastError (); Cetak (e); }} Dll ... kod ulang diteruskan melalui VoidfSell6/------------------------------------- -------------/HIDDEN SL FUNGSI TP/----------------------------- --------------------- void hidden_stop_loss () {int totalorders = OrdersTotal (); untuk (int i = totalorders-1; igt; = 0; i--) {OrderSelect (i, SELECT_BY_POS); bool result = false; {if (OrderMagicNumber () == Magic1) {if (OrderType () == OP_BUY iClose (Symbol (), 1,0) lt; NormalizeDouble (OrderOpenPrice () )) hasil = OrderClose (OrderTicket (), OrderLots (), Tawaran, 50, Merah); jika (OrderType () == OP_SELL iClose (Simbol (), 1,0) gt; NormalizeDouble (OrderOpenPrice () ((OrderOpenPrice ()100) * StopLossShort1) (), Ask, 50, Merah); } jika (OrderMagicNumber () == Magic2) {if (OrderType () == OP_BUY iClose (Simbol (), 1,0) lt; )) hasil = OrderClose (OrderTicket (), OrderLots (), Tawaran, 50, Merah); jika (OrderType () == OP_SELL iClose (Simbol (), 1,0) gt; NormalizeDouble (OrderOpenPrice () ((OrderOpenPrice ()100) * StopLossShort2) (), Ask, 50, Merah); } if (OrderMagicNumber () == Magic3) {if (OrderType () == OP_BUY iClose (Symbol (), 1,0) lt; NormalizeDouble (OrderOpenPrice () )) hasil = OrderClose (OrderTicket (), OrderLots (), Tawaran, 50, Merah); jika (OrderType () == OP_SELL iClose (Symbol (), 1,0) gt; NormalizeDouble (OrderOpenPrice () ((OrderOpenPrice ()100) * StopLossShort3) (), Ask, 50, Merah); } Dll ... kod ulangberterusan melalui Magic6}} kembali; } void hidden_take_profit () {int totalorders = OrdersTotal (); untuk (int i = totalorders-1; igt; = 0; i--) {OrderSelect (i, SELECT_BY_POS); bool result = false; {if (OrderMagicNumber () == Magic1) {if (OrderType () == OP_BUY iClose (Symbol (), 1,0) gt; NormalizeDouble (OrderOpenPrice () )) hasil = OrderClose (OrderTicket (), OrderLots (), Tawaran, 50, Merah); jika (OrderType () == OP_SELL iClose (Symbol (), 1,0) lt; NormalizeDouble (OrderOpenPrice () - ((OrderOpenPrice ()100) (), Ask, 50, Merah); } if (OrderMagicNumber () == Magic2) {if (OrderType () == OP_BUY iClose (Symbol (), 1,0) gt; NormalizeDouble (OrderOpenPrice () )) hasil = OrderClose (OrderTicket (), OrderLots (), Tawaran, 50, Merah); jika (OrderType () == OP_SELL iClose (Symbol (), 1,0) lt; NormalizeDouble (OrderOpenPrice () - ((OrderOpenPrice ()100) (), Ask, 50, Merah); } jika (OrderMagicNumber () == Magic3) {if (OrderType () == OP_BUY iClose (Symbol (), 1,0) gt; NormalizeDouble (OrderOpenPrice () )) hasil = OrderClose (OrderTicket (), OrderLots (), Tawaran, 50, Merah); jika (OrderType () == OP_SELL iClose (Symbol (), 1,0) lt; NormalizeDouble (OrderOpenPrice () - ((OrderOpenPrice ()100) (), Ask, 50, Merah); } Dll ... kod ulang diteruskan melalui Magic6}} kembali; }
    Kerja-kerja di atas berfungsi dengan baik tetapi saya ingin menambah dekat jika isyarat bertentangan dan fungsi terbalik ...
    Walaupun EA memasuki dengan banyak nombor sihir dan keluar SLs dan TP yang tersembunyi dengan nombor sihir yang banyak, saya ingin keluar dari semua posisi terbuka jika isyarat bertentangan sebaliknya dihasilkan sebelum SL atau TP dilanda, dan saya mahu membalikkan dan membuka siri baru kedudukan yang bertentangan.

    Inilah yang saya cuba setakat ini tetapi tidak berfungsi seperti yang diharapkan ... apa-apa idea lain? Saya ingin menggunakan rangka kerja sedia ada ... Apa yang saya buat salah di sini?

    Kod Insert {if (SIGNAL CUSTOM TRADING FOR BUY) {if ((Hour () == 0) (Minute () == 0)) Sleep (60000); {CloseSell (); lt; lt; ----- Ini telah ditambah berfikir ia akan berfungsi secara logik ... logik tambahan di bawah Tidur (10000); lt; lt; ----- ditambahkan untuk memberi penampan untuk menutup kedudukan sedia ada sebelum melaksanakan yang baru tidak menganggap ia mempengaruhi keluar fBuy1 (); fBuy2 (); fBuy3 (); fBuy4 (); fBuy5 (); fBuy6 (); } dan lain-lain... /------------------------------------------- -------/TUTUP FUNGSI ADA SEBELUM fOpenPostions/---------------------------------- ---------------- void CloseSell () {int totalorders = OrdersTotal (); untuk (int i = totalorders-1; igt; = 0; i--) {OrderSelect (i, SELECT_BY_POS); bool result = false; {if (OrderType () == OP_SELL) {result = OrderClose (OrderTicket (), OrderLots (), Ask, 50, Red); }}}} tidak sah CloseBuy () {int totalorders = OrdersTotal (); untuk (int i = totalorders-1; igt; = 0; i--) {OrderSelect (i, SELECT_BY_POS); bool result = false; {if (OrderType () == OP_BUY) {result = OrderClose (OrderTicket (), OrderLots (), Bid, 50, Merah); }}}/return; }
    Kod tambahan tidak berfungsi seperti yang saya fikirkan. Sebarang penyelesaian lain?

  2. #2
    ia akan membantu jika anda berkata apa kod baru itu lakukan atau sebaliknya .... juga mengapa tidak cuba mencetak ralat lepas dan tiket # dan jenis pesanan dalam gelung rapat supaya anda dapat melihat apa yang berlaku jika tidak ia hanya meneka

Kebenaran Posting

  • Anda tidak boleh menghantar thread baru
  • Anda tidak boleh membalas kiriman
  • Anda tidak boleh mengedit siaran anda
  • Anda tidak boleh menyiarkan lampiran
  •  
  • Kod BB Hidup
  • Smilies Hidup
  • Kod [IMG] adalah Hidup
  • Kod [VIDEO] adalah Hidup
  • Kod HTML Tidak Hidup
Polisi Kuki
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.