mirror of
https://github.com/vdemydiuk/mtapi.git
synced 2026-08-18 13:18:12 +00:00
Merge pull request #64 from Tr4Dr/master
Fixes for the OrderSend function [MT5]
This commit is contained in:
@@ -51,9 +51,15 @@ public struct CMqlBookInfo
|
|||||||
|
|
||||||
void convertSystemString(wchar_t* dest, String^ src)
|
void convertSystemString(wchar_t* dest, String^ src)
|
||||||
{
|
{
|
||||||
pin_ptr<const wchar_t> wch = PtrToStringChars(src);
|
if (src != nullptr) {
|
||||||
memcpy(dest, wch, wcslen(wch) * sizeof(wchar_t));
|
pin_ptr<const wchar_t> wch = PtrToStringChars(src);
|
||||||
dest[wcslen(wch)] = '\0';
|
memcpy(dest, wch, wcsnlen(wch, 1000) * sizeof(wchar_t));
|
||||||
|
dest[wcsnlen(wch, 1000)] = L'\0';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dest[0] = L'\0';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define _DLLAPI extern "C" __declspec(dllexport)
|
#define _DLLAPI extern "C" __declspec(dllexport)
|
||||||
@@ -278,7 +284,7 @@ _DLLAPI int _stdcall getStringValue(int expertHandle, int paramIndex, wchar_t* r
|
|||||||
_DLLAPI int _stdcall getULongValue(int expertHandle, int paramIndex, unsigned __int64* res, wchar_t* err)
|
_DLLAPI int _stdcall getULongValue(int expertHandle, int paramIndex, unsigned __int64* res, wchar_t* err)
|
||||||
{
|
{
|
||||||
return Execute<int>([&expertHandle, ¶mIndex, res]() {
|
return Execute<int>([&expertHandle, ¶mIndex, res]() {
|
||||||
*res = (unsigned long)MtAdapter::GetInstance()->GetCommandParameter(expertHandle, paramIndex);
|
*res = (unsigned __int64)MtAdapter::GetInstance()->GetCommandParameter(expertHandle, paramIndex);
|
||||||
return 1;
|
return 1;
|
||||||
}, err, 0);
|
}, err, 0);
|
||||||
}
|
}
|
||||||
@@ -286,7 +292,7 @@ _DLLAPI int _stdcall getULongValue(int expertHandle, int paramIndex, unsigned __
|
|||||||
_DLLAPI int _stdcall getLongValue(int expertHandle, int paramIndex, __int64* res, wchar_t* err)
|
_DLLAPI int _stdcall getLongValue(int expertHandle, int paramIndex, __int64* res, wchar_t* err)
|
||||||
{
|
{
|
||||||
return Execute<int>([&expertHandle, ¶mIndex, res]() {
|
return Execute<int>([&expertHandle, ¶mIndex, res]() {
|
||||||
*res = (long)MtAdapter::GetInstance()->GetCommandParameter(expertHandle, paramIndex);
|
*res = (__int64)MtAdapter::GetInstance()->GetCommandParameter(expertHandle, paramIndex);
|
||||||
return 1;
|
return 1;
|
||||||
}, err, 0);
|
}, err, 0);
|
||||||
}
|
}
|
||||||
@@ -306,4 +312,4 @@ _DLLAPI int _stdcall getUIntValue(int expertHandle, int paramIndex, unsigned int
|
|||||||
*res = (unsigned int)MtAdapter::GetInstance()->GetCommandParameter(expertHandle, paramIndex);
|
*res = (unsigned int)MtAdapter::GetInstance()->GetCommandParameter(expertHandle, paramIndex);
|
||||||
return 1;
|
return 1;
|
||||||
}, err, 0);
|
}, err, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ namespace MTApiService
|
|||||||
[DataMember]
|
[DataMember]
|
||||||
public int Action { get; set; }
|
public int Action { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
public uint Magic { get; set; }
|
public ulong Magic { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
public uint Order { get; set; }
|
public ulong Order { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
public string Symbol { get; set; }
|
public string Symbol { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
@@ -25,7 +25,7 @@ namespace MTApiService
|
|||||||
[DataMember]
|
[DataMember]
|
||||||
public double Tp { get; set; }
|
public double Tp { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
public uint Deviation { get; set; }
|
public ulong Deviation { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
public int Type { get; set; }
|
public int Type { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
@@ -36,5 +36,9 @@ namespace MTApiService
|
|||||||
public DateTime Expiration { get; set; }
|
public DateTime Expiration { get; set; }
|
||||||
[DataMember]
|
[DataMember]
|
||||||
public string Comment { get; set; }
|
public string Comment { get; set; }
|
||||||
|
[DataMember]
|
||||||
|
public ulong Position { get; set; }
|
||||||
|
[DataMember]
|
||||||
|
public ulong PositionBy { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ namespace MtApi5
|
|||||||
|
|
||||||
return new ArrayList { (int)request.Action, request.Magic, request.Order, request.Symbol, request.Volume
|
return new ArrayList { (int)request.Action, request.Magic, request.Order, request.Symbol, request.Volume
|
||||||
, request.Price, request.Stoplimit, request.Sl, request.Tp, request.Deviation, (int)request.Type
|
, request.Price, request.Stoplimit, request.Sl, request.Tp, request.Deviation, (int)request.Type
|
||||||
, (int)request.Type_filling, (int)request.Type_time, exp, request.Comment };
|
, (int)request.Type_filling, (int)request.Type_time, exp, request.Comment, request.Position, request.PositionBy };
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
Reference in New Issue
Block a user