ソースを参照

Ticket : 4751 Entry Conditions

1) Trade Failing Fixed
faiz ali 7 ヶ月 前
コミット
cbbc0a6fa6
共有2 個のファイルを変更した7 個の追加4 個の削除を含む
  1. BIN
      CribMarketEA.ex5
  2. 7 4
      CribMarketEA.mq5

BIN
CribMarketEA.ex5


+ 7 - 4
CribMarketEA.mq5

@@ -62,10 +62,11 @@ void OnTick()
62
 
62
 
63
    string symbolToBuy = getSymbolWithLowestAsk();
63
    string symbolToBuy = getSymbolWithLowestAsk();
64
    string symbolToSell = getSymbolWithHighestBid();
64
    string symbolToSell = getSymbolWithHighestBid();
65
+//Print(" Symbol to Buy is: ", symbolToBuy, " Symbol to Sell: ", symbolToSell);
65
 
66
 
66
    if(noOfActiveOrdersOfType(POSITION_TYPE_BUY) == 0)
67
    if(noOfActiveOrdersOfType(POSITION_TYPE_BUY) == 0)
67
      {
68
      {
68
-      if(symbolToBuy != NULL)
69
+      if(symbolToBuy != NULL && symbolToBuy != "")
69
         {
70
         {
70
          placeBuyTrade(symbolToBuy);
71
          placeBuyTrade(symbolToBuy);
71
         }
72
         }
@@ -73,7 +74,7 @@ void OnTick()
73
 
74
 
74
    if(noOfActiveOrdersOfType(POSITION_TYPE_SELL) == 0)
75
    if(noOfActiveOrdersOfType(POSITION_TYPE_SELL) == 0)
75
      {
76
      {
76
-      if(symbolToSell != NULL)
77
+      if(symbolToSell != NULL && symbolToSell != "")
77
         {
78
         {
78
          placeSellTrade(symbolToSell);
79
          placeSellTrade(symbolToSell);
79
         }
80
         }
@@ -171,7 +172,8 @@ string getSymbolWithLowestAsk()
171
       return NULL;
172
       return NULL;
172
 
173
 
173
    string lowestSymbol = "";
174
    string lowestSymbol = "";
174
-   double lowestAsk = SymbolInfoDouble(lowestSymbol, SYMBOL_ASK);
175
+//double lowestAsk = INT_MAX; // SymbolInfoDouble(lowestSymbol, SYMBOL_ASK);
176
+   double lowestAsk = DBL_MAX;
175
 
177
 
176
    for(int i = 0; i < totalGoldPairs; i++)
178
    for(int i = 0; i < totalGoldPairs; i++)
177
      {
179
      {
@@ -197,7 +199,8 @@ string getSymbolWithHighestBid()
197
       return NULL;
199
       return NULL;
198
 
200
 
199
    string highestSymbol = "";
201
    string highestSymbol = "";
200
-   double highestBid = SymbolInfoDouble(highestSymbol, SYMBOL_BID);
202
+//double highestBid = INT_MIN; // SymbolInfoDouble(highestSymbol, SYMBOL_BID);
203
+   double highestBid = 0;
201
 
204
 
202
    for(int i = 0; i < totalGoldPairs; i++)
205
    for(int i = 0; i < totalGoldPairs; i++)
203
      {
206
      {