




【MT4自動売買】期間限定!EA469本が無料で一括ダウンロード出来る!ロジックも全て公開!最初で最後の大盤振る舞い!
1本85円でEAが手に入ります!更にキャンペーン期間中なら全て無料で手に入れることも!
EA無料ダウンロード
永遠に放置できるわけではありません
裁量トレードほどには儲かりませんが、使い方によっては完全放置で利益が出ます。ですが、定期的なメンテナンス(パラメータ調整)はどうしても必要です。
「完全放置じゃないじゃん(゚Д゚)!」と言うツッコミありがとうございます。
【期間限定で完全放置】と言うことで勘弁してください。
投資は自己責任で
ご利用前に必ずご自身でデバッグ&バックテストしてください。公開しておいてなんですが、ロジックを参考にする程度に留めておくと幸せになれます。
免責や著作権について
免責:著作権は放棄していませんので商用利用不可。改造しての販売・再配布も不可。個人口座でのみ利用可。
また、ご利用されたことによるいかなる事態・結果についても責任は負いかねます。全て自己責任でお願いします。
ご注意:EAや自動売買に過度な期待をされている方、FXの世界に聖杯があると信じている方はこちらの記事も併せてご覧ください。
また、ご利用されたことによるいかなる事態・結果についても責任は負いかねます。全て自己責任でお願いします。
結論から言うと可能です。そんなことは20世紀からやっていることで、いまさら議論することでもないのですが・・・
期間限定のキャンペーンもやってます
【MT4自動売買】期間限定!EA469本が無料で一括ダウンロード出来る!ロジックも全て公開!最初で最後の大盤振る舞い!
1本85円でEAが手に入ります!更にキャンペーン期間中なら全て無料で手に入れることも!
コピペしてお持ち帰りください
※スパゲティなのは仕様です。ローカルにコピペでもしてご覧ください。
#define EA_MAGIC_NO 141401
#define D_NONE 0
#define D_BUY 1
#define D_SELL 2
#define D_OFF 0
#define D_ON 1
#define D_SUCCESS 1
#define D_COUNTING 2
#define D_FAILURE 3
#define D_C_DOWN 1
#define D_C_UP 2
#define D_A_UP 3
#define D_A_DOWN 4
/*****************************************
* グロバル変数
*****************************************/
//extern int EA_temp = 1;
int EA_OpenRangeHour = 10;
int EA_range_period=1;
int EA_entry_end = 16;//終了間近
int EA_close_hour = 3;
double EA_aValue=0.09;
double EA_cValue=0.26;
double EA_stop_rate = 4.05;
int EA_start_trail = 25;
int EA_stop_min = 30;//万が一のときのためのもの
int EA_stop_max = 140;//万が一のときのためのもの
int EA_posi_size = 0;
int EA_add_cnt = 12;
int EA_shadow_value = -23;
int EA_vola_cnt = 25;
double EA_trail_rate = 0.49;
double aValue=0.0;
double cValue=0.0;
bool OpenRangeInit=D_OFF;
double aUp=0;
double aDown=0;
double cUp=0;
double cDown=0;
double openRangeHigh;
double openRangeLow;
int aUpBefore=D_NONE;
int aDownBefore=D_NONE;
int cUpBefore=D_NONE;
int cDownBefore=D_NONE;
int aUpBars=0;
int aDownBars=0;
int cUpBars=0;
int cDownBars=0;
bool aUpUse=D_OFF;
bool aDownUse=D_OFF;
bool cUpUse=D_OFF;
bool cDownUse=D_OFF;
bool aUpFailUse=D_OFF;
bool aDownFailUse=D_OFF;
double g_stop_loss=0;
int slippage=3;
int g_TDM=0;
double EA_Lots = 1;
double G_Point=0;
int init()
{
if(Point==0.00001) G_Point=10*Point;
else
if(Point==0.0001) G_Point=1*Point;
slippage=slippage*G_Point;
return 0;
}
//+------------------------------------------------------------------+
//| Check for open order conditions |
//+------------------------------------------------------------------+
void CheckForOpen()
{
int lots=0;
int ticket=0;
double High_pre_1=0,Low_pre_1=0,High_pre_2=0,Low_pre_2=0,open_pre_1=0,close_pre_1=0,close_pre_2=0;
double openRangeVal=0;
if((Ask-Bid)>7*G_Point) return;
/************************
* 注文状況の確認
************************/
open_pre_1 = iOpen(NULL,PERIOD_D1,1);
close_pre_1 = iClose(NULL,PERIOD_D1,1);
High_pre_1 = iHigh(NULL,PERIOD_D1,1);
Low_pre_1 = iLow(NULL,PERIOD_D1,1);
close_pre_2 = iClose(NULL,PERIOD_D1,2);
High_pre_2 = iHigh(NULL,PERIOD_D1,2);
Low_pre_2 = iLow(NULL,PERIOD_D1,2);
if((close_pre_1-open_pre_1)>EA_shadow_value*Bid*G_Point)
{
displayAlert();
openRangeVal=(cUp-cDown);
/****************
* エントリー
****************/
//Cアップ
if(cUpUse==D_OFF && cUpBefore==D_SUCCESS)
{
g_stop_loss=cUp-openRangeVal*EA_stop_rate;
if((Ask-g_stop_loss)>EA_stop_max*Bid*G_Point)
{
g_stop_loss=Ask-EA_stop_max*Bid*G_Point;
}
else
if((Ask-g_stop_loss)<EA_stop_min*Bid*G_Point)
{
g_stop_loss=Ask-EA_stop_min*Bid*G_Point;
}
lots=1+(EA_posi_size*G_Point)/(Bid-g_stop_loss);
ticket=OrderSend(
Symbol(),OP_BUY,
EA_Lots*lots,
Ask,slippage,0,0,"141401",EA_MAGIC_NO,0,Blue);
if(ticket<0)
{
g_stop_loss=0;
Print("OrderSendError ",GetLastError());
}
//オーダーに成功
else
{
cUpUse=D_ON;
}
}
}
}
void CheckForClose()
{
int ii=0,jj=0; //カウンタ
int total=0; //オーダートータル
int order_flag=D_NONE;
int bar_count=0;
double volatility=0;
double stop_loss_new=0;
total=OrdersTotal();
if(total<=0) return;
for(ii=(total-1);ii>=0;ii--) //注文がある
{
order_flag=D_NONE;
if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)!=TRUE)
{
Print("OrderSelect ERROR",GetLastError( ));
return;
}
if(OrderSymbol()!=Symbol()) continue;
if(OrderMagicNumber()!=EA_MAGIC_NO) continue;
bar_count=iBarShift(NULL,0,OrderOpenTime(),false);
//stopが設定されていなければ設定する
if(OrderStopLoss()==0 && g_stop_loss!=0)
{
if(OrderModify(OrderTicket(),OrderOpenPrice(),g_stop_loss,0,0,White)!=TRUE)
{
Print("OrderModify ERROR ",GetLastError( ));
}
}
if(!(bar_count>1)) continue;
if(order_flag==D_NONE)
{
volatility=High[iHighest(NULL,0,MODE_HIGH,EA_vola_cnt,1)]-Low[iLowest(NULL,0,MODE_LOW,EA_vola_cnt,1)];
stop_loss_new=Bid-volatility*EA_trail_rate;
if(Bid-(OrderOpenPrice())>EA_start_trail*Bid*G_Point)
{
if(OrderStopLoss()<stop_loss_new && (Bid-stop_loss_new)>10*G_Point)
{
if(OrderModify(OrderTicket(),OrderOpenPrice(),stop_loss_new,0,0,White)!=TRUE)
{
Print("OrderModify ERROR ",GetLastError( ));
}
}
}
}
if(order_flag==D_NONE && OrderProfit()>0)
{
if(Hour()==EA_close_hour)
{
order_flag=D_BUY;
}
}
if(order_flag==D_BUY)
{
if(OrderClose(OrderTicket(),OrderLots(),Bid,10,Blue)!=TRUE)
{
Print("OrderClose ERROR",GetLastError( ));
}
}
}
}
void displayAlert()
{
double highest_val=0;
double lowest_val=0;
//本日、C点ピボットを付けた
if(cDownBefore==D_SUCCESS || cUpBefore==D_SUCCESS) return(D_NONE);
/******************************************************
* A,Cピボット確認処理
******************************************************/
//本日、A点ピボットを付けた
if (aUpBefore==D_SUCCESS || aDownBefore==D_SUCCESS)
{
if (aUpBefore==D_SUCCESS && cDown!=0 && Bid<cDown) cDownBefore=D_COUNTING;
else
if (aDownBefore==D_SUCCESS && cUp!=0 && Bid>cUp) cUpBefore=D_COUNTING;
}
else
//Aアップを超えた
if (aUp!=0 && Bid>aUp)
{
//Aアップ滞在カウント開始
if(aDownBefore==D_COUNTING) aDownBefore=D_FAILURE;
aUpBefore=D_COUNTING;
}
else
if (aDown!=0 && Bid<aDown)
{
if(aUpBefore==D_COUNTING) aUpBefore=D_FAILURE;
aDownBefore=D_COUNTING;
}
/******************************************************
* カウント処理
******************************************************/
//Aアップ確定待ち
if(aUpBefore==D_COUNTING)
{
//Aアップに失敗
if(Bid<aUp) aUpBefore=D_FAILURE;
else
{
aUpBefore=D_SUCCESS;
aUpBars=Bars;
}
}
if(aDownBefore==D_COUNTING)
{
//Aアップに失敗
if(Bid>aDown) aDownBefore=D_FAILURE;
else
{
aDownBefore=D_SUCCESS;
aDownBars=Bars;
}
}
if(cUpBefore==D_COUNTING)
{
//Cアップに失敗
if(Bid<cUp) cUpBefore=D_FAILURE;
else
{
cUpBefore=D_SUCCESS;
cUpBars=Bars;
}
}
if(cDownBefore==D_COUNTING)
{
//Cアップに失敗
if(Bid>cDown) cDownBefore=D_FAILURE;
else
{
cDownBefore=D_SUCCESS;
cDownBars=Bars;
}
}
}
int start()
{
double openRangeVal=0;
int bar_count=0,OpenRangeEndMinute=0,plus_hour=0;
int total=0,ii=0;
bool posi_flag=D_OFF,entry_flag=D_OFF;
if(Bars<100) return;
total=OrdersTotal();
for(ii=(total-1);ii>=0;ii--) //注文がある
{
if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)!=TRUE)
{
Print("OrderSelect ERROR A",GetLastError( ));
return 0;
}
if(OrderSymbol()!=Symbol()) continue;
if(OrderMagicNumber()!=EA_MAGIC_NO) continue;
posi_flag=D_ON;
bar_count=iBarShift(NULL,0,OrderOpenTime(),false);
if(bar_count<EA_add_cnt) entry_flag=D_ON;
}
OpenRangeEndMinute=(EA_range_period+1)*15;
plus_hour=OpenRangeEndMinute/60;
OpenRangeEndMinute=OpenRangeEndMinute-plus_hour*60;
//オープンレンジ算出時刻にピボットの計算も同時に行っておく
if(Hour()==(EA_OpenRangeHour+plus_hour) && Minute()==OpenRangeEndMinute && OpenRangeInit==D_OFF)
{
openRangeHigh = High[iHighest(NULL,0,MODE_HIGH,EA_range_period+1,1)];
openRangeLow = Low[iLowest(NULL,0,MODE_LOW,EA_range_period+1,1)];
openRangeVal=(openRangeHigh-openRangeLow);
aValue=openRangeVal*EA_aValue;
cValue=openRangeVal*EA_cValue;
aUp = openRangeHigh + aValue;
cUp = openRangeHigh + cValue;
aDown = openRangeLow - aValue;
cDown = openRangeLow - cValue;
aUpBefore=D_NONE;
aDownBefore=D_NONE;
cUpBefore=D_NONE;
cDownBefore=D_NONE;
aUpUse=D_OFF;
aDownUse=D_OFF;
cUpUse=D_OFF;
cDownUse=D_OFF;
aUpFailUse=D_OFF;
aDownFailUse=D_OFF;
OpenRangeInit=D_ON;
for(ii=0;ii<=Day();ii++)
{
//iTimeはbarの開始時刻を返すので、先月のbarになった時点でループから抜ける
if(TimeMonth(iTime(NULL,PERIOD_D1,ii))==Month())
{
}
else
{
break;
}
}
g_TDM = ii;
}
else
if(!(Hour()==EA_OpenRangeHour && Minute()<=OpenRangeEndMinute))
{
//注文が無い時だけエントリー処理
if(entry_flag==D_OFF)
{
if(Hour()<=EA_entry_end)
{
if(DayOfWeek()==3 || DayOfWeek()==4 || DayOfWeek()==5)
{
if(g_TDM != 2 && g_TDM != 18 && g_TDM != 11 && g_TDM != 10 && g_TDM != 6 && g_TDM != 8 && g_TDM != 22 && g_TDM != 20 && g_TDM != 3)
{
if(Month() != 11)
CheckForOpen();
}
}
OpenRangeInit=D_OFF;
}
}
}
if(posi_flag==D_ON)
{
CheckForClose();
}
return 0;
}
//+------------------------------------------------------------------+





ちゅーとちゃの手法&ルール全て。最も効率よくプロのスキルを身に着けるメソッド。
リアルチャート解説動画が全て無料!
無料で配布しているトレード本を見つけたので紹介しておきます。サンプルもあります。
【期間限定】ちゅーとちゃオリジナルのEA469本が無料!パンローリングの本100冊分の手法/全ロジック公開
パンローリングの本100冊分の手法が盛り込まれています。無料でゲット出来る期間限定キャンペーン実施中!