10H币有偿帮忙,请用MQ5帮忙写一个移动止盈的函数.
任务需求:
请用MQ5帮忙写一个移动止盈的函数,请标上详细注释,
需求如下:
初设止损点为500毫点,初设止盈点为600毫点,第一个止盈点为700 毫点,第二个止盈点为800毫点, 第二个止盈点为900毫点.
1.当行情盈利大于或等于初设止盈点600毫点,且小于第一个止盈点700毫点时
止损点修改为初设止盈点, 止盈点修改为第一个止盈点 .
2. 当行情盈利大于或等于第一个止盈点700毫点, 且小于第二个止盈点800毫点时
止损点修改为 第一个止盈点 , 止盈点修改为第二个止盈点 .
3. 当行情盈利大于或等于第二个止盈点800毫点, 且小于 第三个止盈点900毫点时
止损点修改为第二个止盈点 , 止盈点修改为第三个止盈点 .
以此类推.
10H币有偿帮忙
https://www.eahub.cn/thread-80302-1-1.html |
|
|
|
|
DDD
这个h币拿来求用没有,你直接说多少钱叫别人帮你写还有希望,用h币做报酬谁会给你写 |
|
|
|
|
DDD
//+------------------------------------------------------------------+
//| MovingTakeProfit.mq5 |
//| Copyright 2023, |
//| |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023"
#property link "https://openai.com"
#property version "1.00"
#property strict
// 输入参数
input double TakeProfitDistance = 50; // 初始止盈距离(以点为单位)
input double TakeProfitStep = 10; // 移动步长(以点为单位)
// 全局变量
double g_takeProfitLevel = 0; // 止盈水平
//+------------------------------------------------------------------+
//| 根据价格移动止盈 |
//+------------------------------------------------------------------+
void MoveTakeProfit()
{
// 获取当前价格
double currentPrice = SymbolInfoDouble(_Symbol, SYMBOL_BID);
// 如果当前价格超过止盈水平,则更新止盈水平
if(currentPrice - g_takeProfitLevel >= TakeProfitStep)
{
g_takeProfitLevel += TakeProfitStep;
// 将止盈水平设置为新值
bool result = OrderModify(OrderTicket(), OrderOpenPrice(), g_takeProfitLevel, OrderStopLoss(), 0, CLR_NONE);
if(result)
{
Print("移动止盈至:", g_takeProfitLevel);
}
else
{
Print("移动止盈失败:错误代码", GetLastError());
}
}
}
//+------------------------------------------------------------------+
//| Expert Advisor初始化函数 |
//+------------------------------------------------------------------+
int OnInit()
{
// 获取当前订单的止盈水平
g_takeProfitLevel = OrderTakeProfit();
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert Advisor主函数 |
//+------------------------------------------------------------------+
void OnTick()
{
// 检查是否存在订单
if(OrderSelect(0, SELECT_BY_POS, MODE_TRADES))
{
// 检查订单类型和状态
if(OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber())
{
// 移动止盈
MoveTakeProfit();
}
}
}
//+------------------------------------------------------------------+
|
|
|
|
|
DDD
DDD
这个 ChatAPI 产生的代码太次了,如果这个活儿10H币,这个代码不值2H币,其完成了不足20%,而且有严重逻辑问题(例如只做多不做空、只能处理一个订单而不能处理多个订单,运行不起来,等等)。需要人工改 bug。 |
|
|
|
|
B