Error in OrderClose #129 - page 2 12 New comment [Deleted] 2011.12.16 04:23 #11 extern double entry_eurusd = 1.27685, entry_eurjpy = 108.731, entry_usdjpy = 85.177, lots = 0.1; double mark_eurusd, mark_eurjpy, mark_usdjpy; double mark_eurusdjpy, basket_pl; double mid_range, high_range, low_range; double ask_eurusd, bid_eurjpy, ask_usdjpy; double bid_eurusd, ask_eurjpy, bid_usdjpy; int current_level, previous_level = 0, x, y, z, buy = 0, sell = 0, cnt; int buy_eurusd, buy_eurjpy, buy_usdjpy, sell_eurusd, sell_eurjpy, sell_usdjpy; bool close_eurusd, close_eurjpy, close_usdjpy; int handle, handle1; int counter1, magic_number=1, magic, checkmagic; int set = 0; string type = ""; int init() { magic = OrderSelect(OrdersTotal()-1, SELECT_BY_POS); counter1=0; handle=FileOpen("tri arb close.xls",FILE_CSV|FILE_WRITE, ';'); handle1=FileOpen("tri arb profit8.xls",FILE_CSV|FILE_WRITE, ';'); if(OrdersTotal()!=0) { OrderSelect(OrdersTotal()-1,SELECT_BY_POS); if(OrderType() == OP_SELL) { previous_level = OrdersTotal()/3; } else if(OrderType() == OP_BUY) { previous_level = (OrdersTotal()*(-1))/3; } } else previous_level = OrdersTotal(); return(0); } int start() { mark_eurusd = entry_eurusd - MarketInfo("EURUSD",MODE_ASK); mark_eurjpy = entry_eurjpy - MarketInfo("EURJPY",MODE_BID); mark_usdjpy = entry_usdjpy - MarketInfo("USDJPY",MODE_ASK); mark_eurusdjpy = mark_eurusd * MarketInfo("USDJPY",MODE_BID); basket_pl = 100 * (mark_eurusdjpy + mark_eurjpy + mark_usdjpy); current_level = MathRound(basket_pl / 25); mid_range = current_level * 25; high_range = mid_range + 3.75; low_range = mid_range - 3.75; checkProfit(); Comment("Basket PL: ",basket_pl," EURUSDJPY: ",mark_eurusdjpy, " EURJPY: ",mark_eurjpy," USDJPY: ",mark_usdjpy, " Previous Level: ",previous_level, " Current Level: ",current_level); if(basket_pl > low_range && basket_pl < high_range && previous_level != current_level) { if(current_level > 0) { Print("Basket PL: ",basket_pl, " Previous Level: ",previous_level," Current Level: ",current_level); if(previous_level < current_level) { sell = OrdersTotal(); if(sell > 0) sell = sell / 3; while(sell < MathAbs(current_level)) { sell_eurusd = -1; buy_eurjpy = -1; sell_usdjpy = -1; while(sell_eurusd == -1) { bid_eurusd = MarketInfo("EURUSD",MODE_BID); sell_eurusd = OrderSend("EURUSD",OP_SELL,lots,bid_eurusd,3,0,0,NULL,magic_number,0,Red); RefreshRates(); } while(buy_eurjpy == -1) { ask_eurjpy = MarketInfo("EURJPY",MODE_ASK); buy_eurjpy = OrderSend("EURJPY",OP_BUY,lots,ask_eurjpy,3,0,0,NULL,magic_number,0,Red); RefreshRates(); } while(sell_usdjpy == -1) { bid_usdjpy = MarketInfo("USDJPY",MODE_BID); sell_usdjpy = OrderSend("USDJPY",OP_SELL,lots,bid_usdjpy,3,0,0,NULL,magic_number,0,Red); RefreshRates(); } sell++; magic_number++; } } previous_level = current_level; } else if(current_level < 0) { Print("Basket PL: ",basket_pl, " Previous Level: ",previous_level," Current Level: ",current_level); if(previous_level > current_level) { buy = OrdersTotal(); if(buy > 0) buy = buy / 3; while(buy < MathAbs(current_level)) { buy_eurusd = -1; sell_eurjpy = -1; buy_usdjpy = -1; while(buy_eurusd == -1) { ask_eurusd = MarketInfo("EURUSD",MODE_ASK); buy_eurusd = OrderSend("EURUSD",OP_BUY,lots,ask_eurusd,3,0,0,NULL,magic_number,0,Blue); RefreshRates(); } while(sell_eurjpy == -1) { bid_eurjpy = MarketInfo("EURJPY",MODE_BID); sell_eurjpy = OrderSend("EURJPY",OP_SELL,lots,bid_eurjpy,3,0,0,NULL,magic_number,0,Blue); RefreshRates(); } while(buy_usdjpy == -1) { ask_usdjpy = MarketInfo("USDJPY",MODE_ASK); buy_usdjpy = OrderSend("USDJPY",OP_BUY,lots,ask_usdjpy,3,0,0,NULL,magic_number,0,Blue); RefreshRates(); } buy++; magic_number++; } } previous_level = current_level; } else { Print("Basket PL: ",basket_pl, " Previous Level: ",previous_level," Current Level: ",current_level); previous_level = current_level; } } return(0); void magicnumber() { for(cnt=1;cnt<OrdersTotal()-1;cnt++) { OrderSelect(cnt, SELECT_BY_POS); checkmagic = OrderMagicNumber(); } } [Deleted] 2011.12.16 04:23 #12 that is also part of the code... Simon Gniadkowski 2011.12.16 09:11 #13 How about showing part of the log as previously asked ? [Deleted] 2011.12.16 09:13 #14 RaptorUK: How about showing part of the log as previously asked ? 2011.12.16 17:12:49 triangulararbitrage EURUSD,M30: Magic: 27 Ticket 0: 1710977 Ticket 1: 1710978 Ticket 2: 1710979 Set: 3 Cnt: 128 2011.12.16 17:12:49 triangulararbitrage EURUSD,M30: Profit: 11.92 2011.12.16 17:12:49 triangulararbitrage EURUSD,M30: Magic: 26 Ticket 0: 1710974 Ticket 1: 1710975 Ticket 2: 1710976 Set: 3 Cnt: 127 2011.12.16 17:12:49 triangulararbitrage EURUSD,M30: Profit: 12.02 2011.12.16 17:12:48 triangulararbitrage EURUSD,M30: Magic: 25 Ticket 0: 1710971 Ticket 1: 1710972 Ticket 2: 1710973 Set: 3 Cnt: 126 2011.12.16 17:12:48 triangulararbitrage EURUSD,M30: Profit: 12.02 2011.12.16 17:12:47 triangulararbitrage EURUSD,M30: Magic: 24 Ticket 0: 1710968 Ticket 1: 1710969 Ticket 2: 1710970 Set: 3 Cnt: 125 2011.12.16 17:12:47 triangulararbitrage EURUSD,M30: Profit: 12.02 2011.12.16 17:12:46 triangulararbitrage EURUSD,M30: Magic: 23 Ticket 0: 1710965 Ticket 1: 1710966 Ticket 2: 1710967 Set: 3 Cnt: 124 sample log when checking profit... static array ? Practical advice, please. Trading Strategies Based On Simon Gniadkowski 2011.12.16 09:23 #15 There are no errors on that bit of the log so I assume you have fixed your issue . . . well done. [Deleted] 2011.12.16 09:52 #16 I'm waiting for the profit to reach 22.. if the log doesn't prompt me any error I think I fixed the problem.. by the way thanks for your help 12 New comment
How about showing part of the log as previously asked ?
2011.12.16 17:12:49 triangulararbitrage EURUSD,M30: Profit: 11.92
2011.12.16 17:12:49 triangulararbitrage EURUSD,M30: Magic: 26 Ticket 0: 1710974 Ticket 1: 1710975 Ticket 2: 1710976 Set: 3 Cnt: 127
2011.12.16 17:12:49 triangulararbitrage EURUSD,M30: Profit: 12.02
2011.12.16 17:12:48 triangulararbitrage EURUSD,M30: Magic: 25 Ticket 0: 1710971 Ticket 1: 1710972 Ticket 2: 1710973 Set: 3 Cnt: 126
2011.12.16 17:12:48 triangulararbitrage EURUSD,M30: Profit: 12.02
2011.12.16 17:12:47 triangulararbitrage EURUSD,M30: Magic: 24 Ticket 0: 1710968 Ticket 1: 1710969 Ticket 2: 1710970 Set: 3 Cnt: 125
2011.12.16 17:12:47 triangulararbitrage EURUSD,M30: Profit: 12.02
2011.12.16 17:12:46 triangulararbitrage EURUSD,M30: Magic: 23 Ticket 0: 1710965 Ticket 1: 1710966 Ticket 2: 1710967 Set: 3 Cnt: 124
sample log when checking profit...