Dalam tester, saya mendapat Kod Ralat 0 kesilapan dalaman pada BUY perintah sisi SAHAJA dan tidak menjual pesanan sampingan.
2 soalan:
1. Apakah ralat dalaman yang terikat pada Kod ralat 0 yang saya fikir tidak ada kesilapan?
2. Mengapakah saya mendapat kesilapan ini hanya pada pesanan sebelah beli?
Hasil khusus yang dicetak adalah: Ralat Semasa Mengubah Henti dan TP Pesanan Beli !!! Kod ralat: 0 ralat dalaman
yang sepadan dengan modifikasi pertama. Setakat yang saya boleh katakan kod sebelah beli adalah betul.
Berikut adalah kod yang digunakan untuk fungsi di bawah ... kod mungkin kelihatan reduny, namun ia direka untuk memastikan berhenti keras dan tps keras dihantar dan diposkan selepas pesanan telah diisi untuk broker jenis ecnstp.
Kod yang dimasukkan tidak sah set_stop_tp () {int totalorders = OrdersTotal (); untuk (int i = totalorders-1; igt; = 0; i--) {if (! OrderSelect (i, SELECT_BY_POS)) {Print (TimeToStr (TimeCurrent (), TIME_SECONDS), CHECK CHECK gt ;, __FUNCTION__, !! !!!, Error code =, GetLastError ()); } hasil int; cek int; {//Modify Stop and TP on Server jika tidak semasa Entry Order jika (((OrderStopLoss () == 0) || (OrderTakeProfit () == 0)) (OrdersTotal () gt; 0) (UseHardStop == true) ) {RefreshRates ();/Modify both SL and TP jika kedua-duanya belum ditetapkan jika ((OrderType () == OP_BUY) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () == 0) ) == 0))) hasil = OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () - HardStop, OrderOpenPrice () HardTP, 0,0); cek = GetLastError (); jika (semak! = 0) {Print (Ralat Semasa Memodifikasi Henti dan Pesanan Beli !!!) Kod ralat:, GetLastError (),, ErrorDescription (periksa)); } if ((OrderType () == OP_SELL) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () == 0) OrderTicket (), OrderOpenPrice (), OrderOpenPrice () HardStop, OrderOpenPrice () - HardTP, 0,0); cek = GetLastError (); jika (semak! = 0) {Cetak (Ralat Semasa Mengubah Henti dan TP Pelelihan! Kod ralat:, GetLastError (),, ErrorDescription (semak)); }/Ubah suai TP hanya jika tidak ditetapkan jika ((OrderType () == OP_BUY) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () = 0))) hasil = OrderModify (OrderTicket (), OrderOpenPrice (), OrderStopLoss (), OrderOpenPrice () HardTP, 0,0); cek = GetLastError (); jika (semak! = 0) {Cetak (Ralat Semasa Memodifikasi TP Pesanan Beli !!!) Kod ralat:, GetLastError (),, ErrorDescription (periksa)); } jika ((OrderType () == OP_SELL) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss ()! = 0) (OrderTakeProfit () == 0) OrderTicket (), OrderOpenPrice (), OrderStopLoss (), OrderOpenPrice () - HardTP, 0,0); cek = GetLastError (); jika (semak! = 0) {Cetak (Ralat semasa Mengubah TP Runtuhan! Kod ralat:, GetLastError (),, ErrorDescription (periksa)); }/Ubah suar SL hanya jika tidak ditetapkan jika ((OrderType () == OP_BUY) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () == 0) (OrderTakeProfit ()! = 0))) hasil = OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () - HardStop, OrderTakeProfit (), 0,0); cek = GetLastError (); jika (semak! = 0) {Print (Ralat Semasa Mengubah Henti Pesanan Beli !!!) Kod Ralat:, GetLastError (),, ErrorDescription (periksa)); } if ((OrderType () == OP_SELL) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () == 0) (OrderTakeProfit () OrderTicket (), OrderOpenPrice (), OrderOpenPrice () HardStop, OrderTakeProfit (), 0,0); cek = GetLastError (); jika (semak! = 0) {Print (Ralat Semasa Mengubah Henti Rugi Pesanan !!! code error:, GetLastError (),, ErrorDescription (check)); }}
Kod Reposted Outside ofjustgetforexCode Box:
*******************************
void set_stop_tp ()
{
int totalorders = OrdersTotal ();
untuk (int i = totalorders-1; igt; = 0; i--)
{
jika (! OrderSelect (i, SELECT_BY_POS)) {
Cetak (TimeToStr (TimeCurrent (), TIME_SECONDS), CHECK CHECK gt;, __FUNCTION__, !!!!!, Error code =, GetLastError ()); }
hasil int;
cek int;
{
//Ubah Henti dan TP pada Pelayan jika tidak semasa Entry Masuk
jika (((OrderStopLoss () == 0) || (OrderTakeProfit () == 0)) (OrdersTotal () gt; 0) (UseHardStop == true)) {RefreshRates ();
//Ubah suai SL dan TP jika kedua-duanya belum ditetapkan
jika ((OrderType () == OP_BUY) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () == 0) (OrderTakeProfit () == 0)))
result = OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () - HardStop, OrderOpenPrice () HardTP, 0,0);
cek = GetLastError ();
jika (semak! = 0) {Print (Ralat Semasa Memodifikasi Henti dan Pesanan Beli !!!) Kod ralat:, GetLastError (),, ErrorDescription (periksa)); }
jika ((OrderType () == OP_SELL) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () == 0) (OrderTakeProfit () == 0)
result = OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () HardStop, OrderOpenPrice () - HardTP, 0,0);
cek = GetLastError ();
jika (semak! = 0) {Cetak (Ralat Semasa Mengubah Henti dan TP Pelelihan! Kod ralat:, GetLastError (),, ErrorDescription (semak)); }
//Ubahsuai TP hanya jika belum ditetapkan
jika ((OrderType () == OP_BUY) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss ()! = 0) (OrderTakeProfit () == 0)))
result = OrderModify (OrderTicket (), OrderOpenPrice (), OrderStopLoss (), OrderOpenPrice () HardTP, 0,0);
cek = GetLastError ();
jika (semak! = 0) {Cetak (Ralat Semasa Memodifikasi TP Pesanan Beli !!!) Kod ralat:, GetLastError (),, ErrorDescription (periksa)); }
jika ((OrderType () == OP_SELL) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss ()! = 0) (OrderTakeProfit () == 0)))
result = OrderModify (OrderTicket (), OrderOpenPrice (), OrderStopLoss (), OrderOpenPrice () - HardTP, 0,0);
cek = GetLastError ();
jika (semak! = 0) {Cetak (Ralat semasa Mengubah TP Runtuhan! Kod ralat:, GetLastError (),, ErrorDescription (periksa)); }
//Modify SL hanya jika belum ditetapkan lagi
jika ((OrderType () == OP_BUY) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () == 0) (OrderTakeProfit ()
hasil = OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () - HardStop, OrderTakeProfit (), 0,0);
cek = GetLastError ();
jika (semak! = 0) {Print (Ralat Semasa Mengubah Henti Pesanan Beli !!!) Kod Ralat:, GetLastError (),, ErrorDescription (periksa)); }
jika ((OrderType () == OP_SELL) (OrdersTotal () gt; 0) (OrderSymbol () == Perdagangan) ((OrderStopLoss () == 0) (OrderTakeProfit ()
hasil = OrderModify (OrderTicket (), OrderOpenPrice (), OrderOpenPrice () HardStop, OrderTakeProfit (), 0,0);
cek = GetLastError ();
jika (semak! = 0) {Print (Ralat Semasa Mengubah Henti Rugi Pesanan !!! code error:, GetLastError (),, ErrorDescription (check)); }
}