金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2149|回复: 3

马丁策略转换成金字塔版

[复制链接]

129

主题

213

帖子

223

积分

Rank: 7Rank: 7Rank: 7

等级: 版主

注册:
2021-5-25
曾用名:
发表于 2023-6-19 09:17 | 显示全部楼层 |阅读模式
//去掉了全局变量设置。
//去掉了加仓方案设置,加仓方案按照数组里面设置。
//增加了停止开新仓的设置,意思是当前一波结束了不再下单。
//ea运行途中可随时设置参数,不会影响运行效果。
#property version "1.00"
#property description "间隔:0, 20,20,15,15,20,20,30。"
#property description "倍率:1, 2, 1, 2, 1, 3, 2, 4。"
#property description "最大交易量5手,大于5手不开仓。"
#property strict
//-------------------------------------------------------------------
input int Magic=1800; //魔术码
input bool IsStop=false; //当前一波结束是否停止
input double lots=0.01; //初始手数
//-加仓时的间隔点数,数组从0开始
int Interval_Pips[20]= {0, 20,20,15,15,20,20,30};
//-加仓时的交易量倍数
int Interval_Lots[20]= {1, 2, 1, 2, 1, 3, 2, 4};
int slippage=3;
input int TP=300; //止盈点数
input int SL=2000;//止损点数
//止损点数为第一单的止损点数计算出来的价格作为每一单的止损价。加仓的时候会考虑下单价格距离止损价太近就不加仓。
string comt="WinKey->";
int i,db=1;
int Digitslots;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//----
double minlot=MarketInfo(Symbol(),MODE_MINLOT);
if(minlot==0.001) Digitslots=3;
if(minlot==0.01) Digitslots=2;
if(minlot==0.1) Digitslots=1;

if(MarketInfo(Symbol(),MODE_DIGITS)==5 || MarketInfo(Symbol(),MODE_DIGITS)==3)
{
Print("五位小数平台.");
db=10;
}
else Print("四位小数平台.");
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//----
Comment("");
//----
return;
}
//+------------------------------------------------------------------+
//| expert start function |
//+-------------------------------------------
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-19 11:01 | 显示全部楼层
最好提供一个文字版的需求描述。因为上面代码是其他平台的。并且和PEL明显不是同一种类型的语法规范。我们无法确定我们对这个代码的解读是否符合这个策略思路的原始需求。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

129

主题

213

帖子

223

积分

Rank: 7Rank: 7Rank: 7

等级: 版主

注册:
2021-5-25
曾用名:
 楼主| 发表于 2023-6-19 12:57 | 显示全部楼层
马丁策略各参数解释:
首单金额:第一单的开仓金额,后续每单的开仓金额,会以【首单金额】作为基数进行计算
金额追投倍数:追投金额是上一单金额的倍数
举例:假设第一单开仓金额为100,追投倍数为2倍.
则第二单开仓金额为100*2=200
第三单开仓金额为100*2*2=400
第四单开仓金额为100*2*2*2=800
第五单开仓金额为100*2^4=1600
以此类推.....
L追投反弹比例:从开仓后的价格最低点向上反弹一定比例则开始触发一次追投
举例:设置比例为1%
开仓后策略开始监控行情价格,当行情价格从开仓后的最低价格向上反弹1%,则开始进行设定比例的追投操作
L追投间隔:价格必须低于上一单追投价的一定比例
举例:追投间隔设置为1%
如设置了追投间隔,开仓后行情价格下跌必须达到1%,才会进行追投操作,此参数为风控参数可自行设定,可以根据实际情况对相关币种的波动设置合理的参数值
H追踪止盈间隔:当行情价超过持仓均价的一定比例则进入追踪止盈状态
举例:设置为1%
当行情价格上涨超过持仓均价的1%,则开始进入追踪止盈状态
H止盈回撤比例:当进入追踪止盈状态,行情价下跌一定比例则触发平仓操作
举例:设置为1%
当行情价格上涨已经超过均价的10%,此时行情回调1%则卖出持有仓位
最大做单数量:最多补仓多少次
用来作为风控参数,避免极端行情,达到设定补仓次数则策略暂停
实测JST和LINK两组交易,使用马丁策略交易18天的数据:
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-6-19 14:57 | 显示全部楼层
你这个思路,我们需要花费一定时间整理下。  如果可以编写,我们会在这里明确回复的。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-6-15 02:15 , Processed in 0.151751 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表