EA不具合の修正(ニャン吉CFD-SMA)

前回の記事で報告していたEAの不具合を修正しました。
それに伴いコード公開のページでもEAコードを不具合修正済みの物へ入れ替えました。
念の為このページの下にも修正済みのコードを貼りつけておきます。

不具合の原因はiMA引数設定で終値の代わりに始値を使ってしまった事です。
よくよく読み返してみると移動平均線のiMA関数の引数設定が間違っていることは明らかだったんですよね。
恥ずかしい限りです(ノ_く。)

そしてこんないい加減なEAでも今のところは勝てています。
こればかりは運なのでしょうか。
いえ^^きっと日頃の行いが良いからですね!

ともあれ昨晩の値動きでも挙動がおかしかったので、もしかして終値を拾っていないのでは?と思いコードを見直してみると・・・その通りでした。
確かこのEAを作っていた当時はせめて1SMAだけでもPRICE_MEDIANを使っておいたほうが平均値になっていいのでは?と悩んでいたんです。
それがなぜかPRICE_OPEN、本当に何ででしょう?
しかも50SMAはPRICE_CLOSEで入力していたつもりでしたが、こちらもPRICE_OPENになっていました。

結果として不具合は修正されたのですが・・・昨晩のSP500値上がり中にこの作業をしていたので、中途半端に余り良くない場所でエントリーをしてしまいました。
このあと上がるか下がるかなんて誰にも分らない事ではありますが、一応下げに備えているニャン吉としては不満のあるエントリーとなってしまいました。
ああ(ノ_く。) これで年末は負けて終わるのでしょうか?
とりあえず1000pointsほど上がってほしいですね・・・

 

//+------------------------------------------------------------------+
//|                                                     ニャン吉CFD-SMA |
//|                         商用利用及び再配布を禁じます,c2021.8,ニャン吉ちゃんねる|
//|                                          https://ニャン吉ちゃんねる.com |
//+------------------------------------------------------------------+
#property copyright   "商用利用及び再配布を禁じます,c2021.8,ニャン吉ちゃんねる"
#property link        "https://ニャン吉ちゃんねる.com"

input int Magic =11;
input double Lot =10;
input double MAPeriod =50;
input double TakeProfit =1000;
input double StopLoss =1000;

   int CurrentOrder()
    {
   int cnt=0; 
   for(int i=0;i<OrdersTotal();i++) {   
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=Magic) continue;     
      if(OrderType()==OP_BUY) {
         cnt++;
      }
      if(OrderType()==OP_SELL){
         cnt++;
      }   
    }
    return(cnt);
    }   

void OnTick(void)
  {
   double MA50c,MA50p,MA1c,MA1p;
   int    ticket;

   MA50c=iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,0);
   MA50p=iMA(NULL,0,MAPeriod,0,MODE_SMA,PRICE_CLOSE,1);  
   MA1c=iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,0);
   MA1p=iMA(NULL,0,1,0,MODE_SMA,PRICE_CLOSE,1);

   if(CurrentOrder()<1)
     {   
    if(MA1p<=MA50c && MA50c<MA1c && MA50p<=MA50c)
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,30,Ask-Point*StopLoss,Ask+Point*TakeProfit,NULL,Magic,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("BUY order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening BUY order : ",GetLastError());
         return;
        }
      return;
     }       
    }

11月のFX-85,542JPY

日記というには日が空いてしまいました(ノ_く。)
11月の短期FXは負けました。
負けから逃げるために(気分転換に)ネトゲしていたらハマってしまいました^^;

短期トレードはどうしてもポジションを持とうとするプレッシャーを感じてしまうみたいで勝負を仕掛けがちです(ノ_く。)
5分足はニャン吉には合わないみたいなので時間足を引き上げていきます。
あと無理にポジションを持とうとしないようにするので、週によってはポジション無しの週も12月は出てくるかもしれません。
少しのんびり取り組みたいので来月からは毎週報告ではなく月毎の報告へ変更したいと思います。

最後の週は11月分としては11月29日~30日と2日間だけなので、このページの下に週結果も貼りつけておきます。
長期FXは完全にEAに切り替えてしまいましたが、勝率100%を維持しています。但し来年には少し構成を変更してみようと考えています。
CFDのEAは勝ちを拾えましたが不具合も見つかりました。現在対処中ですが解決策が見つかりません・・・ → 不具合の修正を済ませました
個別株は年末に向けて更に整理しています。暴落はするとしても来年だと思うのですが嫌な材料ばかり揃ってきました・・・

11月1日~5日 短期FX(OandaMT4)-7,270JPY / 長期FX(楽天MT4)EA+943JPY
短期FX 取引数:56
勝ち:39
負け:17
±0:2
(指値の取消:17)
勝率:69.642%
確定損益:マイナス7,270円
総利益:104,630円
総損失:111,900円

11月8日~12日 短期FX(OandaMT4)+12,400JPY / 長期FX(楽天MT4)EA±0JPY
短期FX取引数:12
勝ち:12
負け:0
±0:0
(指値の取消:0)
勝率:100%
確定損益:プラス12,400円
総利益:12,400円
総損失:0円

11月15日~19日 短期FX(OandaMT4)-6,454JPY / 長期FX(楽天MT4)EA+716円
短期FX取引数:23
勝ち:22
負け:1
±0:0
(指値の取消:8)
勝率:95.652%
確定損益:マイナス6,454円
総利益:14,196円
総損失:20,650円

11月22日~26日 短期FX(OandaMT4)-77,211JPY / 長期FX(楽天MT4)EA+1,721JPY
短期FX取引数:25
勝ち:17
負け:8
±0:0
(指値の取消:1)
勝率:68.0%
確定損益:マイナス77,211円
総利益:81,299円
総損失:158,510円

11月29日~30日 短期FX(OandaMT4)-10,387JPY / 長期FX(楽天MT4)EA±0JPY
短期FX取引数:6
勝ち:4
負け:2
±0:0
(指値の取消:1)
勝率:68.0%
確定損益:マイナス15,077円
総利益:4,690円
総損失:10,387円

29日~30日分
29日~30日分

今週のFX(11月22日~26日)

短期FX(OandaMT4)-77,211JPY

金曜日の動きは凄かったですね。
ついUSDJPYとGBPUSDで勝負に出てしまいました・・・そしてUSDJPYで負けてしまいました。

エントリー時は夕方5時台の1時間足で大きく下髭を付けて戻って上昇していたこと・キャンドルボディは日足の平行チャネル下限内で上昇していたこと・良いRSI反転サインがあったことと言い訳のように当時の根拠を並べてみても結果は逆でした(ノ_く。)
逃げる機会はいくらでもあったのに下髭下に置いた逆指値まで粘ってしまいました。
一方GBPUSDは適当な日足抵抗線で利確して逃げています。

今回の下げの理由としては欧米での新型コロナ患者急増とコロナ変異株オミクロンの症例発表なのですが、南アフリカの新変異株の存在自体はかなり前から指摘されていませんでしたか?
患者の急増にしても数週間あるいは数か月前からの事なので、この日の相場急変動の理由付けとしては疑問があります(COVID-19 Coronavirus 2019-nCov Statistics Update (virusncov.com))。
あとこれまでの名前の通例(“ミュー株”とは コロナ変異株 最新情報まとめ | NHKニュース)から離れた変異株命名(新コロナ変異株の「オミクロン」の命名 WHOが中国に配慮し原則曲げたか – ライブドアニュース (livedoor.com))にも違和感があります。

とりあえず現実問題としてFXだけでなく株価下落もあったので、そちらでも影響を受けています^^;
実は年末に向けて少しずつ株のポジションを減らして利確を進め始めていたところだったのですが、今回の下落で一旦中止です。
これが暴落の始まりなら急いで利確を進めるところですが、調整で終わってしまう可能性もあります。
週明けの動きがとても気になっています(ノ_く。)

総取引数:25
勝ち:17
負け:8
±0:0
(指値の取消:1)
勝率:68.0%

確定損益:マイナス77,211円
総利益:81,299円
総損失:158,510円

金曜日を除いては相変わらずのやる気の無さで、そろそろ短期FXにも飽きてきているのかもしれません。
実は楽天MT4でつかっているEAとは別のEAを作成していまして、そちらを稼働させるMT4アカウントを探しています。
どうしても国内業者でMT4アカウントを増やせない場合には、このOandaMT4を再度EAアカウントとして運用するかもしれません^^;;
そうなったら短期FXは休止ですね・・・

 

長期FX(楽天MT4)EA+1,721JPY

言うまでもなく、こちらでは勝率100%を維持しています。
ただ最近スワップ加算で行数を取られなくなってきたことに疑問がありました。
そして確かめてみたところ・・・なんとスワップポイントが無くなっていました!

これは・・・最早毎週報告せずとも年末報告だけで充分になるのではないか?とも思いつつも、この状況がいつまでも続くという訳でもないので止めておきます。
そして肝心のFX成績ですが・・・2件だけ利確がありました。

相変わらず金額がしょぼいです(ノ_く。)
でもこれも実験です。
次の改善点を探せばいいだけなので個人的には満足しています。