FXやその他投資についてのつれづれです
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
こんばんは(*'-')
GWは楽しめましたでしょうか? 私はなぜか普通に仕事でした(つд・) おかしい・・・ 少なくてもカレンダ通りに休めたはずなのに・・・ さてさて、窓明けEAですが、最近デモ口座で調子が良かったので とうとうリアル口座でデビューさせてみました(・∀・) わくわくどきどきして5月4日を迎えたらエラーログに132ってエラーが出たんですね なんだこれ?と思って調べてみたら 「市場が閉じている」 ですって・・・ チャートは動いているのに、市場は閉じているってどういうことなんでしょ? (121証券のHPには、夏時間は朝6時から使えそうなのにねぇ・・・) 仕方ないので、何かしらのチェックできる関数を調べて、窓明けEAに追加しました ソースはこちら→ダウンロード(mq4) 使えそうなチェックは追加したから、今度の月曜朝にどうなるかですねぇ これでだめなら、他の会社の口座を開くか、月曜朝にちゃんと早起きして 手動でポジションをもつか・・・ (でも朝6時にちゃんと成行できるFX業者ってあるのかな?) 明日の朝6時はたしてどうなるか!!(*´Д`*) PR
こんばんは(*'-')
レンジ相場用の逆バリ手法で何か良いの無いかな?と思っていたら、 Pivotっていうのを見つけましたよ(・∀・) なんでも、前日までの価格を元に当日の価格幅を計算して逆バリするみたいです 実際の算出式はぐぐって見てください(・∀・)b 他のルールとしては ・前日の値幅が、過去7日間の値幅より小さい場合はエントリーしない ・原則、月曜日はエントリーしない というのがある模様です そんなこんなで作成したEAがこちら→ダウンロード(mq4) 単純だからEAの解説は無しw そしてドル円でバックテストをした結果は・・・ あっれぇ!?∑( ̄□ ̄;)
こんばんは(*'-')
今までいくつかEAを作ってきましたけど、どれもテクニカル分析の関数 を使ってこなかったので、今回お試しでテクニカル分析を使ったEAを作成してみました EAのロジックはシュワッガーさんの本にのっていたこんなロジックです(・∀・) 1.チャートの価格が移動平均線を上回ったら買い 2.チャートの価格が移動平均線を下回ったら売り 3.移動平均線が買い/売りと同じ方向 これだけです トレンドフォローなロジックらしいですけどねぇ・・・ そんなわけで作成したソースがこちら→ダウンロード(mq4) メイン部分は、時間足が変わったら、各関数を読んでるだけですね ------------------------------------------------------------------------------------ call_Ma(); call_Filter(); call_MM(); call_PositionChk(); call_Trade(); ------------------------------------------------------------------------------------ call_Ma()関数は移動平均の関数を呼び出して、価格と比較しています ------------------------------------------------------------------------------------ dMa = iMA(NULL,0,iMa_Period,iMa_Shift,iMa_Method,iApplied_Price,1); //価格がMAを上回ったら買いフラグを立てる if(dMa <= Close[1]){ bMa_Buy = true; }else{ bMa_Buy = false; } //価格がMAを下回ったら売りフラグを立てる if(dMa >= Close[1]){ bMa_Sell = true; }else{ bMa_Sell = false; } ------------------------------------------------------------------------------------ iMAていうのが、MT4で準備された移動平均を算出する関数です。 パラメータの1つめは通貨、2つ目は時間足ですけど、EAが稼動するチャート と同じものを使う場合はNULLや0で問題なしです(・∀・) b 3つ目からは、実際の移動平均のパラメータになります 最後のパラメータは、何本前の足を使って計算するかを指定しています。 今回は1本前の足ですね そうやって出した移動平均の値と1本前のクローズ価格と比較して売り買いフラグ を立てています call_Filter()関数は移動平均が右肩上がりか下がりかを判定してフラグを立てます ------------------------------------------------------------------------------------ double dMa_1 = iMA(NULL,0,iMa_Period,iMa_Shift,iMa_Method,iApplied_Price,1); double dMa_2 = iMA(NULL,0,iMa_Period,iMa_Shift,iMa_Method,iApplied_Price,2); //Maの値が右肩上がりなら買いフラグを立てる if(dMa_2 < dMa_1){ bFilter_Buy = true; }else{ bFilter_Buy = false; } //Maの値が右肩下がりなら売りフラグを立てる if(dMa_2 > dMa_1){ bFilter_Sell = true; }else{ bFilter_Sell = false; } ------------------------------------------------------------------------------------ 1本前と2本前の移動平均を算出して、大小でフラグを立てております(*'-') MMの関数はいつも出しているからスルーして・・・ call_PositionChk()は、すでに持っているポジションを特定して 買い増しや売り増しをしないようにフラグを立てます ------------------------------------------------------------------------------------ // 持っている注文数を取得 int iTotal = OrdersTotal(); // 注文があればポジションクローズと注文のキャンセルを実施 if(iTotal > 0){ for(int i = iTotal -1; i >= 0; i-- ){ // オーダー特定 bool bSelected = OrderSelect(i, SELECT_BY_POS, MODE_TRADES); // マジックNoを判定して、自分が出したオーダーかチェック if(bSelected == true && OrderMagicNumber() == iMagicNo){ // オーダーの種類を特定 int iType = OrderType(); switch(iType){ // Longポジション case OP_BUY: bPosition_Sell = false; bPosition_Buy = true; break; // Shortポジション case OP_SELL: bPosition_Sell = true; bPosition_Buy = false; break; } } } } ------------------------------------------------------------------------------------ 他の部分からソースコピーして改良しただけだから、コメントがおかしい(;'-') 基本として、同時には1つしかポジションを持たないようにするための配慮です call_Trade()関数は実際の売買部分です 今までの関数で設定されたフラグを判定して売りポジションなりをとっていきます ------------------------------------------------------------------------------------ // 買い注文 if(bMa_Buy == true && bFilter_Buy == true && bPosition_Buy == false){ // まずは既存のエントリをクローズする Ordclose(); // 買い注文 Aki0307_OrderSend(Symbol(), OP_BUY, dEntry_Lots, Ask, iSlip, 0.0, 0.0, "買い注文", iMagicNo, 0, Blue); } // 売り注文 if(bMa_Sell == true && bFilter_Sell == true && bPosition_Sell == false){ // まずは既存のエントリをクローズする Ordclose(); // 買い注文 Aki0307_OrderSend(Symbol(), OP_SELL, dEntry_Lots, Bid, iSlip, 0.0, 0.0, "売り注文", iMagicNo, 0, Blue); } ------------------------------------------------------------------------------------ ああ、今見てみるとやっぱりコメントが・・・・ フラグが立っていて、ポジションを持っていないときにその方向に向かってエントリーします。 どてんなので、注文出す前に既存のポジションを閉じます さてさて、こんなんでできたEAですが、ドル円日足でバックテストしてみましたよ(・∀・) おおお!∑( ̄□ ̄;) 予想外にすばらしい結果に驚きですねヽ( ゚∀゚)/
こんばんは(*'-')
今まで使っていたEAがどうにも利益を上げてくれないので 新しいEAを作ってみましたよ(・∀・) EAのソースファイルはこちら→ダウンロード(mq4) どんなEAかといいますと・・・ 週明けに窓が開いたら、成行でエントリーしてリミットを窓が埋まるポイントにしているだけです(・∀・) FXはじめてから、ずっと思っていたんですけど、窓ってほぼ埋まる感じがしていたんですよねー。 さてさて、EAをドル円でバックテストしてみた結果がこちら 一発の負けが大きいですが、9割以上の勝率を誇っています!ヽ( ゚∀゚)/ 今週も実行していれば利益出ていましたし、なかなかよさそうなEAが出来上がりました(・∀・)b 他の通貨ペアとかも検証しつつ、デモ口座でフォワードテストしていきますよ(*'-')
こんばんは(*'-')
前回上げた成行売買対応EAが実はバグっていました(;'-') どうやらMM機能をONにしていると決済注文がうまく通らない時があります そこで今回はそのバグを修正するのと、EAの状態を表示するために チャート上にコメントを表示するようにしてみましたよ(・∀・) ソースファイルはこちら→ダウンロード(mq4) バグの修正部分としては、エントリーしたときのロット数を変数に 保存するようにしておきました。 コメント表示としては Aki0307_PrintDetails という関数を作ってTickが動くたびに表示したい変数をチャート上に 表示させています。 トレールを使って決済しているので、仕事から帰ってきてポジションを持ってた 時に、いったいリミットがいくつかよくわからなかったんですよねー(・∀・) それにしても、このEAをずっとデモ口座でフォワードしてるんですけど 現時点で1度破産して、今も損失中です(;'-') 大体の機能とかは追加したし、そろそろ新しいEAロジックでも考えてみますね(・∀・) |
カレンダー
カウンター
プロフィール
投資は自己責任・自己判断で実施するようお願いいたします。
ここの情報を見て損失が発生しても責任は負えませんのでご注意してください
HN:
Aki
性別:
男性
最新コメント
[06/06 fxjol]
[02/18 FXに人生を賭ける男]
[01/01 Aki]
[01/01 Aki]
[12/31 FXに人生を賭ける男]
最新記事
ブログ内検索
最新トラックバック
アクセス解析
|