#import "kernel32.dll" int GetUserDefaultLCID()。 int GetLocaleInfoA( int Locale, // ロケール識別子 int LCType, // 情報の種類 string lpLCData, // 情報用バッファのアドレス int cchData // バッファのサイズ ); #インポート
for (n=0; n<StringLen(str); n++){ tempstr=StringSubstr(str, n, StringLen(strfrom)); if (tempstr==strfrom) {. outstr=outstr+strto; n=n+StringLen(strfrom)-1; } else outstr=outstr+StringSubstr(str, n, 1); } return(outstr)です。 }
string NeedTime="9:00";datetime time0=0;//----------------------------------------------------------------------------void start(){if( time0>=StrToTime( NeedTime))return;// если сегодня уже выполняли кодif(TimeCurrent()<=StrToTime( NeedTime))return;// если требуемое время ещё не наступио
time0=TimeCurrent();// иначе запоминаем время// и делаем то что надо// бла бла бла остальной код
をスクリプトではなくExpertにし、Expertのスクリプト関数コードの実行時間を制御する。いよいよ、スクリプトコードを実行します。
このフレーズから、あなたのターミナルは閉じていると理解しました。 私はあなたに答えています - スクリプトは、ターミナル自体を実行することはできません。
書いてある通り、そういう風に理解されるんですね。もし、そういう意味でないのなら、もっと明確に説明してください。
アイデアの価値は? そんなに必要なら、とっくにプロジェにセットしてもらってないだろうし......。それは、あなた個人のためです。
1.スクリプトの内容をコピーします。
2.MetaEditorを使用して新規EAを作成する。
3.スクリプトのコードを挿入する
4.時間帯別作業機能の追加方法と挿入場所(私はプログラマーではありません)
9-00から9-01までのファンクションワークの時間が必要です。
編集するスクリプトコード。 (ご協力いただける皆様に感謝いたします。)
#property copyright "Kim Igor V. aka KimIV"
#プロパティリンク "https://www.mql5.com/go?link=http://www.kimiv.ru/"
#property show_inputs
#import "kernel32.dll"
int GetUserDefaultLCID()。
int GetLocaleInfoA(
int Locale, // ロケール識別子
int LCType, // 情報の種類
string lpLCData, // 情報用バッファのアドレス
int cchData // バッファのサイズ
);
#インポート
//+------ スクリプトの外部パラメータ ---------------------------------------------------------------+
extern bool bCommission = False; //手数料を徴収する。
extern bool bSwap = True; // スワップのアンロード
extern bool bComment = True; // コメントのアンロード
extern bool bMagic = True; // MagicNumberをアンロードする。
// LCTYPE定数
#define LOCALE_SDECIMAL 0x000E // 小数点セパレータに使用される文字。
//+----------------------------------------------------------------------------+
//| スクリプトプログラム起動機能
//+----------------------------------------------------------------------------+
void start() {
int dg, i, k=OrdersHistoryTotal();
文字列 FileName=DoubleToStr(AccountNumber(), 0)+".csv"; st;
FileDelete(FileName)。
st="チケット;オープン時間;タイプ;ロット;アイテム;価格;SL;TP;クローズ時間;価格";
if (bCommission) st=st+";Commission";
if (bSwap) st=st+";スワップ";
st=st+";利益"; if (bSwap) st=st+";Profit;
if (bMagic) st=st+";Magic";
if (bComment) st=st+";コメント";
WritingLineInFile(FileName, st)です。
for (i=0; i<k; i++) {.
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)){
if (OrderType()<2)){。
dg= MarketInfo(OrderSymbol(), MODE_DIGITS)です。
st= DoubleToStr(OrderTicket(), 0)+";";
st=st+TimeToStr(OrderOpenTime(), TIME_DATE|TIME_MINUTES)+";";
st=st+GetNameOP(OrderType())+";";
st=st+DoubleToStrLocale(OrderLots(), 2)+";";
st=st+OrderSymbol()+";";
st=st+DoubleToStrLocale(OrderOpenPrice(), dg)+";";
st=st+DoubleToStrLocale(OrderStopLoss(), dg)+";";
st=st+DoubleToStrLocale(OrderTakeProfit(), dg)+";";
st=st+TimeToStr(OrderCloseTime(), TIME_DATE|TIME_MINUTES)+";";
st=st+DoubleToStrLocale(OrderClosePrice(), dg)+";";
if (bCommission) st=st+DoubleToStrLocale(OrderCommission(), 2)+";";
if (bSwap) st=st+DoubleToStrLocale(OrderSwap(), 2)+";";
st=st+DoubleToStrLocale(OrderProfit(), 2)+";";
if (bMagic) st=st+DoubleToStr(OrderMagicNumber(), 0)+";";
if (bComment) st=st+OrderComment()+";";
WritingLineInFile(FileName, st)です。
}
Comment("Read:",i+1, "から",k);
}
}
Comment("書き込んだファイル:",FileName);
}
//+----------------------------------------------------------------------------+
//| システムで数値を文字列に変換します。
//| 整数部と小数部の区切り文字。
//| パラメータ: |
//| v - double型の数 |.
//| d - 小数点以下の桁数 |.
//+----------------------------------------------------------------------------+
string DoubleToStrLocale(double v, int d) {.
if (d<0) d=0;
if (d>8) d=8;
string se=GetUserLocale(LOCALE_SDECIMAL), st=DoubleToStr(v, d);
if (se!=".") st=StrTran(st, ".", se);
return(st)です。
}
//+----------------------------------------------------------------------------+
//| トレード操作の名前を返す
//| パラメータ: |
//| op - 取引オペレーション識別子
//+----------------------------------------------------------------------------+
文字列 GetNameOP(int op) {
スイッチ(op) {
case OP_BUY : return("買い");
case OP_SELL : return("Sell");
case OP_BUYLIMIT : return("Buy Limit");
case OP_SELLLIMIT : return("Sell Limit");
case OP_BUYSTOP : return("買いストップ");
case OP_SELLSTOP : return("Sell Stop");
default : return("Unknown Operation");
}
}
//+----------------------------------------------------------------------------+
//| ユーザーの地域設定を返します。
//| パラメータ: |
//| LCType - 地域設定のタイプ (LCTYPE定数)|。
//+----------------------------------------------------------------------------+
string GetUserLocale(int LCType) { (文字列)
int loc=GetUserDefaultLCID();
string str=" ";
GetLocaleInfoA(loc, LCType, str, 64)。
return(str)です。
}
//+----------------------------------------------------------------------------+
///代用文字列
//| パラメータ: |
//| str - 置換が行われるテキスト文字列.
//| strfrom - 置換される部分文字列 |.
//| strto - 文字列の置換
//+----------------------------------------------------------------------------+
string StrTran(string str, string strfrom, string strto) {...
int n;
文字列 outstr="", tempstr;
for (n=0; n<StringLen(str); n++){
tempstr=StringSubstr(str, n, StringLen(strfrom));
if (tempstr==strfrom) {.
outstr=outstr+strto;
n=n+StringLen(strfrom)-1;
} else outstr=outstr+StringSubstr(str, n, 1);
}
return(outstr)です。
}
//+----------------------------------------------------------------------------+
//| ファイルに文字列を書き込む ||
//| パラメータ: |
//| FileName - ファイル名 ||.
//テキスト - 文字列|/
//+----------------------------------------------------------------------------+
void WritingLineInFile(string FileName, string text) {.
int file_handle=FileOpen(FileName, FILE_READ|FILE_WRITE, " ");
if (file_handle>0) {.
FileSeek(file_handle, 0, SEEK_END);
FileWrite(file_handle,text)。
FileClose(file_handle)。
}
}
//+----------------------------------------------------------------------------+
バルティック 用
このスレッドはプログラミングを勉強している人のためのものであり、あなたに執筆を依頼するためのものではありません。
%windir% \ fonts
シンプルにしてくれませんか、理解できないんです...。 どのようなフォルダなのか、そもそも何なのか。
можно как-то попроще, я ничего не понял... это что за папка? или что это вообще такое?
実は、「MT4でフォントをどのフォルダに入れるか」という質問も、あまり明確ではありません。ロシア語で説明してください。:)
オペレーティングシステムは、端末にフォントを保存しません。
вообще-то вопрос "в какую папку вставить шрифты в МТ4" тоже не очень понятен.
в терминале никакие шрифты не хранятся. шрифтами занимается операционная система.
よし、オペレーティングシステムに入れてみよう...。
バルティック 用
このスレッドはプログラミングを勉強している人のためのものであり、あなたに執筆を依頼するためのものではありません。
ありがとうございました。
勉強させていただきます :)
チュートリアルの例を使って、簡単なEAを作りました。このEAは、価格が2つのMAで構成されるレンジから外れたときにシグナルを発するはずです。
if (Bid > MA1 || Bid < MA2) // レンジパスのチェック
{
Alert("価格はレンジの外側です");// メッセージ
}.
価格がレンジの上にある場合、Expert Advisorはシグナルを出します。
if (Bid > MA1 && Fact_Up==true) // アップサイドパスをチェック
{
Fact_Dn=true; // MA1より上の価格を報告
Fact_Up=false; // MA1以下の価格は報告しない
Alert("Price is above range.");// Message
}
//-------------------------------------------------------
if (Bid < MA2 && Fact_Dn==true) // Check down pass
{
Fact_Up=true; // MA2以下の価格を報告
Fact_Dn=false; // MA2以上の価格を報告しない
Alert("Price is below range.");// Message
} }.
このメッセージが表示されると、いつ信号を出すのか、信号を出すときと出さないときがあり、まったくわかりません。
Fact_Up==true "が何なのか、なぜそれが必要なのかがわからない。