Т.е. надо продать 2 контракта "по рынку" (судя по термину "контракт" - речь о срочном рынке?)
Предполагаю, что речь именно о срочном рынке, тогда на QPILE код будет такой:
SecCode = "GAZR"
ClassCode = "SPBFUT"
ClientAcc = ""SPBFUT00000"
price = 0 + GET_PARAM(ClassCode, SecCode, "bid") - 5*CEIL(0.001*GET_PARAM(ClassCode, SecCode, "bid"))
new_global("trans_params", "")
new_global("trans_result", "")
trans_params = CREATE_MAP ()
trans_params = set_value (trans_params, "TRANS_ID", "1")
trans_params = set_value (trans_params, "ACTION","NEW_ORDER")
trans_params = set_value (trans_params, "CLASSCODE", classcode)
trans_params = set_value (trans_params, "SECCODE", seccode)
trans_params = set_value (trans_params, "ACCOUNT",ClientAcc )
trans_params = set_value (trans_params, "OPERATION", "S")
trans_params = set_value (trans_params, "PRICE",substr(price&"",0,6))
trans_params = set_value (trans_params, "QUANTITY", "2")
trans_params = set_value (trans_params, "CLIENT_CODE", ClientAcc)
trans_params = set_value (trans_params, "TYPE", "M")
message("SEND_TRANSACTION start",1)
trans_result =SEND_TRANSACTION (30, trans_params)
message("SEND_TRANSACTION end",1)
order_num = get_value (trans_result, "ORDER_NUMBER")
Значения переменных SecCode, ClassCode и ClientAcc в начале скрипта нужно исправить на нужные вам.
В переменной order_num после выполнения будет номер выставленной заявки, либо 0, если заявка была отклонена.
Если будете отправлять несколько последовательных заявок - то значение TRANS_ID каждый раз должно быть уникальным (новым).