コーディングの方法は? - ページ 223 1...216217218219220221222223224225226227228229230...347 新しいコメント Mladen Rakic 2009.12.12 15:15 #2221 ... 私は(csvファイルに値を書き込むあなたのEAを見ることができないので)あなたが1つのFileFlush()を欠いていることを考える。ファイルを閉じることなく、「他の人」からすぐにアクセスできるようにしたい場合(暗黙のうちにフラッシュを使用している )には、常に変更をディスクにフラッシュする必要があります。 よろしくお願いします。 mladen sunshineh: こんにちは。CSVファイルを扱うEAを書いています。 テスト用にCSVファイルを以下のフォルダに置いています。 /tester/files これは私のEAからのほんの一部です。 int handle = 0; int Long = 0; handle=FileOpen("LongMarket.csv",FILE_CSV|FILE_READ,';'); if (handle > 0) { Long= FileReadNumber(handle); FileClose(handle); } Print("LongMarket = ", Long); Print("Long handle = ", handle); 私のEAでは、CSVファイルを読み込んで、いくつかの整数を書き込んでいます。 今、私がテストを行い、ジャーナルで「印刷」メッセージを読むと、しばしばCSVファイルにもう書き込まれていない古い整数が表示されるのです! 例えば 最初に3が書き込まれ、EAが動作して0をファイルに書き込んだ。 そのCSVファイルには3しか表示されない。 そのCSVファイルを消去して、3の入った新しいCSVファイルを" /tester/files "フォルダに入れると、以前のテストから0しか読めなくなります!!!!でも、EAがどこで0を読み取るのかがわからない!!!! 私は気が狂いそうです!!!!!!! 私の質問を理解し、ヒントを与えてくれることを期待します! 削除済み 2009.12.15 08:56 #2222 警告機能を追加したいのですが、どなたか教えてください。 このインジケーターのアラーム機能、カラーアラームを追加したいのです。長い間、"if alarm "を使って試してみましたが、成功したことがありません。どなたか助けていただけませんか?ありがとうございました。~ 英語は苦手なので、申し訳ありません。 #property indicator_chart_window です。 #プロパティ indicator_buffers 4 #property indicator_color1 フォレストグリーン #property indicator_color2 Red(インジケーターカラー2 レッド #property indicator_color3 ブラック #property indicator_color4 ブラック //---- 入力パラメータ extern int FastClosePeriod=13; extern int FastCloseShift=0; extern int FastOpenPeriod=34; extern int FastCloseShift=0; extern int FastOpenPeriod=34; extern int FastOpenShift=0; extern int SlowClosePeriod=34; extern int SlowCloseShift=0; extern int SlowOpenPeriod=62; extern int SlowOpenShift=0; //----インジケータ・バッファ double ExtBlueBuffer[]; double ExtRedBuffer[]; double ExtDarkVioletBuffer[]; double ExtDarkVioletBuffer[]; double ExtBlackBuffer[]; //+------------------------------------------------------------------+ //| カスタムインジケータ初期化関数 //+------------------------------------------------------------------+ int init() { //---- 描画時のラインシフト SetIndexShift(0,FastCloseShift)を設定します。 SetIndexShift(1,FastOpenShift)を設定します。 SetIndexShift(2,SlowCloseShift)を設定します。 SetIndexShift(3,SlowOpenShift)を設定します。 //---- 最初の位置は描画時にスキップされる SetIndexDrawBegin(0,FastCloseShift+FastClosePeriod)を設定します。 SetIndexDrawBegin(1,FastOpenShift+FastOpenPeriod)を設定します。 SetIndexDrawBegin(2,SlowCloseShift+SlowClosePeriod); SetIndexDrawBegin(2,SlowCloseShift+SlowClosePeriod); SetIndexDrawBegin(3,SlowOpenShift+SlowOpenPeriod)を設定します。 //---- 3つの指標バッファのマッピング SetIndexBuffer(0,ExtBlueBuffer)を設定します。 SetIndexBuffer(1,ExtRedBuffer)を設定します。 SetIndexBuffer(2,ExtDarkVioletBuffer)を設定します。 SetIndexBuffer(3,ExtBlackBuffer)を設定します。 //---- 描画の設定 SetIndexStyle(0,DRAW_HISTOGRAM,0,2)を設定します。 SetIndexStyle(1,DRAW_HISTOGRAM,0,2)を設定します。 SetIndexStyle(2,DRAW_NONE,0,2)を設定します。 SetIndexStyle(3,DRAW_NONE,0,2); //---- インデックスラベル SetIndexLabel(0, "FastClose"); SetIndexLabel(1, "FastOpen"); //SetIndexLabel(1, "FastOpen")。 SetIndexLabel(2, "SlowClose"); SetIndexLabel(1, "FastOpen"); SetIndexLabel(3, "SlowOpen"); SetIndexLabel(3, "SlowOpen"); //---- 初期化完了 return(0); } //+------------------------------------------------------------------+ //| 9SQUAREDER|9SQUAREDER|9SQUAREDER|9SQUAREDER|トレーダー //+------------------------------------------------------------------+ int start() { int limit; int counted_bars=IndicatorCounted(); //エラーの可能性をチェック if(counted_bars<0) return(-1); //---- 最後にカウントされたバーが再カウントされる if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; //---- メインループ for(int i=0; i<limit; i++) { //---- SetIndexShift が呼び出されたので ma_shift を 0 にする. ExtBlueBuffer=iMA(NULL,0,FastClosePeriod,0,MODE_EMA,PRICE_CLOSE,i)となります。 ExtRedBuffer=iMA(NULL,0,FastOpenPeriod,0,MODE_EMA,PRICE_OPEN,i); ExtRedBuffer=iMA(NULL,0,FastOpenPeriod,0,MODE_EMA,PRICE_OPEN,i); ExtDarkVioletBuffer=iMA(NULL,0,SlowClosePeriod,0,MODE_EMA,PRICE_OPEN,i); ExtDarkVioletBuffer=iMA(NULL,0,SlowClosePeriod,0,MODE_EMA,PRICE_OPEN,i); ExtBlackBuffer=iMA(NULL,0,SlowOpenPeriod,0,MODE_EMA,PRICE_MEDIAN,i) とします。 } //----完了 return(0); How to code? [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 コーディングのヘルプが必要 TTheTrader 2009.12.16 18:48 #2223 wolfe 2009.12.17 02:54 #2224 ファイル: example.gif 12 kb example.mq4 3 kb TTheTrader 2009.12.17 12:16 #2225 wolfe: はい、どうぞ。 これは本当に素早く作りました、はい、できます。コーディングの例として、添付のexample.mq4をご覧ください。 また、コメント付きのスクリーンショットが含まれており、RSI値が配列にティックごとに保存されていることがわかります。 wolfeさん、こんにちは。 タイマーと努力に感謝します。これを試してみます。 よろしくお願いします。 MSV TTheTrader 2009.12.18 02:10 #2226 achewz 2009.12.18 17:49 #2227 ボリンジャーバンド こんにちは。 誰かがExcelスプレッドシートにボリンジャーバンド計算式(終値で20period dev 2)で私を助けてもらえますか? 事前にありがとうございます。 削除済み 2009.12.23 06:42 #2228 こんにちは、皆さん! 私のEAでは、「1日に1つの売買注文」だけを開く必要があるのですが、これを行うためのコードを教えてください。 increase 2009.12.23 07:28 #2229 Apolofx: こんにちは!私は私のEAで "1日あたり "1つの売買注文を開く必要があります、お願いします、これを行うためのコードは何ですか? すべてのクローズド・オーダーをループして、それぞれのシンボルとクローズ時間をチェックする必要があると思います...シンボル()にマッチし、最新のクローズ時間を持つものを取ります。 luxinterior 2009.12.23 10:08 #2230 あるいは、もっと簡単な方法として、TimeDayOfYear関数を使って、シンボルとマジックナンバーが一致する最後のクローズドオーダーをチェックすればよいでしょう。 ただし、今日と同じ年の同じ日でないことを確認してください。 TimeDayOfYearの定義と使用方法については、ヘルプを参照してください。 参考 ラックス 1...216217218219220221222223224225226227228229230...347 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
...
私は(csvファイルに値を書き込むあなたのEAを見ることができないので)あなたが1つのFileFlush()を欠いていることを考える。ファイルを閉じることなく、「他の人」からすぐにアクセスできるようにしたい場合(暗黙のうちにフラッシュを使用している
)には、常に変更をディスクにフラッシュする必要があります。
よろしくお願いします。
mladen
こんにちは。
CSVファイルを扱うEAを書いています。
テスト用にCSVファイルを以下のフォルダに置いています。
/tester/files
これは私のEAからのほんの一部です。
int handle = 0;
int Long = 0;
handle=FileOpen("LongMarket.csv",FILE_CSV|FILE_READ,';');
if (handle > 0)
{
Long= FileReadNumber(handle);
FileClose(handle);
}
Print("LongMarket = ", Long);
Print("Long handle = ", handle);私のEAでは、CSVファイルを読み込んで、いくつかの整数を書き込んでいます。
今、私がテストを行い、ジャーナルで「印刷」メッセージを読むと、しばしばCSVファイルにもう書き込まれていない古い整数が表示されるのです!
例えば
最初に3が書き込まれ、EAが動作して0をファイルに書き込んだ。
そのCSVファイルには3しか表示されない。
そのCSVファイルを消去して、3の入った新しいCSVファイルを" /tester/files "フォルダに入れると、以前のテストから0しか読めなくなります!!!!でも、EAがどこで0を読み取るのかがわからない!!!!
私は気が狂いそうです!!!!!!!
私の質問を理解し、ヒントを与えてくれることを期待します!警告機能を追加したいのですが、どなたか教えてください。
このインジケーターのアラーム機能、カラーアラームを追加したいのです。長い間、"if alarm "を使って試してみましたが、成功したことがありません。どなたか助けていただけませんか?ありがとうございました。~ 英語は苦手なので、申し訳ありません。![](https://c.mql5.com/forextsd/smiles/rolleyes2.png)
#property indicator_chart_window です。
#プロパティ indicator_buffers 4
#property indicator_color1 フォレストグリーン
#property indicator_color2 Red(インジケーターカラー2 レッド
#property indicator_color3 ブラック
#property indicator_color4 ブラック
//---- 入力パラメータ
extern int FastClosePeriod=13;
extern int FastCloseShift=0;
extern int FastOpenPeriod=34; extern int FastCloseShift=0; extern int FastOpenPeriod=34;
extern int FastOpenShift=0;
extern int SlowClosePeriod=34;
extern int SlowCloseShift=0;
extern int SlowOpenPeriod=62;
extern int SlowOpenShift=0;
//----インジケータ・バッファ
double ExtBlueBuffer[];
double ExtRedBuffer[];
double ExtDarkVioletBuffer[]; double ExtDarkVioletBuffer[];
double ExtBlackBuffer[];
//+------------------------------------------------------------------+
//| カスタムインジケータ初期化関数
//+------------------------------------------------------------------+
int init()
{
//---- 描画時のラインシフト
SetIndexShift(0,FastCloseShift)を設定します。
SetIndexShift(1,FastOpenShift)を設定します。
SetIndexShift(2,SlowCloseShift)を設定します。
SetIndexShift(3,SlowOpenShift)を設定します。
//---- 最初の位置は描画時にスキップされる
SetIndexDrawBegin(0,FastCloseShift+FastClosePeriod)を設定します。
SetIndexDrawBegin(1,FastOpenShift+FastOpenPeriod)を設定します。
SetIndexDrawBegin(2,SlowCloseShift+SlowClosePeriod); SetIndexDrawBegin(2,SlowCloseShift+SlowClosePeriod);
SetIndexDrawBegin(3,SlowOpenShift+SlowOpenPeriod)を設定します。
//---- 3つの指標バッファのマッピング
SetIndexBuffer(0,ExtBlueBuffer)を設定します。
SetIndexBuffer(1,ExtRedBuffer)を設定します。
SetIndexBuffer(2,ExtDarkVioletBuffer)を設定します。
SetIndexBuffer(3,ExtBlackBuffer)を設定します。
//---- 描画の設定
SetIndexStyle(0,DRAW_HISTOGRAM,0,2)を設定します。
SetIndexStyle(1,DRAW_HISTOGRAM,0,2)を設定します。
SetIndexStyle(2,DRAW_NONE,0,2)を設定します。
SetIndexStyle(3,DRAW_NONE,0,2);
//---- インデックスラベル
SetIndexLabel(0, "FastClose");
SetIndexLabel(1, "FastOpen"); //SetIndexLabel(1, "FastOpen")。
SetIndexLabel(2, "SlowClose"); SetIndexLabel(1, "FastOpen");
SetIndexLabel(3, "SlowOpen"); SetIndexLabel(3, "SlowOpen");
//---- 初期化完了
return(0);
}
//+------------------------------------------------------------------+
//| 9SQUAREDER|9SQUAREDER|9SQUAREDER|9SQUAREDER|トレーダー
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
//エラーの可能性をチェック
if(counted_bars<0) return(-1);
//---- 最後にカウントされたバーが再カウントされる
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- メインループ
for(int i=0; i<limit; i++)
{
//---- SetIndexShift が呼び出されたので ma_shift を 0 にする.
ExtBlueBuffer=iMA(NULL,0,FastClosePeriod,0,MODE_EMA,PRICE_CLOSE,i)となります。
ExtRedBuffer=iMA(NULL,0,FastOpenPeriod,0,MODE_EMA,PRICE_OPEN,i); ExtRedBuffer=iMA(NULL,0,FastOpenPeriod,0,MODE_EMA,PRICE_OPEN,i);
ExtDarkVioletBuffer=iMA(NULL,0,SlowClosePeriod,0,MODE_EMA,PRICE_OPEN,i); ExtDarkVioletBuffer=iMA(NULL,0,SlowClosePeriod,0,MODE_EMA,PRICE_OPEN,i);
ExtBlackBuffer=iMA(NULL,0,SlowOpenPeriod,0,MODE_EMA,PRICE_MEDIAN,i) とします。
}
//----完了
return(0);
はい、どうぞ。 これは本当に素早く作りました、はい、できます。
コーディングの例として、添付のexample.mq4をご覧ください。
また、コメント付きのスクリーンショットが含まれており、RSI値が配列にティックごとに保存されていることがわかります。wolfeさん、こんにちは。
タイマーと努力に感謝します。これを試してみます。![](https://c.mql5.com/forextsd/smiles/teeth_smile.png)
よろしくお願いします。
MSV
ボリンジャーバンド
こんにちは。
誰かがExcelスプレッドシートにボリンジャーバンド計算式(終値で20period dev 2)で私を助けてもらえますか? 事前にありがとうございます。
こんにちは、皆さん!
私のEAでは、「1日に1つの売買注文」だけを開く必要があるのですが、これを行うためのコードを教えてください。
こんにちは!私は私のEAで "1日あたり "1つの売買注文を開く必要があります、お願いします、これを行うためのコードは何ですか?
すべてのクローズド・オーダーをループして、それぞれのシンボルとクローズ時間をチェックする必要があると思います...シンボル()にマッチし、最新のクローズ時間を持つものを取ります。
あるいは、もっと簡単な方法として、TimeDayOfYear関数を使って、シンボルとマジックナンバーが一致する最後のクローズドオーダーをチェックすればよいでしょう。 ただし、今日と同じ年の同じ日でないことを確認してください。
TimeDayOfYearの定義と使用方法については、ヘルプを参照してください。
参考
ラックス