Lost in my CODE need help please

 
 while((MovingAverageValue200 > PriceAction[i])&& (PriceAction[1] Close[1] <= PriceAction[2]Open[2] && PriceAction[1] Open[1] > PriceAction[2] Close[2] && PriceAction[1] Vol < PriceAction[2] Vol));
     {
      //sell
      order = OrderSend(NULL, OP_SELL, 0.01, PriceAction[0], NULL, 20, 30, "THIS IS A SELL", 1, 0, clrRed);

I have no idea how to fix this please help im getting these errors

'close' - some operator expected

'PriceAction' - some operator expected

'(' - unbalanced left parenthesis


I tried a few different ways to change the code and this is the cleanness I could get the code to be. 

 
  1. Don't double post! You already had this thread open.
              General rules and best pratices of the Forum. - General - MQL5 programming forum (2017)

  2. You must define what PriceAction is.

    1. MovingAverageValue200 > PriceAction[i])

      An array of doubles.

    2. PriceAction[1].Close[1] <= PriceAction[2].Open[2]
      An array of a structure.
    Always post all relevant code
         How To Ask Questions The Smart Way. (2004)
              Be precise and informative about your problem

  3. order = OrderSend(NULL, OP_SELL, 0.01, PriceAction[0], NULL, 20, 30, "THIS IS A SELL", 1, 0, clrRed);

    Be careful with NULL.

    1. On MT4, you can use NULL in place of _Symbol only in those calls that the documentation specially says you can. iHigh does, iCustom does, MarketInfo does not, OrderSend does not.
    2. Don't use NULL (except for pointers where you explicitly check for it.) Use _Symbol and _Period, that is minimalist as possible and more efficient.
    3. Zero is the same as PERIOD_CURRENT which means _Period. Don't hard code numbers.
    4. MT4: No need for a function call with iHigh(NULL,0,s) just use the predefined arrays, i.e. High[].
    5. Cloud Protector Bug? - MQL4 programming forum (2020.07.25)