------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ //+------------------------------------------------------------------+ //| CloseTrades_After_Account_Profit_Reached.mq4 | //| Copyright © 2007, Tradinator | //| tradinator.fx@gmail.com | //+------------------------------------------------------------------+ #property copyright "Copyright © 2007, Tradinator" #property link "tradinator.fx@gmail.com" extern double My_Money_Profit_Target=100; //The amount of money profit at which you want to close ALL open trades. extern string Profit_Target= "Enter above To Close all OPEN trades when amount of profit is Reached in Account and not per OPEN trade! "; int Slippage=5; int i; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { if (AccountProfit()>= My_Money_Profit_Target) { for(i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); int type = OrderType(); bool result = false; switch(type) { //Close opened long positions case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink); break; //Close opened short positions case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink); } if(result == false) { Sleep(0); } } Print ("Account Profit Reached. All Open Trades Have Been Closed"); return(0); } Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ",AccountProfit(), "\nMy Account Profit Target: ",My_Money_Profit_Target); return(0); } ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
你好。
我在网上找到了这个脚本,非常感谢,版权归那个人所有。
我不懂编码,但谁能告诉我,这在平仓时是否考虑了 "SPREAD"?
以下是代码的复制粘贴
因为我不知道什么是编码或规则,我没有删除任何版权信息或他的电子邮件或类似的信息. 我希望我没有违反任何论坛规则:)
这里有一个代码,我甚至不确定它是EA还是SCRIPT ...
你好,Tatyawinchu。
提交的EA看起来并不适合你的目的。它是一种不完整的EA(专家)。
//+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+
该EA开始检查您的账户利润,如果利润在100以上,就关闭所有订单。
比方说,你有一个很好的交易,刚刚赚了200美元。你的账户利润是200。你开一个新的交易,然后运行这个EA。
从一开始,它就会检查账户是否处于盈利状态(这是以前的交易),如果是,它就会关闭交易。这不是好事。
你需要一个能监控订单利润并在达到目标时关闭订单的脚本。或者,如果你打算下一个以上的订单,它应该监控所有订单的利润总和。
你需要一个至少从你开始计算利润的东西,但最好是一个在下单时检查账户资产 并从那时起计算利润的EA。
你可以在论坛上搜索资金管理的EA或脚本,如果你没有找到你需要的东西,你可以在这里发布更多细节。
希望有帮助
嗨,tatyawinchu。
提交的EA看起来并不适合你的目的。它是一种不完整的EA(专家)。
该EA开始检查您的账户利润,如果利润在100以上,就关闭所有订单。
比方说,你有一个很好的交易,刚刚赚了200美元。你的账户利润是200。你开一个新的交易,然后运行这个EA。
从一开始,它就会检查账户是否处于盈利状态(这是以前的交易),如果是,它就会关闭交易。这不是好事。
你需要一个能监控订单利润并在达到目标时关闭订单的脚本。或者,如果你打算下一个以上的订单,它应该监控所有订单的利润总和。
你需要一个至少从你开始计算利润的东西,但最好是一个在下单时检查账户资产并从那时起计算利润的EA。
你可以在论坛上搜索资金管理的EA或脚本,如果你没有找到你需要的东西,你可以在这里发布更多细节。
希望有帮助
谢谢你的快速答复。
关于这个问题,还有几个简单的问题:-
交易风格: ......任何时候的最小交易量是1,任何时候的最大交易量是2......[不同的货币对] ......当我执行第一笔交易时,我将把EA/脚本打开。 现在,如果实现了X点的利润,我试图寻找EA,它将关闭订单,"在计算X时考虑买卖价差" 。
现在,如果我们在其他货币对上有另一个订单,那么总共有两个订单,当总利润达到X利润时,EA应该关闭这两个订单,而且必须考虑这两个订单的点差成本,并将X作为纯利润关闭。
例如......假设货币对A的点差是5点,货币对B的点差是10点......如果我在EA中设置在10点利润时退出,EA应该在考虑到15点的点差加上我的10点利润后退出......更清楚地说,它不应该在10点时关闭订单,因为15点的点差导致总的结果是-5。
这些东西在MT4中是可用的和可能的吗?
谢谢你,伙计。
谢谢你,伙计 :)
谢谢你的快速回复...
关于这个问题还有几个简单的问题:-
交易风格: ......在任何时候最小的交易是一个,最大的交易是两个......[不同的货币对] ......当我执行第一笔交易时,我将把EA/脚本打开......现在,如果实现了X点的利润,我试图寻找EA,它将关闭订单,"在计算X时考虑买卖点差"。
现在,如果我们在其他货币对上有另一个订单,那么总共有两个订单,当总利润达到X利润时,EA应该关闭这两个订单,而且必须考虑这两个订单的点差成本,并将X作为纯利润关闭。
例如......假设货币对A的点差是5点,货币对B的点差是10点......如果我在EA中设置在10点利润时退出,EA应该在考虑到15点的点差加上我的10点利润后退出......更清楚地说,它不应该在10点时关闭订单,因为15点的点差导致总的结果是-5。
这些东西在MT4中是可用的和可能的吗?
谢谢你,伙计。
是的,这是有可能的,因为每个货币对的点差是可变的,而且一个货币对的点差通常随着交易量的变化而变化。因此,你正在寻找一个脚本/EA来管理订单的利润,可能在不同的货币对上,以指定的利润退出每个订单,考虑到当时的点差。
我没有任何东西可以做到这一点,但我相信我们可以帮助你。 除非你想要一个定制的EA,并且愿意发布一个工作。
我会保持联系的。
我想你会发现,AccountProfit()
已经扣除了点差。
"已经扣除了点差"=? 对不起,英语不好。
我在文件网站上发现了这个
帐户利润
返回当前账户的利润值。
double AccountProfit(); |
返回的值
当前账户的利润值。
例子。
Print("Account profit ", AccountProfit())。 |
它没有说是否考虑点差或是否考虑...请帮助?
是的,它已经考虑了点差。
如果你有一个空头头寸,查看终端的交易窗口,在第二个价格栏下,你会看到Ask,这是用于OrderProfit的价格,点差已被允许。
是的,这是有可能的,因为每个货币对的点差是可变的,而且一个货币对的点差通常随着交易量的变化而变化。因此,你正在寻找一个脚本/EA来管理订单的利润,可能在不同的货币对上,以指定的利润退出每个订单,考虑到当时的点差。
我没有准备好任何东西来做这件事,但我相信我们可以帮助你。 除非你想要一个定制的EA,并且愿意发布一个工作。
我会保持联系的。
谢谢......非常清楚,非常有用......我想知道发布这样一份工作需要多少钱?你认为这样的代码会有多难?我从网上得到的代码,我已经张贴在上面,看起来很大......我的意思是,我真的不能掏出成千上万美元......。
谢谢......非常清楚,非常有用......我想知道发布这样一份工作需要多少钱?你认为这样的代码会有多难?我从网上得到的代码,我已经张贴在上面,看起来很大......我的意思是,我真的不能掏出几千美元......。
我想,你可以用20或30美元的价格得到这样的编码。
你好。
我在网上找到了这个脚本,非常感谢,版权归那个人所有。
我不懂编码,但谁能告诉我,这在平仓时是否考虑了 "SPREAD"?
以下是代码的复制粘贴
因为我不知道什么是编码或规则,我没有删除任何版权信息或他的电子邮件或类似的信息. 我希望我没有违反任何论坛规则:)
这里有一个代码,我甚至不确定它是EA还是SCRIPT ...
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//+------------------------------------------------------------------+
//| CloseTrades_After_Account_Profit_Reached.mq4 !
//| Copyright © 2007, Tradinator !
//| tradinator.fx@gmail.com | |
//+------------------------------------------------------------------+
#property copyright"Copyright © 2007, Tradinator"
#property link "tradinator.fx@gmail.com"
extern double My_Money_Profit_Target=100; //你想关闭所有未结交易的资金利润额。
extern string Profit_Target= "在上面输入,当账户中的利润达到时,关闭所有开仓交易,而不是每笔开仓交易!" 。
int Slippage=5;
int i;
//+------------------------------------------------------------------+
//| 专家初始化功能
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家的去初始化功能|
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{
如果(AccountProfit()>= My_Money_Profit_Target)
{
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS)。
int type = OrderType();
bool result = false。
switch(type)
{
//关闭已开立的多头头寸
case OP_BUY : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),Slippage,Pink) 。
休息。
//关闭已开的空头头寸
case OP_SELL : result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),Slippage,Pink) 。
}
if(result == false)
{
Sleep(0);
}
}
Print ("账户盈利已达,所有未结交易已关闭")。
return(0);
}
Comment("Balance: ",AccountBalance(),", Account Equity: ",AccountEquity(),", Account Profit: ", AccountProfit(),
"/nMy Account Profit Target: ",My_Money_Profit_Target);
return(0);
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果这不起作用,我正在寻找一种方法,在考虑到点差和其他因素后,在X点利润时关闭所有订单。
非常感谢。